Remove inmemory exporter artifact, move to sdk-testing (#1991)
* Remove unused class InMemoryTracing, junit5 helper is enough Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com> * Remove inmemory exporter artifact, move to sdk-tracing Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
This commit is contained in:
parent
5be613a3f0
commit
18d45beb4f
|
|
@ -13,7 +13,6 @@ def subprojects = [
|
|||
project(':opentelemetry-extension-trace-utils'),
|
||||
project(':opentelemetry-extension-auto-annotations'),
|
||||
project(':opentelemetry-exporter-logging'),
|
||||
project(':opentelemetry-exporter-inmemory'),
|
||||
project(':opentelemetry-exporter-jaeger'),
|
||||
project(':opentelemetry-exporter-otlp'),
|
||||
project(':opentelemetry-exporter-prometheus'),
|
||||
|
|
|
|||
|
|
@ -1,8 +0,0 @@
|
|||
# OpenTelemetry - In-Memory Exporter
|
||||
|
||||
[![Javadocs][javadoc-image]][javadoc-url]
|
||||
|
||||
* Java 8 compatible.
|
||||
|
||||
[javadoc-image]: https://www.javadoc.io/badge/io.opentelemetry/opentelemetry-exporters-inmemory.svg
|
||||
[javadoc-url]: https://www.javadoc.io/doc/io.opentelemetry/opentelemetry-exporters-inmemory
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
plugins {
|
||||
id "java"
|
||||
id "maven-publish"
|
||||
|
||||
id "ru.vyarus.animalsniffer"
|
||||
}
|
||||
|
||||
description = 'OpenTelemetry InMemory Export'
|
||||
ext.moduleName = "io.opentelemetry.exporter.inmemory"
|
||||
|
||||
dependencies {
|
||||
api project(':opentelemetry-sdk')
|
||||
|
||||
annotationProcessor libraries.auto_value
|
||||
|
||||
testImplementation project(':opentelemetry-sdk-testing')
|
||||
|
||||
signature "org.codehaus.mojo.signature:java18:1.0@signature"
|
||||
signature "net.sf.androidscents.signature:android-api-level-24:7.0_r2@signature"
|
||||
}
|
||||
|
|
@ -1,91 +0,0 @@
|
|||
/*
|
||||
* Copyright The OpenTelemetry Authors
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.exporter.inmemory;
|
||||
|
||||
import com.google.auto.value.AutoValue;
|
||||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.api.trace.propagation.HttpTraceContext;
|
||||
import io.opentelemetry.context.propagation.DefaultContextPropagators;
|
||||
import io.opentelemetry.sdk.trace.TracerSdkManagement;
|
||||
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
|
||||
import javax.annotation.concurrent.Immutable;
|
||||
|
||||
/**
|
||||
* InMemoryTracing is an utility class that helps installing the {@link SimpleSpanProcessor} and an
|
||||
* instance of the {@link InMemorySpanExporter} to a given {@link TracerSdkManagement}. Can be used
|
||||
* to test OpenTelemetry integration.
|
||||
*
|
||||
* <p>Example usage:
|
||||
*
|
||||
* <pre><code>
|
||||
* {@literal @}Test
|
||||
* public void testCondition() {
|
||||
* TracerSdkProvider tracerSdkProvider = TracerSdkProvider.builder().build()
|
||||
* InMemoryTracing tracing =
|
||||
* InMemoryTracing.builder().setTracerSdkManagement(tracerSdkProvider).build();
|
||||
* Tracer tracer = tracerSdkProvider.getTracer("MyTestClass");
|
||||
* tracer.spanBuilder("span").startSpan().end();
|
||||
*
|
||||
* List<io.opentelemetry.sdk.trace.data.SpanData> spans = tracing.getFinishedSpanItems();
|
||||
* assertThat(spans.size()).isEqualTo(1);
|
||||
* assertThat(spans.get(0).getName()).isEqualTo("span");
|
||||
* }
|
||||
* </code></pre>
|
||||
*/
|
||||
@AutoValue
|
||||
@Immutable
|
||||
public abstract class InMemoryTracing {
|
||||
/**
|
||||
* Returns the {@code TracerSdkManagement} passed during construction.
|
||||
*
|
||||
* @return the {@code TracerSdkManagement} passed during construction.
|
||||
*/
|
||||
abstract TracerSdkManagement getTracerSdkManagement();
|
||||
|
||||
/**
|
||||
* Returns the installed {@link InMemorySpanExporter}.
|
||||
*
|
||||
* @return the installed {@link InMemorySpanExporter}.
|
||||
*/
|
||||
public abstract InMemorySpanExporter getSpanExporter();
|
||||
|
||||
/**
|
||||
* Returns a new {@link Builder} for {@link InMemoryTracing}.
|
||||
*
|
||||
* @return a new {@link Builder} for {@link InMemoryTracing}.
|
||||
*/
|
||||
public static Builder builder() {
|
||||
return new AutoValue_InMemoryTracing.Builder();
|
||||
}
|
||||
|
||||
/** Builder for {@link InMemoryTracing}. */
|
||||
@AutoValue.Builder
|
||||
public abstract static class Builder {
|
||||
public abstract Builder setTracerSdkManagement(TracerSdkManagement tracerSdkManagement);
|
||||
|
||||
abstract Builder setSpanExporter(InMemorySpanExporter exporter);
|
||||
|
||||
abstract TracerSdkManagement getTracerSdkManagement();
|
||||
|
||||
abstract InMemoryTracing autoBuild();
|
||||
|
||||
/**
|
||||
* Builds a new {@link InMemoryTracing} with current settings.
|
||||
*
|
||||
* @return a {@code InMemoryTracing}.
|
||||
*/
|
||||
public final InMemoryTracing build() {
|
||||
// install the HttpTraceContext propagator into the API for testing with.
|
||||
OpenTelemetry.setGlobalPropagators(
|
||||
DefaultContextPropagators.builder()
|
||||
.addTextMapPropagator(HttpTraceContext.getInstance())
|
||||
.build());
|
||||
InMemorySpanExporter exporter = InMemorySpanExporter.create();
|
||||
getTracerSdkManagement().addSpanProcessor(SimpleSpanProcessor.builder(exporter).build());
|
||||
return setSpanExporter(exporter).autoBuild();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,77 +0,0 @@
|
|||
/*
|
||||
* Copyright The OpenTelemetry Authors
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.exporter.inmemory;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
|
||||
import io.opentelemetry.api.trace.Tracer;
|
||||
import io.opentelemetry.sdk.trace.TracerSdkProvider;
|
||||
import io.opentelemetry.sdk.trace.config.TraceConfig;
|
||||
import io.opentelemetry.sdk.trace.data.SpanData;
|
||||
import io.opentelemetry.sdk.trace.samplers.Sampler;
|
||||
import java.util.List;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/** Unit tests for {@link InMemoryTracing}. */
|
||||
class InMemoryTracingTest {
|
||||
private final TracerSdkProvider tracerSdkProvider = TracerSdkProvider.builder().build();
|
||||
private final InMemoryTracing tracing =
|
||||
InMemoryTracing.builder().setTracerSdkManagement(tracerSdkProvider).build();
|
||||
private final Tracer tracer = tracerSdkProvider.get("InMemoryTracing");
|
||||
|
||||
@Test
|
||||
void defaultInstance() {
|
||||
assertThat(tracing.getTracerSdkManagement()).isSameAs(tracerSdkProvider);
|
||||
assertThat(tracing.getSpanExporter().getFinishedSpanItems()).hasSize(0);
|
||||
}
|
||||
|
||||
@Test
|
||||
void ctor_nullTracer() {
|
||||
assertThrows(
|
||||
NullPointerException.class,
|
||||
() -> InMemoryTracing.builder().setTracerSdkManagement(null).build(),
|
||||
"tracerProvider");
|
||||
}
|
||||
|
||||
@Test
|
||||
void getFinishedSpanItems() {
|
||||
tracer.spanBuilder("A").startSpan().end();
|
||||
tracer.spanBuilder("B").startSpan().end();
|
||||
|
||||
List<SpanData> finishedSpanItems = tracing.getSpanExporter().getFinishedSpanItems();
|
||||
assertThat(finishedSpanItems).hasSize(2);
|
||||
assertThat(finishedSpanItems.get(0).getName()).isEqualTo("A");
|
||||
assertThat(finishedSpanItems.get(1).getName()).isEqualTo("B");
|
||||
}
|
||||
|
||||
@Test
|
||||
void getFinishedSpanItems_sampled() {
|
||||
tracer.spanBuilder("A").startSpan().end();
|
||||
TraceConfig originalConfig = tracerSdkProvider.getActiveTraceConfig();
|
||||
tracerSdkProvider.updateActiveTraceConfig(
|
||||
originalConfig.toBuilder().setSampler(Sampler.alwaysOff()).build());
|
||||
try {
|
||||
tracer.spanBuilder("B").startSpan().end();
|
||||
} finally {
|
||||
tracerSdkProvider.updateActiveTraceConfig(originalConfig);
|
||||
}
|
||||
|
||||
List<SpanData> finishedSpanItems = tracing.getSpanExporter().getFinishedSpanItems();
|
||||
assertThat(finishedSpanItems).hasSize(1);
|
||||
assertThat(finishedSpanItems.get(0).getName()).isEqualTo("A");
|
||||
}
|
||||
|
||||
@Test
|
||||
void reset() {
|
||||
tracer.spanBuilder("A").startSpan().end();
|
||||
tracer.spanBuilder("B").startSpan().end();
|
||||
assertThat(tracing.getSpanExporter().getFinishedSpanItems()).hasSize(2);
|
||||
|
||||
tracing.getSpanExporter().reset();
|
||||
assertThat(tracing.getSpanExporter().getFinishedSpanItems()).hasSize(0);
|
||||
}
|
||||
}
|
||||
|
|
@ -11,7 +11,6 @@ dependencies {
|
|||
libraries.opentracing
|
||||
|
||||
testImplementation project(':opentelemetry-sdk-testing'),
|
||||
project(':opentelemetry-exporter-inmemory'),
|
||||
libraries.junit,
|
||||
libraries.assertj,
|
||||
libraries.slf4jsimple
|
||||
|
|
|
|||
|
|
@ -16,20 +16,12 @@ ext {
|
|||
dependencies {
|
||||
compile project(':opentelemetry-api'),
|
||||
project(":opentelemetry-sdk"),
|
||||
project(":opentelemetry-sdk-testing"),
|
||||
project(":opentelemetry-exporter-otlp"),
|
||||
project(":opentelemetry-exporter-logging"),
|
||||
project(":opentelemetry-exporter-inmemory")
|
||||
|
||||
|
||||
// compile("io.opentelemetry:opentelemetry-api:${opentelemetryVersion}")
|
||||
// compile("io.opentelemetry:opentelemetry-sdk:${opentelemetryVersion}")
|
||||
// compile("io.opentelemetry:opentelemetry-exporter-otlp:${opentelemetryVersion}")
|
||||
// compile("io.opentelemetry:opentelemetry-exporter-logging:${opentelemetryVersion}")
|
||||
// compile("io.opentelemetry:opentelemetry-exporter-inmemory:${opentelemetryVersion}")
|
||||
project(":opentelemetry-exporter-logging")
|
||||
|
||||
compile("io.grpc:grpc-netty-shaded:${grpcVersion}")
|
||||
compile("eu.rekawek.toxiproxy:toxiproxy-java:2.1.3")
|
||||
|
||||
implementation libraries.testcontainers
|
||||
|
||||
compile("eu.rekawek.toxiproxy:toxiproxy-java:2.1.3")
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ import io.opentelemetry.api.common.Labels;
|
|||
import io.opentelemetry.api.trace.Span;
|
||||
import io.opentelemetry.api.trace.Tracer;
|
||||
import io.opentelemetry.context.Scope;
|
||||
import io.opentelemetry.exporter.inmemory.InMemoryMetricExporter;
|
||||
import io.opentelemetry.exporter.otlp.OtlpGrpcSpanExporter;
|
||||
import io.opentelemetry.sdk.OpenTelemetrySdk;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
|
|
@ -23,6 +22,7 @@ import io.opentelemetry.sdk.metrics.data.MetricData.LongPoint;
|
|||
import io.opentelemetry.sdk.metrics.data.MetricData.Point;
|
||||
import io.opentelemetry.sdk.metrics.export.IntervalMetricReader;
|
||||
import io.opentelemetry.sdk.metrics.export.MetricExporter;
|
||||
import io.opentelemetry.sdk.testing.exporter.InMemoryMetricExporter;
|
||||
import io.opentelemetry.sdk.trace.export.BatchSpanProcessor;
|
||||
import java.io.IOException;
|
||||
import java.util.Collections;
|
||||
|
|
|
|||
|
|
@ -12,6 +12,4 @@ dependencies {
|
|||
api libraries.junit_jupiter_api
|
||||
|
||||
annotationProcessor libraries.auto_value
|
||||
|
||||
implementation project(':opentelemetry-exporter-inmemory')
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.exporter.inmemory;
|
||||
package io.opentelemetry.sdk.testing.exporter;
|
||||
|
||||
import io.opentelemetry.sdk.common.CompletableResultCode;
|
||||
import io.opentelemetry.sdk.metrics.data.MetricData;
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.exporter.inmemory;
|
||||
package io.opentelemetry.sdk.testing.exporter;
|
||||
|
||||
import io.opentelemetry.sdk.common.CompletableResultCode;
|
||||
import io.opentelemetry.sdk.trace.data.SpanData;
|
||||
|
|
@ -8,8 +8,8 @@ package io.opentelemetry.sdk.testing.junit5;
|
|||
import io.opentelemetry.api.OpenTelemetry;
|
||||
import io.opentelemetry.api.trace.propagation.HttpTraceContext;
|
||||
import io.opentelemetry.context.propagation.DefaultContextPropagators;
|
||||
import io.opentelemetry.exporter.inmemory.InMemorySpanExporter;
|
||||
import io.opentelemetry.sdk.OpenTelemetrySdk;
|
||||
import io.opentelemetry.sdk.testing.exporter.InMemorySpanExporter;
|
||||
import io.opentelemetry.sdk.trace.TracerSdkManagement;
|
||||
import io.opentelemetry.sdk.trace.TracerSdkProvider;
|
||||
import io.opentelemetry.sdk.trace.data.SpanData;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.exporter.inmemory;
|
||||
package io.opentelemetry.sdk.testing.exporter;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.exporter.inmemory;
|
||||
package io.opentelemetry.sdk.testing.exporter;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
|
|
@ -28,7 +28,6 @@ include ":opentelemetry-all",
|
|||
":opentelemetry-extension-runtime-metrics",
|
||||
":opentelemetry-extension-trace-propagators",
|
||||
":opentelemetry-extension-trace-utils",
|
||||
":opentelemetry-exporter-inmemory",
|
||||
":opentelemetry-exporter-jaeger",
|
||||
":opentelemetry-exporter-jaeger-thrift",
|
||||
":opentelemetry-exporter-logging",
|
||||
|
|
|
|||
Loading…
Reference in New Issue