Skip to content

Commit 791df4b

Browse files
renovate[bot]jack-berg
authored andcommitted
Update dependency io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha to v2.8.0-alpha (open-telemetry#1456)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Jack Berg <[email protected]>
1 parent 19357e6 commit 791df4b

File tree

8 files changed

+78
-31
lines changed

8 files changed

+78
-31
lines changed

dependencyManagement/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ data class DependencySet(val group: String, val version: String, val modules: Li
77
val dependencyVersions = hashMapOf<String, String>()
88
rootProject.extra["versions"] = dependencyVersions
99

10-
val otelInstrumentationVersion = "2.7.0-alpha"
10+
val otelInstrumentationVersion = "2.8.0-alpha"
1111

1212
val DEPENDENCY_BOMS = listOf(
1313
"com.fasterxml.jackson:jackson-bom:2.17.2",

disk-buffering/src/main/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/mapping/logs/LogRecordDataMapper.java

+29-9
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@
77

88
import static io.opentelemetry.contrib.disk.buffering.internal.serialization.mapping.spans.SpanDataMapper.flagsFromInt;
99
import static io.opentelemetry.contrib.disk.buffering.internal.utils.ProtobufTools.toUnsignedInt;
10+
import static java.util.stream.Collectors.toList;
1011

1112
import io.opentelemetry.api.common.Attributes;
13+
import io.opentelemetry.api.common.Value;
1214
import io.opentelemetry.api.logs.Severity;
1315
import io.opentelemetry.api.trace.SpanContext;
1416
import io.opentelemetry.api.trace.TraceState;
@@ -19,9 +21,9 @@
1921
import io.opentelemetry.proto.logs.v1.LogRecord;
2022
import io.opentelemetry.proto.logs.v1.SeverityNumber;
2123
import io.opentelemetry.sdk.common.InstrumentationScopeInfo;
22-
import io.opentelemetry.sdk.logs.data.Body;
2324
import io.opentelemetry.sdk.logs.data.LogRecordData;
2425
import io.opentelemetry.sdk.resources.Resource;
26+
import java.util.stream.Collectors;
2527

2628
public final class LogRecordDataMapper {
2729

@@ -42,8 +44,8 @@ public LogRecord mapToProto(LogRecordData source) {
4244
if (source.getSeverityText() != null) {
4345
logRecord.severity_text(source.getSeverityText());
4446
}
45-
if (source.getBody() != null) {
46-
logRecord.body(bodyToAnyValue(source.getBody()));
47+
if (source.getBodyValue() != null) {
48+
logRecord.body(bodyToAnyValue(source.getBodyValue()));
4749
}
4850

4951
byte flags = source.getSpanContext().getTraceFlags().asByte();
@@ -73,7 +75,7 @@ public LogRecordData mapToSdk(
7375
logRecordData.setSeverity(severityNumberToSdk(source.severity_number));
7476
logRecordData.setSeverityText(source.severity_text);
7577
if (source.body != null) {
76-
logRecordData.setBody(anyValueToBody(source.body));
78+
logRecordData.setBodyValue(anyValueToBody(source.body));
7779
}
7880

7981
addExtrasToSdkItemBuilder(source, logRecordData, resource, scopeInfo);
@@ -99,20 +101,38 @@ private static void addExtrasToSdkItemBuilder(
99101
target.setInstrumentationScopeInfo(scopeInfo);
100102
}
101103

102-
private static AnyValue bodyToAnyValue(Body body) {
104+
private static AnyValue bodyToAnyValue(Value<?> body) {
103105
return new AnyValue.Builder().string_value(body.asString()).build();
104106
}
105107

106108
private static SeverityNumber severityToProto(Severity severity) {
107109
return SeverityNumber.fromValue(severity.getSeverityNumber());
108110
}
109111

110-
private static Body anyValueToBody(AnyValue source) {
112+
private static Value<?> anyValueToBody(AnyValue source) {
111113
if (source.string_value != null) {
112-
return Body.string(source.string_value);
113-
} else {
114-
return Body.empty();
114+
return Value.of(source.string_value);
115+
} else if (source.int_value != null) {
116+
return Value.of(source.int_value);
117+
} else if (source.double_value != null) {
118+
return Value.of(source.double_value);
119+
} else if (source.bool_value != null) {
120+
return Value.of(source.bool_value);
121+
} else if (source.bytes_value != null) {
122+
return Value.of(source.bytes_value.toByteArray());
123+
} else if (source.kvlist_value != null) {
124+
return Value.of(
125+
source.kvlist_value.values.stream()
126+
.collect(
127+
Collectors.toMap(
128+
keyValue -> keyValue.key, keyValue -> anyValueToBody(keyValue.value))));
129+
} else if (source.array_value != null) {
130+
return Value.of(
131+
source.array_value.values.stream()
132+
.map(LogRecordDataMapper::anyValueToBody)
133+
.collect(toList()));
115134
}
135+
throw new IllegalArgumentException("Unrecognized AnyValue type");
116136
}
117137

118138
private static Severity severityNumberToSdk(SeverityNumber source) {

disk-buffering/src/main/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/mapping/logs/models/LogRecordDataImpl.java

+27-2
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@
66
package io.opentelemetry.contrib.disk.buffering.internal.serialization.mapping.logs.models;
77

88
import com.google.auto.value.AutoValue;
9+
import com.google.errorprone.annotations.CanIgnoreReturnValue;
910
import io.opentelemetry.api.common.Attributes;
11+
import io.opentelemetry.api.common.Value;
1012
import io.opentelemetry.api.logs.Severity;
1113
import io.opentelemetry.api.trace.SpanContext;
1214
import io.opentelemetry.sdk.common.InstrumentationScopeInfo;
13-
import io.opentelemetry.sdk.logs.data.Body;
1415
import io.opentelemetry.sdk.logs.data.LogRecordData;
1516
import io.opentelemetry.sdk.resources.Resource;
17+
import javax.annotation.Nullable;
1618

1719
@AutoValue
1820
public abstract class LogRecordDataImpl implements LogRecordData {
@@ -21,6 +23,18 @@ public static Builder builder() {
2123
return new AutoValue_LogRecordDataImpl.Builder();
2224
}
2325

26+
@Deprecated
27+
public io.opentelemetry.sdk.logs.data.Body getBody() {
28+
Value<?> valueBody = getBodyValue();
29+
return valueBody == null
30+
? io.opentelemetry.sdk.logs.data.Body.empty()
31+
: io.opentelemetry.sdk.logs.data.Body.string(valueBody.asString());
32+
}
33+
34+
@Override
35+
@Nullable
36+
public abstract Value<?> getBodyValue();
37+
2438
@AutoValue.Builder
2539
public abstract static class Builder {
2640
public abstract Builder setResource(Resource value);
@@ -37,7 +51,18 @@ public abstract static class Builder {
3751

3852
public abstract Builder setSeverityText(String value);
3953

40-
public abstract Builder setBody(Body value);
54+
@Deprecated
55+
@CanIgnoreReturnValue
56+
public Builder setBody(io.opentelemetry.sdk.logs.data.Body body) {
57+
if (body.getType() == io.opentelemetry.sdk.logs.data.Body.Type.STRING) {
58+
setBodyValue(Value.of(body.asString()));
59+
} else if (body.getType() == io.opentelemetry.sdk.logs.data.Body.Type.EMPTY) {
60+
setBodyValue(null);
61+
}
62+
return this;
63+
}
64+
65+
public abstract Builder setBodyValue(@Nullable Value<?> value);
4166

4267
public abstract Builder setAttributes(Attributes value);
4368

disk-buffering/src/test/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/mapping/logs/LogRecordDataMapperTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77

88
import static org.junit.jupiter.api.Assertions.assertEquals;
99

10+
import io.opentelemetry.api.common.Value;
1011
import io.opentelemetry.api.logs.Severity;
1112
import io.opentelemetry.contrib.disk.buffering.internal.serialization.mapping.logs.models.LogRecordDataImpl;
1213
import io.opentelemetry.contrib.disk.buffering.testutils.TestData;
1314
import io.opentelemetry.proto.logs.v1.LogRecord;
1415
import io.opentelemetry.sdk.common.InstrumentationScopeInfo;
15-
import io.opentelemetry.sdk.logs.data.Body;
1616
import io.opentelemetry.sdk.logs.data.LogRecordData;
1717
import io.opentelemetry.sdk.resources.Resource;
1818
import org.junit.jupiter.api.Test;
@@ -25,7 +25,7 @@ class LogRecordDataMapperTest {
2525
.setSpanContext(TestData.SPAN_CONTEXT)
2626
.setInstrumentationScopeInfo(TestData.INSTRUMENTATION_SCOPE_INFO_FULL)
2727
.setAttributes(TestData.ATTRIBUTES)
28-
.setBody(Body.string("Log body"))
28+
.setBodyValue(Value.of("Log body"))
2929
.setSeverity(Severity.DEBUG)
3030
.setSeverityText("Log severity text")
3131
.setTimestampEpochNanos(100L)

disk-buffering/src/test/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/mapping/logs/ProtoLogsDataMapperTest.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88
import static org.assertj.core.api.Assertions.assertThat;
99
import static org.junit.jupiter.api.Assertions.assertEquals;
1010

11+
import io.opentelemetry.api.common.Value;
1112
import io.opentelemetry.api.logs.Severity;
1213
import io.opentelemetry.contrib.disk.buffering.internal.serialization.mapping.logs.models.LogRecordDataImpl;
1314
import io.opentelemetry.contrib.disk.buffering.testutils.TestData;
1415
import io.opentelemetry.proto.logs.v1.LogRecord;
1516
import io.opentelemetry.proto.logs.v1.LogsData;
1617
import io.opentelemetry.proto.logs.v1.ResourceLogs;
1718
import io.opentelemetry.proto.logs.v1.ScopeLogs;
18-
import io.opentelemetry.sdk.logs.data.Body;
1919
import io.opentelemetry.sdk.logs.data.LogRecordData;
2020
import java.util.Arrays;
2121
import java.util.Collection;
@@ -31,7 +31,7 @@ class ProtoLogsDataMapperTest {
3131
.setSpanContext(TestData.SPAN_CONTEXT)
3232
.setInstrumentationScopeInfo(TestData.INSTRUMENTATION_SCOPE_INFO_FULL)
3333
.setAttributes(TestData.ATTRIBUTES)
34-
.setBody(Body.string("Log body"))
34+
.setBodyValue(Value.of("Log body"))
3535
.setSeverity(Severity.DEBUG)
3636
.setSeverityText("Log severity text")
3737
.setTimestampEpochNanos(100L)
@@ -45,7 +45,7 @@ class ProtoLogsDataMapperTest {
4545
.setSpanContext(TestData.SPAN_CONTEXT)
4646
.setInstrumentationScopeInfo(TestData.INSTRUMENTATION_SCOPE_INFO_FULL)
4747
.setAttributes(TestData.ATTRIBUTES)
48-
.setBody(Body.string("Other log body"))
48+
.setBodyValue(Value.of("Other log body"))
4949
.setSeverity(Severity.DEBUG)
5050
.setSeverityText("Log severity text")
5151
.setTimestampEpochNanos(100L)
@@ -59,7 +59,7 @@ class ProtoLogsDataMapperTest {
5959
.setSpanContext(TestData.SPAN_CONTEXT)
6060
.setInstrumentationScopeInfo(TestData.INSTRUMENTATION_SCOPE_INFO_WITHOUT_VERSION)
6161
.setAttributes(TestData.ATTRIBUTES)
62-
.setBody(Body.string("Same resource other scope log"))
62+
.setBodyValue(Value.of("Same resource other scope log"))
6363
.setSeverity(Severity.DEBUG)
6464
.setSeverityText("Log severity text")
6565
.setTimestampEpochNanos(100L)
@@ -73,7 +73,7 @@ class ProtoLogsDataMapperTest {
7373
.setSpanContext(TestData.SPAN_CONTEXT)
7474
.setInstrumentationScopeInfo(TestData.INSTRUMENTATION_SCOPE_INFO_WITHOUT_VERSION)
7575
.setAttributes(TestData.ATTRIBUTES)
76-
.setBody(Body.string("Different resource log"))
76+
.setBodyValue(Value.of("Different resource log"))
7777
.setSeverity(Severity.DEBUG)
7878
.setSeverityText("Log severity text")
7979
.setTimestampEpochNanos(100L)

disk-buffering/src/test/java/io/opentelemetry/contrib/disk/buffering/internal/serialization/serializers/LogRecordDataSerializerTest.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
package io.opentelemetry.contrib.disk.buffering.internal.serialization.serializers;
77

88
import io.opentelemetry.api.common.Attributes;
9+
import io.opentelemetry.api.common.Value;
910
import io.opentelemetry.api.logs.Severity;
1011
import io.opentelemetry.contrib.disk.buffering.internal.serialization.deserializers.SignalDeserializer;
1112
import io.opentelemetry.contrib.disk.buffering.internal.serialization.mapping.logs.models.LogRecordDataImpl;
1213
import io.opentelemetry.contrib.disk.buffering.testutils.BaseSignalSerializerTest;
1314
import io.opentelemetry.contrib.disk.buffering.testutils.TestData;
14-
import io.opentelemetry.sdk.logs.data.Body;
1515
import io.opentelemetry.sdk.logs.data.LogRecordData;
1616
import org.junit.jupiter.api.Test;
1717

@@ -22,7 +22,7 @@ class LogRecordDataSerializerTest extends BaseSignalSerializerTest<LogRecordData
2222
.setSpanContext(TestData.SPAN_CONTEXT)
2323
.setInstrumentationScopeInfo(TestData.INSTRUMENTATION_SCOPE_INFO_FULL)
2424
.setAttributes(TestData.ATTRIBUTES)
25-
.setBody(Body.string("Log body"))
25+
.setBodyValue(Value.of("Log body"))
2626
.setSeverity(Severity.DEBUG)
2727
.setSeverityText("Log severity text")
2828
.setTimestampEpochNanos(100L)
@@ -36,7 +36,7 @@ class LogRecordDataSerializerTest extends BaseSignalSerializerTest<LogRecordData
3636
.setSpanContext(TestData.SPAN_CONTEXT)
3737
.setInstrumentationScopeInfo(TestData.INSTRUMENTATION_SCOPE_INFO_FULL)
3838
.setAttributes(Attributes.empty())
39-
.setBody(Body.string("Log body"))
39+
.setBodyValue(Value.of("Log body"))
4040
.setSeverity(Severity.DEBUG)
4141
.setSeverityText("")
4242
.setTimestampEpochNanos(100L)

disk-buffering/src/test/java/io/opentelemetry/contrib/disk/buffering/internal/storage/files/ReadableFileTest.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import static org.mockito.Mockito.mock;
1717
import static org.mockito.Mockito.when;
1818

19+
import io.opentelemetry.api.common.Value;
1920
import io.opentelemetry.api.logs.Severity;
2021
import io.opentelemetry.contrib.disk.buffering.internal.files.TemporaryFileProvider;
2122
import io.opentelemetry.contrib.disk.buffering.internal.serialization.deserializers.SignalDeserializer;
@@ -24,7 +25,6 @@
2425
import io.opentelemetry.contrib.disk.buffering.internal.storage.responses.ReadableResult;
2526
import io.opentelemetry.contrib.disk.buffering.testutils.TestData;
2627
import io.opentelemetry.sdk.common.Clock;
27-
import io.opentelemetry.sdk.logs.data.Body;
2828
import io.opentelemetry.sdk.logs.data.LogRecordData;
2929
import java.io.File;
3030
import java.io.FileOutputStream;
@@ -53,7 +53,7 @@ class ReadableFileTest {
5353
.setSpanContext(TestData.SPAN_CONTEXT)
5454
.setInstrumentationScopeInfo(TestData.INSTRUMENTATION_SCOPE_INFO_FULL)
5555
.setAttributes(TestData.ATTRIBUTES)
56-
.setBody(Body.string("First log body"))
56+
.setBodyValue(Value.of("First log body"))
5757
.setSeverity(Severity.DEBUG)
5858
.setSeverityText("Log severity text")
5959
.setTimestampEpochNanos(100L)
@@ -67,7 +67,7 @@ class ReadableFileTest {
6767
.setSpanContext(TestData.SPAN_CONTEXT)
6868
.setInstrumentationScopeInfo(TestData.INSTRUMENTATION_SCOPE_INFO_FULL)
6969
.setAttributes(TestData.ATTRIBUTES)
70-
.setBody(Body.string("Second log body"))
70+
.setBodyValue(Value.of("Second log body"))
7171
.setSeverity(Severity.DEBUG)
7272
.setSeverityText("Log severity text")
7373
.setTimestampEpochNanos(100L)
@@ -81,7 +81,7 @@ class ReadableFileTest {
8181
.setSpanContext(TestData.SPAN_CONTEXT)
8282
.setInstrumentationScopeInfo(TestData.INSTRUMENTATION_SCOPE_INFO_FULL)
8383
.setAttributes(TestData.ATTRIBUTES)
84-
.setBody(Body.string("Third log body"))
84+
.setBodyValue(Value.of("Third log body"))
8585
.setSeverity(Severity.DEBUG)
8686
.setSeverityText("Log severity text")
8787
.setTimestampEpochNanos(100L)

processors/src/test/java/io/opentelemetry/contrib/interceptor/InterceptableLogRecordExporterTest.java

+7-5
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,19 @@
1010
import io.opentelemetry.api.common.AttributeKey;
1111
import io.opentelemetry.api.common.Attributes;
1212
import io.opentelemetry.api.common.AttributesBuilder;
13+
import io.opentelemetry.api.common.Value;
1314
import io.opentelemetry.api.logs.Logger;
1415
import io.opentelemetry.api.logs.Severity;
1516
import io.opentelemetry.api.trace.SpanContext;
1617
import io.opentelemetry.contrib.interceptor.common.ComposableInterceptor;
1718
import io.opentelemetry.sdk.common.InstrumentationScopeInfo;
1819
import io.opentelemetry.sdk.logs.SdkLoggerProvider;
19-
import io.opentelemetry.sdk.logs.data.Body;
2020
import io.opentelemetry.sdk.logs.data.LogRecordData;
2121
import io.opentelemetry.sdk.logs.export.SimpleLogRecordProcessor;
2222
import io.opentelemetry.sdk.resources.Resource;
2323
import io.opentelemetry.sdk.testing.exporter.InMemoryLogRecordExporter;
2424
import java.util.List;
25+
import java.util.Objects;
2526
import javax.annotation.Nullable;
2627
import org.junit.jupiter.api.BeforeEach;
2728
import org.junit.jupiter.api.Test;
@@ -74,7 +75,7 @@ void verifyLogModification() {
7475
void verifyLogFiltering() {
7576
interceptor.add(
7677
item -> {
77-
if (item.getBody().asString().contains("deleted")) {
78+
if (Objects.requireNonNull(item.getBodyValue()).asString().contains("deleted")) {
7879
return null;
7980
}
8081
return item;
@@ -87,8 +88,8 @@ void verifyLogFiltering() {
8788
List<LogRecordData> finishedLogRecordItems =
8889
memoryLogRecordExporter.getFinishedLogRecordItems();
8990
assertEquals(2, finishedLogRecordItems.size());
90-
assertEquals("One log", finishedLogRecordItems.get(0).getBody().asString());
91-
assertEquals("Another log", finishedLogRecordItems.get(1).getBody().asString());
91+
assertEquals(Value.of("One log"), finishedLogRecordItems.get(0).getBodyValue());
92+
assertEquals(Value.of("Another log"), finishedLogRecordItems.get(1).getBodyValue());
9293
}
9394

9495
private static class ModifiableLogRecordData implements LogRecordData {
@@ -136,7 +137,8 @@ public String getSeverityText() {
136137
}
137138

138139
@Override
139-
public Body getBody() {
140+
@SuppressWarnings("deprecation") // implement deprecated method
141+
public io.opentelemetry.sdk.logs.data.Body getBody() {
140142
return delegate.getBody();
141143
}
142144

0 commit comments

Comments
 (0)