diff --git a/disk-buffering/src/main/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/mapping/logs/LogRecordDataMapper.java b/disk-buffering/src/main/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/mapping/logs/LogRecordDataMapper.java index 06ff85847..d9cafa4a4 100644 --- a/disk-buffering/src/main/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/mapping/logs/LogRecordDataMapper.java +++ b/disk-buffering/src/main/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/mapping/logs/LogRecordDataMapper.java @@ -64,6 +64,9 @@ private static void addExtrasToProtoBuilder(LogRecordData source, LogRecord.Buil target.trace_id(ByteStringMapper.getInstance().stringToProto(spanContext.getTraceId())); target.dropped_attributes_count( source.getTotalAttributeCount() - source.getAttributes().size()); + if (source.getEventName() != null) { + target.event_name(source.getEventName()); + } } public LogRecordData mapToSdk( @@ -99,6 +102,7 @@ private static void addExtrasToSdkItemBuilder( target.setTotalAttributeCount(source.dropped_attributes_count + attributes.size()); target.setResource(resource); target.setInstrumentationScopeInfo(scopeInfo); + target.setEventName(source.event_name); } private static AnyValue bodyToAnyValue(Value body) { diff --git a/disk-buffering/src/main/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/mapping/logs/models/LogRecordDataImpl.java b/disk-buffering/src/main/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/mapping/logs/models/LogRecordDataImpl.java index d703919a8..2979f96fb 100644 --- a/disk-buffering/src/main/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/mapping/logs/models/LogRecordDataImpl.java +++ b/disk-buffering/src/main/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/mapping/logs/models/LogRecordDataImpl.java @@ -46,6 +46,10 @@ public ExtendedAttributes getExtendedAttributes() { @Nullable public abstract Value getBodyValue(); + @Override + @Nullable + public abstract String getEventName(); + @AutoValue.Builder public abstract static class Builder { public abstract Builder setResource(Resource value); @@ -68,6 +72,8 @@ public abstract static class Builder { public abstract Builder setTotalAttributeCount(Integer value); + public abstract Builder setEventName(String value); + public abstract LogRecordDataImpl build(); } } diff --git a/disk-buffering/src/test/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/mapping/logs/LogRecordDataMapperTest.java b/disk-buffering/src/test/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/mapping/logs/LogRecordDataMapperTest.java index 3eb588b45..0041c61bf 100644 --- a/disk-buffering/src/test/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/mapping/logs/LogRecordDataMapperTest.java +++ b/disk-buffering/src/test/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/mapping/logs/LogRecordDataMapperTest.java @@ -31,6 +31,7 @@ class LogRecordDataMapperTest { .setTimestampEpochNanos(100L) .setObservedTimestampEpochNanos(200L) .setTotalAttributeCount(3) + .setEventName("my.event.name") .build(); @Test diff --git a/disk-buffering/src/test/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/mapping/logs/ProtoLogsDataMapperTest.java b/disk-buffering/src/test/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/mapping/logs/ProtoLogsDataMapperTest.java index 45c3f6e5e..26c73502e 100644 --- a/disk-buffering/src/test/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/mapping/logs/ProtoLogsDataMapperTest.java +++ b/disk-buffering/src/test/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/mapping/logs/ProtoLogsDataMapperTest.java @@ -37,6 +37,7 @@ class ProtoLogsDataMapperTest { .setTimestampEpochNanos(100L) .setObservedTimestampEpochNanos(200L) .setTotalAttributeCount(3) + .setEventName("") .build(); private static final LogRecordData OTHER_LOG_RECORD = @@ -51,6 +52,7 @@ class ProtoLogsDataMapperTest { .setTimestampEpochNanos(100L) .setObservedTimestampEpochNanos(200L) .setTotalAttributeCount(3) + .setEventName("") .build(); private static final LogRecordData LOG_RECORD_WITH_DIFFERENT_SCOPE_SAME_RESOURCE = @@ -65,6 +67,7 @@ class ProtoLogsDataMapperTest { .setTimestampEpochNanos(100L) .setObservedTimestampEpochNanos(200L) .setTotalAttributeCount(3) + .setEventName("") .build(); private static final LogRecordData LOG_RECORD_WITH_DIFFERENT_RESOURCE = @@ -79,6 +82,22 @@ class ProtoLogsDataMapperTest { .setTimestampEpochNanos(100L) .setObservedTimestampEpochNanos(200L) .setTotalAttributeCount(3) + .setEventName("") + .build(); + + private static final LogRecordData LOG_RECORD_WITH_EVENT_NAME = + LogRecordDataImpl.builder() + .setResource(TestData.RESOURCE_FULL) + .setSpanContext(TestData.SPAN_CONTEXT) + .setInstrumentationScopeInfo(TestData.INSTRUMENTATION_SCOPE_INFO_FULL) + .setAttributes(TestData.ATTRIBUTES) + .setBodyValue(Value.of("Log body")) + .setSeverity(Severity.DEBUG) + .setSeverityText("Log severity text") + .setTimestampEpochNanos(100L) + .setObservedTimestampEpochNanos(200L) + .setTotalAttributeCount(3) + .setEventName("test.event.name") .build(); @Test @@ -160,6 +179,19 @@ void verifyMultipleLogsWithDifferentResource() { assertThat(mapFromProto(proto)).containsExactlyInAnyOrderElementsOf(signals); } + @Test + void verifyLogWithEventName() { + List signals = Collections.singletonList(LOG_RECORD_WITH_EVENT_NAME); + + LogsData result = mapToProto(signals); + + List resourceLogsList = result.resource_logs; + LogRecord firstLog = resourceLogsList.get(0).scope_logs.get(0).log_records.get(0); + + assertEquals("test.event.name", firstLog.event_name); + assertThat(mapFromProto(result)).containsExactlyInAnyOrderElementsOf(signals); + } + private static LogsData mapToProto(Collection signals) { return ProtoLogsDataMapper.getInstance().toProto(signals); } diff --git a/disk-buffering/src/test/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/serializers/LogRecordDataSerializerTest.java b/disk-buffering/src/test/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/serializers/LogRecordDataSerializerTest.java index 1b52bb219..ec3212001 100644 --- a/disk-buffering/src/test/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/serializers/LogRecordDataSerializerTest.java +++ b/disk-buffering/src/test/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/serializers/LogRecordDataSerializerTest.java @@ -28,9 +28,10 @@ class LogRecordDataSerializerTest extends BaseSignalSerializerTest