Skip to content

Commit 2ebf83b

Browse files
authored
Bump to latest OTEL SDK. (#148)
1 parent 338cb9e commit 2ebf83b

File tree

9 files changed

+56
-27
lines changed

9 files changed

+56
-27
lines changed

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,8 @@ subprojects {
109109
googleCloudVersion = '2.0.5'
110110
googleTraceVersion = '2.0.0'
111111
cloudMonitoringVersion = '3.0.0'
112-
openTelemetryVersion = '1.12.0'
113-
openTelemetryInstrumentationVersion = '1.12.1'
112+
openTelemetryVersion = '1.13.0'
113+
openTelemetryInstrumentationVersion = '1.13.0'
114114
junitVersion = '4.13'
115115
mockitoVersion = '3.5.10'
116116
pubSubVersion = '1.111.2'

e2e-test-server/src/main/java/com/google/cloud/opentelemetry/endtoend/ScenarioHandlerManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,8 @@ private Response detectResource(Request request) {
8787
Resource resource =
8888
AutoConfiguredOpenTelemetrySdk.builder()
8989
.setResultAsGlobal(false)
90-
.addPropertiesSupplier(() -> Map.of("otel.traces.exporter", "none"))
90+
.addPropertiesSupplier(
91+
() -> Map.of("otel.traces.exporter", "none", "otel.metrics.exporter", "none"))
9192
.registerShutdownHook(false)
9293
.build()
9394
.getResource();

examples/metrics/src/main/java/com/google/cloud/opentelemetry/example/metrics/MetricsExporterExample.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ private static void setupMetricExporter() {
3737
.registerMetricReader(
3838
PeriodicMetricReader.builder(metricExporter)
3939
.setInterval(java.time.Duration.ofSeconds(30))
40-
.newMetricReaderFactory())
40+
.build())
4141
.build();
4242

4343
METER =

exporters/metrics/src/main/java/com/google/cloud/opentelemetry/metric/MetricExporter.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import com.google.monitoring.v3.TimeSeries;
3232
import io.opentelemetry.api.common.Attributes;
3333
import io.opentelemetry.sdk.common.CompletableResultCode;
34+
import io.opentelemetry.sdk.metrics.InstrumentType;
3435
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
3536
import io.opentelemetry.sdk.metrics.data.DoublePointData;
3637
import io.opentelemetry.sdk.metrics.data.HistogramPointData;
@@ -128,6 +129,11 @@ private void exportDescriptor(MetricDescriptor descriptor) {
128129
.build());
129130
}
130131

132+
@Override
133+
public AggregationTemporality getAggregationTemporality(InstrumentType instrumentType) {
134+
return AggregationTemporality.CUMULATIVE;
135+
}
136+
131137
@Override
132138
public CompletableResultCode export(Collection<MetricData> metrics) {
133139
// General Algorithm for export:
@@ -228,11 +234,6 @@ public CompletableResultCode shutdown() {
228234
return CompletableResultCode.ofSuccess();
229235
}
230236

231-
@Override
232-
public AggregationTemporality getPreferredTemporality() {
233-
return AggregationTemporality.CUMULATIVE;
234-
}
235-
236237
// TODO: Move this to its own class.
237238
static class MetricWithLabels {
238239

exporters/metrics/src/main/java/com/google/cloud/opentelemetry/metric/MetricTranslator.java

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,11 @@
2929
import com.google.protobuf.Timestamp;
3030
import io.opentelemetry.api.common.AttributeKey;
3131
import io.opentelemetry.api.common.Attributes;
32+
import io.opentelemetry.sdk.metrics.data.DoubleExemplarData;
3233
import io.opentelemetry.sdk.metrics.data.ExemplarData;
3334
import io.opentelemetry.sdk.metrics.data.HistogramData;
3435
import io.opentelemetry.sdk.metrics.data.HistogramPointData;
36+
import io.opentelemetry.sdk.metrics.data.LongExemplarData;
3537
import io.opentelemetry.sdk.metrics.data.MetricData;
3638
import io.opentelemetry.sdk.metrics.data.MetricDataType;
3739
import io.opentelemetry.sdk.metrics.data.SumData;
@@ -249,15 +251,26 @@ static Distribution.Builder mapDistribution(HistogramPointData point, String pro
249251
}
250252

251253
private static Distribution.Exemplar mapExemplar(ExemplarData exemplar, String projectId) {
254+
double value = 0;
255+
if (exemplar instanceof DoubleExemplarData) {
256+
value = ((DoubleExemplarData) exemplar).getValue();
257+
} else if (exemplar instanceof LongExemplarData) {
258+
value = ((LongExemplarData) exemplar).getValue();
259+
}
260+
252261
Distribution.Exemplar.Builder exemplarBuilder =
253262
Distribution.Exemplar.newBuilder()
254-
.setValue(exemplar.getValueAsDouble())
263+
.setValue(value)
255264
.setTimestamp(mapTimestamp(exemplar.getEpochNanos()));
256-
if (exemplar.getSpanId() != null && exemplar.getTraceId() != null) {
265+
if (exemplar.getSpanContext().isValid()) {
257266
exemplarBuilder.addAttachments(
258267
Any.pack(
259268
SpanContext.newBuilder()
260-
.setSpanName(makeSpanName(projectId, exemplar.getTraceId(), exemplar.getSpanId()))
269+
.setSpanName(
270+
makeSpanName(
271+
projectId,
272+
exemplar.getSpanContext().getTraceId(),
273+
exemplar.getSpanContext().getSpanId()))
261274
.build()));
262275
}
263276
if (!exemplar.getFilteredAttributes().isEmpty()) {

exporters/metrics/src/test/java/com/google/cloud/opentelemetry/metric/FakeData.java

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,19 @@
2626
import io.opentelemetry.api.trace.SpanContext;
2727
import io.opentelemetry.api.trace.TraceFlags;
2828
import io.opentelemetry.api.trace.TraceState;
29-
import io.opentelemetry.sdk.common.InstrumentationLibraryInfo;
29+
import io.opentelemetry.sdk.common.InstrumentationScopeInfo;
3030
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
31-
import io.opentelemetry.sdk.metrics.data.DoubleExemplarData;
3231
import io.opentelemetry.sdk.metrics.data.DoublePointData;
3332
import io.opentelemetry.sdk.metrics.data.HistogramPointData;
3433
import io.opentelemetry.sdk.metrics.data.LongPointData;
3534
import io.opentelemetry.sdk.metrics.data.MetricData;
3635
import io.opentelemetry.sdk.metrics.data.SummaryPointData;
36+
import io.opentelemetry.sdk.metrics.internal.data.ImmutableDoubleExemplarData;
37+
import io.opentelemetry.sdk.metrics.internal.data.ImmutableDoublePointData;
3738
import io.opentelemetry.sdk.metrics.internal.data.ImmutableHistogramData;
3839
import io.opentelemetry.sdk.metrics.internal.data.ImmutableHistogramPointData;
40+
import io.opentelemetry.sdk.metrics.internal.data.ImmutableLongPointData;
41+
import io.opentelemetry.sdk.metrics.internal.data.ImmutableMetricData;
3942
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
4043
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSummaryPointData;
4144
import io.opentelemetry.sdk.resources.Resource;
@@ -73,18 +76,18 @@ public class FakeData {
7376

7477
static final Resource aGceResource = Resource.create(someGceAttributes);
7578

76-
static final InstrumentationLibraryInfo anInstrumentationLibraryInfo =
77-
InstrumentationLibraryInfo.create("instrumentName", "0");
79+
static final InstrumentationScopeInfo anInstrumentationLibraryInfo =
80+
InstrumentationScopeInfo.create("instrumentName", "0", "");
7881

7982
static final LongPointData aLongPoint =
80-
LongPointData.create(
83+
ImmutableLongPointData.create(
8184
1599030114 * NANO_PER_SECOND,
8285
1599031814 * NANO_PER_SECOND,
8386
Attributes.of(stringKey("label1"), "value1", booleanKey("label2"), false),
8487
32L);
8588

8689
static final DoublePointData aDoublePoint =
87-
DoublePointData.create(
90+
ImmutableDoublePointData.create(
8891
1599030114 * NANO_PER_SECOND,
8992
1599031814 * NANO_PER_SECOND,
9093
Attributes.of(stringKey("label1"), "value1", booleanKey("label2"), false),
@@ -104,7 +107,7 @@ public class FakeData {
104107
// and should be changed when the following issue is resolved:
105108
// https://github.com/googleinterns/cloud-operations-api-mock/issues/56
106109
static final MetricData aMetricData =
107-
MetricData.createLongSum(
110+
ImmutableMetricData.createLongSum(
108111
aGceResource,
109112
anInstrumentationLibraryInfo,
110113
"opentelemetry/name",
@@ -123,14 +126,16 @@ public class FakeData {
123126
1,
124127
Attributes.builder().put("test", "one").build(),
125128
3d,
129+
1d, // min
130+
2d, // max
126131
Arrays.asList(1.0),
127132
Arrays.asList(1L, 2L),
128133
Arrays.asList(
129-
DoubleExemplarData.create(
134+
ImmutableDoubleExemplarData.create(
130135
Attributes.builder().put("test2", "two").build(), 2, aSpanContext, 3.0)));
131136

132137
static final MetricData aHistogram =
133-
MetricData.createDoubleHistogram(
138+
ImmutableMetricData.createDoubleHistogram(
134139
aGceResource,
135140
anInstrumentationLibraryInfo,
136141
"histogram",

exporters/metrics/src/test/java/com/google/cloud/opentelemetry/metric/MetricExporterTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@
6363
import com.google.protobuf.Timestamp;
6464
import io.opentelemetry.sdk.common.CompletableResultCode;
6565
import io.opentelemetry.sdk.metrics.data.MetricData;
66+
import io.opentelemetry.sdk.metrics.internal.data.ImmutableMetricData;
6667
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSummaryData;
6768
import java.io.IOException;
6869
import java.util.ArrayList;
@@ -306,7 +307,7 @@ public void testExportWithNonSupportedMetricTypeReturnsFailure() {
306307
aProjectId, mockClient, MetricDescriptorStrategy.ALWAYS_SEND);
307308

308309
MetricData metricData =
309-
MetricData.createDoubleSummary(
310+
ImmutableMetricData.createDoubleSummary(
310311
aGceResource,
311312
anInstrumentationLibraryInfo,
312313
"Metric Name",

exporters/metrics/src/test/java/com/google/cloud/opentelemetry/metric/MetricTranslatorTest.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
import io.opentelemetry.sdk.metrics.data.AggregationTemporality;
4646
import io.opentelemetry.sdk.metrics.data.MetricData;
4747
import io.opentelemetry.sdk.metrics.internal.data.ImmutableHistogramData;
48+
import io.opentelemetry.sdk.metrics.internal.data.ImmutableMetricData;
4849
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSumData;
4950
import io.opentelemetry.sdk.metrics.internal.data.ImmutableSummaryData;
5051
import org.junit.Test;
@@ -102,7 +103,7 @@ public void testMapMetricDescriptorNonMonotonicSumIsGauage() {
102103
String description = "Metric Description";
103104
String unit = "ns";
104105
MetricData metricData =
105-
MetricData.createLongSum(
106+
ImmutableMetricData.createLongSum(
106107
aGceResource,
107108
anInstrumentationLibraryInfo,
108109
name,
@@ -132,7 +133,7 @@ public void testMapMetricDescriptorHistogramIsDistribution() {
132133
String description = "Metric Description";
133134
String unit = "ns";
134135
MetricData metricData =
135-
MetricData.createDoubleHistogram(
136+
ImmutableMetricData.createDoubleHistogram(
136137
aGceResource,
137138
anInstrumentationLibraryInfo,
138139
name,
@@ -161,7 +162,7 @@ public void testMapMetricDescriptorWithInvalidMetricKindReturnsNull() {
161162
String description = "Metric Description";
162163
String unit = "ns";
163164
MetricData metricData =
164-
MetricData.createDoubleSummary(
165+
ImmutableMetricData.createDoubleSummary(
165166
aGceResource,
166167
anInstrumentationLibraryInfo,
167168
name,
@@ -180,7 +181,7 @@ public void testMapMetricDescriptorWithDeltaSumReturnsNull() {
180181
String description = "Metric Description";
181182
String unit = "ns";
182183
MetricData metricData =
183-
MetricData.createDoubleSum(
184+
ImmutableMetricData.createDoubleSum(
184185
aGceResource,
185186
anInstrumentationLibraryInfo,
186187
name,

propagators/gcp/src/test/java/com/google/cloud/opentelemetry/propagators/AutoConfigureTest.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,14 @@ private static ContextPropagators findsWithAutoConfigure(String propagator) {
6464
.setResultAsGlobal(false)
6565
.registerShutdownHook(false)
6666
.addPropertiesSupplier(
67-
() -> Map.of("otel.propagators", propagator, "otel.traces.exporter", "none"))
67+
() ->
68+
Map.of(
69+
"otel.propagators",
70+
propagator,
71+
"otel.traces.exporter",
72+
"none",
73+
"otel.metrics.exporter",
74+
"none"))
6875
.build();
6976
return sdk.getOpenTelemetrySdk().getPropagators();
7077
}

0 commit comments

Comments
 (0)