Skip to content

Commit ee277ae

Browse files
Deprecate Zipkin exporter (#7974)
1 parent 9f9454c commit ee277ae

9 files changed

Lines changed: 41 additions & 16 deletions

File tree

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,7 @@
11
Comparing source compatibility of opentelemetry-exporter-zipkin-1.59.0-SNAPSHOT.jar against opentelemetry-exporter-zipkin-1.58.0.jar
2-
No changes.
2+
=== UNCHANGED CLASS: PUBLIC FINAL io.opentelemetry.exporter.zipkin.ZipkinSpanExporter (not serializable)
3+
=== CLASS FILE FORMAT VERSION: 52.0 <- 52.0
4+
+++ NEW ANNOTATION: java.lang.Deprecated
5+
=== UNCHANGED CLASS: PUBLIC FINAL io.opentelemetry.exporter.zipkin.ZipkinSpanExporterBuilder (not serializable)
6+
=== CLASS FILE FORMAT VERSION: 52.0 <- 52.0
7+
+++ NEW ANNOTATION: java.lang.Deprecated

exporters/zipkin/src/main/java/io/opentelemetry/exporter/zipkin/ZipkinSpanExporter.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,12 @@
3232
* This class was based on the <a
3333
* href="https://github.com/census-instrumentation/opencensus-java/tree/c960b19889de5e4a7b25f90919d28b066590d4f0/exporters/trace/zipkin">OpenCensus
3434
* zipkin exporter</a> code.
35+
*
36+
* @deprecated Zipkin exporter is deprecated in OpenTelemetry spec (see the <a
37+
* href="https://github.com/open-telemetry/opentelemetry-specification/pull/4715">PR</a>).
38+
* Expect this artifact to no longer be published in approximately 6 months (mid 2026).
3539
*/
40+
@Deprecated
3641
public final class ZipkinSpanExporter implements SpanExporter {
3742

3843
public static final Logger baseLogger = Logger.getLogger(ZipkinSpanExporter.class.getName());

exporters/zipkin/src/main/java/io/opentelemetry/exporter/zipkin/ZipkinSpanExporterBuilder.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,14 @@
2323
import zipkin2.reporter.SpanBytesEncoder;
2424
import zipkin2.reporter.okhttp3.OkHttpSender;
2525

26-
/** Builder class for {@link ZipkinSpanExporter}. */
26+
/**
27+
* Builder class for {@link ZipkinSpanExporter}.
28+
*
29+
* @deprecated Zipkin exporter is deprecated in OpenTelemetry spec (see the <a
30+
* href="https://github.com/open-telemetry/opentelemetry-specification/pull/4715">PR</a>).
31+
* Expect this artifact to no longer be published in approximately 6 months (mid 2026).
32+
*/
33+
@Deprecated
2734
public final class ZipkinSpanExporterBuilder {
2835
private BytesEncoder<Span> encoder = SpanBytesEncoder.JSON_V2;
2936
private Supplier<InetAddress> localIpAddressSupplier = LocalInetAddressSupplier.getInstance();

exporters/zipkin/src/main/java/io/opentelemetry/exporter/zipkin/internal/ZipkinSpanExporterProvider.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,19 @@
55

66
package io.opentelemetry.exporter.zipkin.internal;
77

8-
import io.opentelemetry.exporter.zipkin.ZipkinSpanExporter;
9-
import io.opentelemetry.exporter.zipkin.ZipkinSpanExporterBuilder;
108
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
119
import io.opentelemetry.sdk.autoconfigure.spi.traces.ConfigurableSpanExporterProvider;
1210
import io.opentelemetry.sdk.trace.export.SpanExporter;
1311
import java.time.Duration;
1412

1513
/**
16-
* {@link SpanExporter} SPI implementation for {@link ZipkinSpanExporter}.
14+
* {@link SpanExporter} SPI implementation for {@link
15+
* io.opentelemetry.exporter.zipkin.ZipkinSpanExporter}.
1716
*
1817
* <p>This class is internal and is hence not for public use. Its APIs are unstable and can change
1918
* at any time.
2019
*/
20+
@SuppressWarnings("deprecation")
2121
public class ZipkinSpanExporterProvider implements ConfigurableSpanExporterProvider {
2222
@Override
2323
public String getName() {
@@ -26,7 +26,8 @@ public String getName() {
2626

2727
@Override
2828
public SpanExporter createExporter(ConfigProperties config) {
29-
ZipkinSpanExporterBuilder builder = ZipkinSpanExporter.builder();
29+
io.opentelemetry.exporter.zipkin.ZipkinSpanExporterBuilder builder =
30+
io.opentelemetry.exporter.zipkin.ZipkinSpanExporter.builder();
3031

3132
String endpoint = config.getString("otel.exporter.zipkin.endpoint");
3233
if (endpoint != null) {

exporters/zipkin/src/test/java/io/opentelemetry/exporter/zipkin/ZipkinSpanExporterEndToEndHttpTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import zipkin2.reporter.SpanBytesEncoder;
5151
import zipkin2.reporter.okhttp3.OkHttpSender;
5252

53+
@SuppressWarnings("deprecation") // testing deprecated code
5354
@Testcontainers(disabledWithoutDocker = true)
5455
class ZipkinSpanExporterEndToEndHttpTest {
5556
private static final WebClient client = WebClient.of();

exporters/zipkin/src/test/java/io/opentelemetry/exporter/zipkin/ZipkinSpanExporterTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import zipkin2.reporter.SpanBytesEncoder;
4242

4343
@ExtendWith(MockitoExtension.class)
44+
@SuppressWarnings("deprecation") // testing deprecated code
4445
class ZipkinSpanExporterTest {
4546

4647
@Mock private BytesMessageSender mockSender;

exporters/zipkin/src/test/java/io/opentelemetry/exporter/zipkin/internal/ZipkinSpanExporterProviderTest.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@
77

88
import static org.assertj.core.api.Assertions.assertThat;
99

10-
import io.opentelemetry.exporter.zipkin.ZipkinSpanExporter;
1110
import io.opentelemetry.sdk.autoconfigure.spi.internal.DefaultConfigProperties;
1211
import io.opentelemetry.sdk.trace.export.SpanExporter;
1312
import java.util.Collections;
1413
import java.util.HashMap;
1514
import java.util.Map;
1615
import org.junit.jupiter.api.Test;
1716

17+
@SuppressWarnings("deprecation") // testing deprecated code
1818
class ZipkinSpanExporterProviderTest {
1919

2020
private static final ZipkinSpanExporterProvider provider = new ZipkinSpanExporterProvider();
@@ -28,7 +28,8 @@ void getName() {
2828
void createExporter_Default() {
2929
try (SpanExporter spanExporter =
3030
provider.createExporter(DefaultConfigProperties.createFromMap(Collections.emptyMap()))) {
31-
assertThat(spanExporter).isInstanceOf(ZipkinSpanExporter.class);
31+
assertThat(spanExporter)
32+
.isInstanceOf(io.opentelemetry.exporter.zipkin.ZipkinSpanExporter.class);
3233
assertThat(spanExporter)
3334
.extracting("sender")
3435
.extracting("delegate")
@@ -50,7 +51,8 @@ void createExporter_WithConfiguration() {
5051

5152
try (SpanExporter spanExporter =
5253
provider.createExporter(DefaultConfigProperties.createFromMap(config))) {
53-
assertThat(spanExporter).isInstanceOf(ZipkinSpanExporter.class);
54+
assertThat(spanExporter)
55+
.isInstanceOf(io.opentelemetry.exporter.zipkin.ZipkinSpanExporter.class);
5456
assertThat(spanExporter)
5557
.extracting("sender")
5658
.extracting("delegate")

sdk-extensions/autoconfigure/src/testFullConfig/java/io/opentelemetry/sdk/autoconfigure/ConfigurableSpanExporterTest.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import io.opentelemetry.exporter.logging.LoggingSpanExporter;
1414
import io.opentelemetry.exporter.otlp.internal.OtlpSpanExporterProvider;
1515
import io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporter;
16-
import io.opentelemetry.exporter.zipkin.ZipkinSpanExporter;
1716
import io.opentelemetry.internal.testing.CleanupExtension;
1817
import io.opentelemetry.sdk.autoconfigure.internal.NamedSpiManager;
1918
import io.opentelemetry.sdk.autoconfigure.internal.SpiHelper;
@@ -37,6 +36,7 @@
3736
import org.junit.jupiter.api.Test;
3837
import org.junit.jupiter.api.extension.RegisterExtension;
3938

39+
@SuppressWarnings("deprecation") // testing deprecated code
4040
class ConfigurableSpanExporterTest {
4141

4242
@RegisterExtension CleanupExtension cleanup = new CleanupExtension();
@@ -168,7 +168,9 @@ void configureSpanProcessors_batchSpanProcessor() {
168168
TracerProviderConfiguration.configureSpanProcessors(
169169
DefaultConfigProperties.createFromMap(
170170
Collections.singletonMap("otel.traces.exporter", exporterName)),
171-
ImmutableMap.of(exporterName, ZipkinSpanExporter.builder().build()),
171+
ImmutableMap.of(
172+
exporterName,
173+
io.opentelemetry.exporter.zipkin.ZipkinSpanExporter.builder().build()),
172174
MeterProvider.noop(),
173175
closeables);
174176
cleanup.addCloseables(closeables);
@@ -189,7 +191,7 @@ void configureSpanProcessors_multipleExporters() {
189191
"otlp",
190192
OtlpGrpcSpanExporter.builder().build(),
191193
"zipkin",
192-
ZipkinSpanExporter.builder().build()),
194+
io.opentelemetry.exporter.zipkin.ZipkinSpanExporter.builder().build()),
193195
MeterProvider.noop(),
194196
closeables);
195197
cleanup.addCloseables(closeables);
@@ -212,7 +214,8 @@ void configureSpanProcessors_multipleExporters() {
212214
spanExporters -> {
213215
assertThat(spanExporters.length).isEqualTo(2);
214216
assertThat(spanExporters)
215-
.hasAtLeastOneElementOfType(ZipkinSpanExporter.class)
217+
.hasAtLeastOneElementOfType(
218+
io.opentelemetry.exporter.zipkin.ZipkinSpanExporter.class)
216219
.hasAtLeastOneElementOfType(OtlpGrpcSpanExporter.class);
217220
});
218221
});
@@ -231,7 +234,7 @@ void configureSpanProcessors_multipleExportersWithLogging() {
231234
"logging",
232235
LoggingSpanExporter.create(),
233236
"zipkin",
234-
ZipkinSpanExporter.builder().build()),
237+
io.opentelemetry.exporter.zipkin.ZipkinSpanExporter.builder().build()),
235238
MeterProvider.noop(),
236239
closeables);
237240
cleanup.addCloseables(closeables);

sdk-extensions/autoconfigure/src/testFullConfig/java/io/opentelemetry/sdk/autoconfigure/SpanExporterConfigurationTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import io.opentelemetry.exporter.logging.LoggingSpanExporter;
1313
import io.opentelemetry.exporter.logging.otlp.OtlpJsonLoggingSpanExporter;
1414
import io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporter;
15-
import io.opentelemetry.exporter.zipkin.ZipkinSpanExporter;
1615
import io.opentelemetry.sdk.autoconfigure.internal.NamedSpiManager;
1716
import io.opentelemetry.sdk.autoconfigure.internal.SpiHelper;
1817
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
@@ -22,6 +21,7 @@
2221
import java.util.Collections;
2322
import org.junit.jupiter.api.Test;
2423

24+
@SuppressWarnings("deprecation") // testing deprecated code
2525
class SpanExporterConfigurationTest {
2626

2727
private final SpiHelper spiHelper =
@@ -42,7 +42,7 @@ void configureExporter_KnownSpiExportersOnClasspath() {
4242
assertThat(SpanExporterConfiguration.configureExporter("otlp", spiExportersManager))
4343
.isInstanceOf(OtlpGrpcSpanExporter.class);
4444
assertThat(SpanExporterConfiguration.configureExporter("zipkin", spiExportersManager))
45-
.isInstanceOf(ZipkinSpanExporter.class);
45+
.isInstanceOf(io.opentelemetry.exporter.zipkin.ZipkinSpanExporter.class);
4646
}
4747

4848
@Test

0 commit comments

Comments
 (0)