From a9da20f831d215f6653c567946d405d2e0f90971 Mon Sep 17 00:00:00 2001
From: jack-berg <34418638+jack-berg@users.noreply.github.com>
Date: Fri, 13 Oct 2023 10:50:12 -0500
Subject: [PATCH] Cleanup opencensus shim (#5858)
---
.../{internal/metrics => }/MetricAdapter.java | 13 +-
.../OpenCensusMetricProducer.java | 3 +-
.../OpenTelemetryContextManager.java | 1 +
.../opencensusshim/OpenTelemetryCtx.java | 2 +-
.../OpenTelemetryMetricsExporter.java | 83 ---------
.../OpenTelemetryNoRecordEventsSpanImpl.java | 3 +-
...OpenTelemetryPropagationComponentImpl.java | 2 +-
.../OpenTelemetrySpanBuilderImpl.java | 48 ++---
.../OpenTelemetryTextFormatImpl.java | 2 +-
.../OpenTelemetryTraceComponentImpl.java | 4 +-
.../OpenTelemetryTracerImpl.java | 4 +-
.../ThreadLocalRandomHandler.java | 4 +-
.../metrics => }/MetricAdapterTest.java | 2 +-
.../OpenCensusMetricProducerTest.java | 3 +-
.../{metrics => }/OpenCensusMetricsTest.java | 3 +-
.../OpenTelemetryMetricExporterTest.java | 174 ------------------
16 files changed, 44 insertions(+), 307 deletions(-)
rename opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/{internal/metrics => }/MetricAdapter.java (97%)
delete mode 100644 opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryMetricsExporter.java
rename opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/{internal/metrics => }/MetricAdapterTest.java (99%)
rename opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/{metrics => }/OpenCensusMetricProducerTest.java (97%)
rename opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/{metrics => }/OpenCensusMetricsTest.java (94%)
delete mode 100644 opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/OpenTelemetryMetricExporterTest.java
diff --git a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/internal/metrics/MetricAdapter.java b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/MetricAdapter.java
similarity index 97%
rename from opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/internal/metrics/MetricAdapter.java
rename to opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/MetricAdapter.java
index 7ea80936d74..366f6786a4d 100644
--- a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/internal/metrics/MetricAdapter.java
+++ b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/MetricAdapter.java
@@ -3,7 +3,7 @@
* SPDX-License-Identifier: Apache-2.0
*/
-package io.opentelemetry.opencensusshim.internal.metrics;
+package io.opentelemetry.opencensusshim;
import io.opencensus.common.Timestamp;
import io.opencensus.metrics.LabelKey;
@@ -55,13 +55,8 @@
import java.util.regex.Pattern;
import javax.annotation.Nullable;
-/**
- * Adapts an OpenCensus metric into the OpenTelemetry metric data API.
- *
- *
This class is internal and is hence not for public use. Its APIs are unstable and can change
- * at any time.
- */
-public final class MetricAdapter {
+/** Adapts an OpenCensus metric into the OpenTelemetry metric data API. */
+final class MetricAdapter {
private MetricAdapter() {}
// All OpenCensus metrics come from this shim.
@@ -81,7 +76,7 @@ private MetricAdapter() {}
* @param otelResource The resource associated with the opentelemetry SDK.
* @param censusMetric The OpenCensus metric to convert.
*/
- public static MetricData convert(Resource otelResource, Metric censusMetric) {
+ static MetricData convert(Resource otelResource, Metric censusMetric) {
// Note: we can't just adapt interfaces, we need to do full copy because OTel data API uses
// auto-value vs. pure interfaces.
switch (censusMetric.getMetricDescriptor().getType()) {
diff --git a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenCensusMetricProducer.java b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenCensusMetricProducer.java
index 9a2e29a2bc2..121c61360f1 100644
--- a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenCensusMetricProducer.java
+++ b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenCensusMetricProducer.java
@@ -7,7 +7,6 @@
import io.opencensus.metrics.Metrics;
import io.opencensus.metrics.export.MetricProducerManager;
-import io.opentelemetry.opencensusshim.internal.metrics.MetricAdapter;
import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder;
import io.opentelemetry.sdk.metrics.data.MetricData;
import io.opentelemetry.sdk.metrics.export.MetricProducer;
@@ -26,7 +25,7 @@
public final class OpenCensusMetricProducer implements MetricProducer {
private final MetricProducerManager openCensusMetricStorage;
- OpenCensusMetricProducer(MetricProducerManager openCensusMetricStorage) {
+ private OpenCensusMetricProducer(MetricProducerManager openCensusMetricStorage) {
this.openCensusMetricStorage = openCensusMetricStorage;
}
diff --git a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryContextManager.java b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryContextManager.java
index d73e41ab5dd..24d9818645c 100644
--- a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryContextManager.java
+++ b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryContextManager.java
@@ -22,6 +22,7 @@ public final class OpenTelemetryContextManager implements ContextManager {
private static final Logger LOGGER =
Logger.getLogger(OpenTelemetryContextManager.class.getName());
+ @SuppressWarnings("unused") // Loaded via reflection
public OpenTelemetryContextManager() {}
@Override
diff --git a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryCtx.java b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryCtx.java
index ae94f630713..a551597186f 100644
--- a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryCtx.java
+++ b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryCtx.java
@@ -10,7 +10,7 @@
import io.opentelemetry.context.Scope;
import javax.annotation.Nullable;
-class OpenTelemetryCtx implements ContextHandle {
+final class OpenTelemetryCtx implements ContextHandle {
private final Context context;
diff --git a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryMetricsExporter.java b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryMetricsExporter.java
deleted file mode 100644
index 32783892204..00000000000
--- a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryMetricsExporter.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright The OpenTelemetry Authors
- * SPDX-License-Identifier: Apache-2.0
- */
-
-package io.opentelemetry.opencensusshim;
-
-import com.google.common.base.Joiner;
-import io.opencensus.common.Duration;
-import io.opencensus.exporter.metrics.util.IntervalMetricReader;
-import io.opencensus.exporter.metrics.util.MetricExporter;
-import io.opencensus.exporter.metrics.util.MetricReader;
-import io.opencensus.metrics.Metrics;
-import io.opencensus.metrics.export.Metric;
-import io.opencensus.metrics.export.MetricDescriptor;
-import io.opentelemetry.opencensusshim.internal.metrics.MetricAdapter;
-import io.opentelemetry.sdk.metrics.data.MetricData;
-import io.opentelemetry.sdk.resources.Resource;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.logging.Logger;
-
-@Deprecated
-public final class OpenTelemetryMetricsExporter extends MetricExporter {
- private static final Logger LOGGER =
- Logger.getLogger(OpenTelemetryMetricsExporter.class.getName());
-
- private static final String EXPORTER_NAME = "OpenTelemetryMetricExporter";
-
- private final IntervalMetricReader intervalMetricReader;
- private final io.opentelemetry.sdk.metrics.export.MetricExporter otelExporter;
- // TODO - find this from OTel SDK.
- private final Resource resource = Resource.getDefault();
-
- public static OpenTelemetryMetricsExporter createAndRegister(
- io.opentelemetry.sdk.metrics.export.MetricExporter otelExporter) {
- return new OpenTelemetryMetricsExporter(otelExporter, Duration.create(60, 0));
- }
-
- public static OpenTelemetryMetricsExporter createAndRegister(
- io.opentelemetry.sdk.metrics.export.MetricExporter otelExporter, Duration exportInterval) {
- return new OpenTelemetryMetricsExporter(otelExporter, exportInterval);
- }
-
- private OpenTelemetryMetricsExporter(
- io.opentelemetry.sdk.metrics.export.MetricExporter otelExporter, Duration exportInterval) {
- this.otelExporter = otelExporter;
- IntervalMetricReader.Options.Builder options = IntervalMetricReader.Options.builder();
- MetricReader reader =
- MetricReader.create(
- MetricReader.Options.builder()
- .setMetricProducerManager(Metrics.getExportComponent().getMetricProducerManager())
- .setSpanName(EXPORTER_NAME)
- .build());
- intervalMetricReader =
- IntervalMetricReader.create(
- this, reader, options.setExportInterval(exportInterval).build());
- }
-
- @Override
- public void export(Collection metrics) {
- List metricData = new ArrayList<>();
- Set unsupportedTypes = new HashSet<>();
- for (Metric metric : metrics) {
- metricData.add(MetricAdapter.convert(resource, metric));
- }
- if (!unsupportedTypes.isEmpty()) {
- LOGGER.warning(
- Joiner.on(",").join(unsupportedTypes)
- + " not supported by OpenCensus to OpenTelemetry migrator.");
- }
- if (!metricData.isEmpty()) {
- otelExporter.export(metricData);
- }
- }
-
- public void stop() {
- intervalMetricReader.stop();
- }
-}
diff --git a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryNoRecordEventsSpanImpl.java b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryNoRecordEventsSpanImpl.java
index b6f3e8eec11..1e18beb8ce4 100644
--- a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryNoRecordEventsSpanImpl.java
+++ b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryNoRecordEventsSpanImpl.java
@@ -39,7 +39,8 @@
import java.util.concurrent.TimeUnit;
import javax.annotation.Nonnull;
-class OpenTelemetryNoRecordEventsSpanImpl extends Span implements io.opentelemetry.api.trace.Span {
+final class OpenTelemetryNoRecordEventsSpanImpl extends Span
+ implements io.opentelemetry.api.trace.Span {
private static final EnumSet NOT_RECORD_EVENTS_SPAN_OPTIONS =
EnumSet.noneOf(Options.class);
diff --git a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryPropagationComponentImpl.java b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryPropagationComponentImpl.java
index 6898345ebd0..a4d77541675 100644
--- a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryPropagationComponentImpl.java
+++ b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryPropagationComponentImpl.java
@@ -10,7 +10,7 @@
import io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator;
import io.opentelemetry.extension.trace.propagation.B3Propagator;
-class OpenTelemetryPropagationComponentImpl extends PropagationComponentImpl {
+final class OpenTelemetryPropagationComponentImpl extends PropagationComponentImpl {
private final TextFormat b3Format =
new OpenTelemetryTextFormatImpl(B3Propagator.injectingMultiHeaders());
diff --git a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetrySpanBuilderImpl.java b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetrySpanBuilderImpl.java
index bd09e9b66f1..ede66642e06 100644
--- a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetrySpanBuilderImpl.java
+++ b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetrySpanBuilderImpl.java
@@ -48,7 +48,7 @@
import java.util.Random;
import javax.annotation.Nullable;
-class OpenTelemetrySpanBuilderImpl extends SpanBuilder {
+final class OpenTelemetrySpanBuilderImpl extends SpanBuilder {
private static final Tracer OTEL_TRACER =
GlobalOpenTelemetry.getTracer("io.opentelemetry.opencensusshim", OtelVersion.VERSION);
@@ -68,6 +68,29 @@ class OpenTelemetrySpanBuilderImpl extends SpanBuilder {
@Nullable private Sampler ocSampler;
@Nullable private SpanKind otelKind;
+ private OpenTelemetrySpanBuilderImpl(
+ String name,
+ @Nullable SpanContext ocRemoteParentSpanContext,
+ @Nullable Span ocParent,
+ OpenTelemetrySpanBuilderImpl.Options options) {
+ this.name = checkNotNull(name, "name");
+ this.ocParent = ocParent;
+ this.ocRemoteParentSpanContext = ocRemoteParentSpanContext;
+ this.options = options;
+ }
+
+ static OpenTelemetrySpanBuilderImpl createWithParent(
+ String spanName, @Nullable Span parent, OpenTelemetrySpanBuilderImpl.Options options) {
+ return new OpenTelemetrySpanBuilderImpl(spanName, null, parent, options);
+ }
+
+ static OpenTelemetrySpanBuilderImpl createWithRemoteParent(
+ String spanName,
+ @Nullable SpanContext remoteParentSpanContext,
+ OpenTelemetrySpanBuilderImpl.Options options) {
+ return new OpenTelemetrySpanBuilderImpl(spanName, remoteParentSpanContext, null, options);
+ }
+
@Override
public SpanBuilder setSampler(Sampler sampler) {
this.ocSampler = checkNotNull(sampler, "sampler");
@@ -155,29 +178,6 @@ public Span startSpan() {
return new OpenTelemetrySpanImpl(otSpan);
}
- private OpenTelemetrySpanBuilderImpl(
- String name,
- @Nullable SpanContext ocRemoteParentSpanContext,
- @Nullable Span ocParent,
- OpenTelemetrySpanBuilderImpl.Options options) {
- this.name = checkNotNull(name, "name");
- this.ocParent = ocParent;
- this.ocRemoteParentSpanContext = ocRemoteParentSpanContext;
- this.options = options;
- }
-
- static OpenTelemetrySpanBuilderImpl createWithParent(
- String spanName, @Nullable Span parent, OpenTelemetrySpanBuilderImpl.Options options) {
- return new OpenTelemetrySpanBuilderImpl(spanName, null, parent, options);
- }
-
- static OpenTelemetrySpanBuilderImpl createWithRemoteParent(
- String spanName,
- @Nullable SpanContext remoteParentSpanContext,
- OpenTelemetrySpanBuilderImpl.Options options) {
- return new OpenTelemetrySpanBuilderImpl(spanName, remoteParentSpanContext, null, options);
- }
-
private static boolean makeSamplingDecision(
@Nullable SpanContext parent,
@Nullable Boolean hasRemoteParent,
diff --git a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryTextFormatImpl.java b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryTextFormatImpl.java
index c8c2c3d4009..ac4d76f429d 100644
--- a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryTextFormatImpl.java
+++ b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryTextFormatImpl.java
@@ -18,7 +18,7 @@
import java.util.List;
import javax.annotation.Nullable;
-class OpenTelemetryTextFormatImpl extends TextFormat {
+final class OpenTelemetryTextFormatImpl extends TextFormat {
private final TextMapPropagator propagator;
diff --git a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryTraceComponentImpl.java b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryTraceComponentImpl.java
index 4859dd9ca1f..503220353b4 100644
--- a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryTraceComponentImpl.java
+++ b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryTraceComponentImpl.java
@@ -30,7 +30,7 @@ public final class OpenTelemetryTraceComponentImpl extends TraceComponent {
private final TraceConfig traceConfig = makeTraceConfig();
private final Tracer tracer;
- /** Public constructor to be used with reflection loading. */
+ @SuppressWarnings("unused") // Loaded via reflection
public OpenTelemetryTraceComponentImpl() {
clock = MillisClock.getInstance();
RandomHandler randomHandler = new ThreadLocalRandomHandler();
@@ -48,7 +48,7 @@ public PropagationComponent getPropagationComponent() {
}
@Override
- public final Clock getClock() {
+ public Clock getClock() {
return clock;
}
diff --git a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryTracerImpl.java b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryTracerImpl.java
index c3ba98b67fd..4bffa46fc26 100644
--- a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryTracerImpl.java
+++ b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/OpenTelemetryTracerImpl.java
@@ -30,10 +30,10 @@
import io.opencensus.trace.config.TraceConfig;
import javax.annotation.Nullable;
-class OpenTelemetryTracerImpl extends Tracer {
+final class OpenTelemetryTracerImpl extends Tracer {
private final OpenTelemetrySpanBuilderImpl.Options spanBuilderOptions;
- public OpenTelemetryTracerImpl(RandomHandler randomHandler, TraceConfig traceConfig) {
+ OpenTelemetryTracerImpl(RandomHandler randomHandler, TraceConfig traceConfig) {
spanBuilderOptions = new OpenTelemetrySpanBuilderImpl.Options(randomHandler, traceConfig);
}
diff --git a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/ThreadLocalRandomHandler.java b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/ThreadLocalRandomHandler.java
index 76b1567d2bf..942a06c8856 100644
--- a/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/ThreadLocalRandomHandler.java
+++ b/opencensus-shim/src/main/java/io/opentelemetry/opencensusshim/ThreadLocalRandomHandler.java
@@ -15,10 +15,10 @@
* implementation in opencensus-impl, however we do not want to depend on opencensus-impl here.
*/
@ThreadSafe
-public final class ThreadLocalRandomHandler extends RandomHandler {
+final class ThreadLocalRandomHandler extends RandomHandler {
/** Constructs a new {@code ThreadLocalRandomHandler}. */
- public ThreadLocalRandomHandler() {}
+ ThreadLocalRandomHandler() {}
@Override
public Random current() {
diff --git a/opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/internal/metrics/MetricAdapterTest.java b/opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/MetricAdapterTest.java
similarity index 99%
rename from opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/internal/metrics/MetricAdapterTest.java
rename to opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/MetricAdapterTest.java
index 9d1a582aa44..7022477dce6 100644
--- a/opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/internal/metrics/MetricAdapterTest.java
+++ b/opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/MetricAdapterTest.java
@@ -3,7 +3,7 @@
* SPDX-License-Identifier: Apache-2.0
*/
-package io.opentelemetry.opencensusshim.internal.metrics;
+package io.opentelemetry.opencensusshim;
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.attributeEntry;
diff --git a/opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/metrics/OpenCensusMetricProducerTest.java b/opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/OpenCensusMetricProducerTest.java
similarity index 97%
rename from opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/metrics/OpenCensusMetricProducerTest.java
rename to opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/OpenCensusMetricProducerTest.java
index c2465522296..67996be5e06 100644
--- a/opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/metrics/OpenCensusMetricProducerTest.java
+++ b/opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/OpenCensusMetricProducerTest.java
@@ -3,7 +3,7 @@
* SPDX-License-Identifier: Apache-2.0
*/
-package io.opentelemetry.opencensusshim.metrics;
+package io.opentelemetry.opencensusshim;
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;
@@ -21,7 +21,6 @@
import io.opencensus.trace.TraceOptions;
import io.opencensus.trace.Tracestate;
import io.opentelemetry.api.common.Attributes;
-import io.opentelemetry.opencensusshim.OpenCensusMetricProducer;
import io.opentelemetry.sdk.metrics.export.MetricProducer;
import io.opentelemetry.sdk.resources.Resource;
import java.time.Duration;
diff --git a/opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/metrics/OpenCensusMetricsTest.java b/opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/OpenCensusMetricsTest.java
similarity index 94%
rename from opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/metrics/OpenCensusMetricsTest.java
rename to opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/OpenCensusMetricsTest.java
index 368e08ccb2f..4539045c435 100644
--- a/opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/metrics/OpenCensusMetricsTest.java
+++ b/opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/OpenCensusMetricsTest.java
@@ -3,7 +3,7 @@
* SPDX-License-Identifier: Apache-2.0
*/
-package io.opentelemetry.opencensusshim.metrics;
+package io.opentelemetry.opencensusshim;
import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;
@@ -12,7 +12,6 @@
import io.opencensus.stats.Stats;
import io.opencensus.stats.StatsRecorder;
import io.opencensus.stats.View;
-import io.opentelemetry.opencensusshim.OpenCensusMetricProducer;
import io.opentelemetry.sdk.metrics.SdkMeterProvider;
import io.opentelemetry.sdk.testing.exporter.InMemoryMetricReader;
import java.time.Duration;
diff --git a/opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/OpenTelemetryMetricExporterTest.java b/opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/OpenTelemetryMetricExporterTest.java
deleted file mode 100644
index c0bce937a18..00000000000
--- a/opencensus-shim/src/test/java/io/opentelemetry/opencensusshim/OpenTelemetryMetricExporterTest.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright The OpenTelemetry Authors
- * SPDX-License-Identifier: Apache-2.0
- */
-
-package io.opentelemetry.opencensusshim;
-
-import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.assertThat;
-import static io.opentelemetry.sdk.testing.assertj.OpenTelemetryAssertions.attributeEntry;
-import static java.util.stream.Collectors.groupingBy;
-
-import com.google.common.collect.ImmutableList;
-import io.opencensus.common.Duration;
-import io.opencensus.stats.Aggregation;
-import io.opencensus.stats.Measure;
-import io.opencensus.stats.Stats;
-import io.opencensus.stats.StatsRecorder;
-import io.opencensus.stats.View;
-import io.opencensus.stats.ViewManager;
-import io.opencensus.tags.TagContext;
-import io.opencensus.tags.TagKey;
-import io.opencensus.tags.TagMetadata;
-import io.opencensus.tags.TagValue;
-import io.opencensus.tags.Tagger;
-import io.opencensus.tags.Tags;
-import io.opentelemetry.api.common.Attributes;
-import io.opentelemetry.sdk.metrics.data.MetricData;
-import io.opentelemetry.sdk.testing.exporter.InMemoryMetricExporter;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.stream.Collectors;
-import org.awaitility.Awaitility;
-import org.junit.jupiter.api.Test;
-
-class OpenTelemetryMetricExporterTest {
-
- @Test
- @SuppressWarnings({"deprecation"}) // Summary is deprecated in census
- void testSupportedMetricsExportedCorrectly() {
- Tagger tagger = Tags.getTagger();
- Measure.MeasureLong latency =
- Measure.MeasureLong.create("task_latency", "The task latency in milliseconds", "ms");
- Measure.MeasureDouble latency2 =
- Measure.MeasureDouble.create("task_latency_2", "The task latency in milliseconds 2", "ms");
- StatsRecorder statsRecorder = Stats.getStatsRecorder();
- TagKey tagKey = TagKey.create("tagKey");
- TagValue tagValue = TagValue.create("tagValue");
- View longSumView =
- View.create(
- View.Name.create("long_sum"),
- "long sum",
- latency,
- Aggregation.Sum.create(),
- ImmutableList.of(tagKey));
- View longGaugeView =
- View.create(
- View.Name.create("long_gauge"),
- "long gauge",
- latency,
- Aggregation.LastValue.create(),
- ImmutableList.of(tagKey));
- View doubleSumView =
- View.create(
- View.Name.create("double_sum"),
- "double sum",
- latency2,
- Aggregation.Sum.create(),
- ImmutableList.of());
- View doubleGaugeView =
- View.create(
- View.Name.create("double_gauge"),
- "double gauge",
- latency2,
- Aggregation.LastValue.create(),
- ImmutableList.of());
- ViewManager viewManager = Stats.getViewManager();
- viewManager.registerView(longSumView);
- viewManager.registerView(longGaugeView);
- viewManager.registerView(doubleSumView);
- viewManager.registerView(doubleGaugeView);
- // Create OpenCensus -> OpenTelemetry Exporter bridge
- InMemoryMetricExporter exporter = InMemoryMetricExporter.create();
- OpenTelemetryMetricsExporter otelExporter =
- OpenTelemetryMetricsExporter.createAndRegister(exporter, Duration.create(1, 0));
- try {
- TagContext tagContext =
- tagger
- .emptyBuilder()
- .put(tagKey, tagValue, TagMetadata.create(TagMetadata.TagTtl.UNLIMITED_PROPAGATION))
- .build();
- try (io.opencensus.common.Scope ss = tagger.withTagContext(tagContext)) {
- statsRecorder.newMeasureMap().put(latency, 50).record();
- statsRecorder.newMeasureMap().put(latency2, 60).record();
- }
- Set allowedMetrics = new HashSet<>();
- allowedMetrics.add("double_gauge");
- allowedMetrics.add("double_sum");
- allowedMetrics.add("long_gauge");
- allowedMetrics.add("long_sum");
- // Slow down for OpenCensus to catch up.
- Awaitility.await()
- .atMost(java.time.Duration.ofSeconds(10))
- .untilAsserted(
- () ->
- assertThat(
- // Filter for metrics with name in allowedMetrics, and dedupe to only one
- // metric per unique metric name
- exporter.getFinishedMetricItems().stream()
- .filter(metric -> allowedMetrics.contains(metric.getName()))
- .collect(groupingBy(MetricData::getName))
- .values()
- .stream()
- .map(metricData -> metricData.get(0))
- .collect(Collectors.toList()))
- .satisfiesExactlyInAnyOrder(
- metric ->
- assertThat(metric)
- .hasName("double_gauge")
- .hasDescription("double gauge")
- .hasUnit("ms")
- .hasDoubleGaugeSatisfying(
- gauge ->
- gauge.hasPointsSatisfying(
- point ->
- point
- .hasValue(60)
- .hasAttributes(Attributes.empty()))),
- metric ->
- assertThat(metric)
- .hasName("double_sum")
- .hasDescription("double sum")
- .hasUnit("ms")
- .hasDoubleSumSatisfying(
- sum ->
- sum.hasPointsSatisfying(
- point ->
- point
- .hasValue(60)
- .hasAttributes(Attributes.empty()))),
- metric ->
- assertThat(metric)
- .hasName("long_gauge")
- .hasDescription("long gauge")
- .hasUnit("ms")
- .hasLongGaugeSatisfying(
- gauge ->
- gauge.hasPointsSatisfying(
- point ->
- point
- .hasValue(50)
- .hasAttributes(
- attributeEntry(
- tagKey.getName(),
- tagValue.asString())))),
- metric ->
- assertThat(metric)
- .hasName("long_sum")
- .hasDescription("long sum")
- .hasUnit("ms")
- .hasLongSumSatisfying(
- sum ->
- sum.hasPointsSatisfying(
- point ->
- point
- .hasValue(50)
- .hasAttributes(
- attributeEntry(
- tagKey.getName(),
- tagValue.asString()))))));
- } finally {
- otelExporter.stop();
- }
- }
-}