Browse Source

Update to Otel 1.11.0 (#5322)

* Update to OTel 1.11

* Suppress gRPC export usage warning
Anuraag Agrawal 3 years ago
parent
commit
407e86df2b

+ 1 - 1
dependencyManagement/build.gradle.kts

@@ -11,7 +11,7 @@ data class DependencySet(val group: String, val version: String, val modules: Li
 val dependencyVersions = hashMapOf<String, String>()
 rootProject.extra["versions"] = dependencyVersions
 
-val otelVersion = "1.10.1"
+val otelVersion = "1.11.0"
 rootProject.extra["otelVersion"] = otelVersion
 
 // Need both BOM and -all

+ 13 - 9
javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/AgentTracerProviderConfigurer.java

@@ -10,24 +10,26 @@ import static io.opentelemetry.javaagent.tooling.AgentInstaller.JAVAAGENT_ENABLE
 import com.google.auto.service.AutoService;
 import io.opentelemetry.exporter.logging.LoggingSpanExporter;
 import io.opentelemetry.instrumentation.api.config.Config;
+import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer;
+import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizerProvider;
 import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
-import io.opentelemetry.sdk.autoconfigure.spi.traces.SdkTracerProviderConfigurer;
 import io.opentelemetry.sdk.trace.SdkTracerProviderBuilder;
 import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@AutoService(SdkTracerProviderConfigurer.class)
-public class AgentTracerProviderConfigurer implements SdkTracerProviderConfigurer {
-  private static final Logger logger = LoggerFactory.getLogger(AgentTracerProviderConfigurer.class);
 
+@AutoService(AutoConfigurationCustomizerProvider.class)
+public class AgentTracerProviderConfigurer implements AutoConfigurationCustomizerProvider {
   private static final String ADD_THREAD_DETAILS = "otel.javaagent.add-thread-details";
 
   @Override
-  public void configure(
+  public void customize(AutoConfigurationCustomizer autoConfigurationCustomizer) {
+    autoConfigurationCustomizer.addTracerProviderCustomizer(
+        AgentTracerProviderConfigurer::configure);
+  }
+
+  private static SdkTracerProviderBuilder configure(
       SdkTracerProviderBuilder sdkTracerProviderBuilder, ConfigProperties config) {
     if (!Config.get().getBoolean(JAVAAGENT_ENABLED_CONFIG, true)) {
-      return;
+      return sdkTracerProviderBuilder;
     }
 
     // Register additional thread details logging span processor
@@ -36,6 +38,8 @@ public class AgentTracerProviderConfigurer implements SdkTracerProviderConfigure
     }
 
     maybeEnableLoggingExporter(sdkTracerProviderBuilder);
+
+    return sdkTracerProviderBuilder;
   }
 
   private static void maybeEnableLoggingExporter(SdkTracerProviderBuilder builder) {

+ 38 - 0
testing/agent-exporter/src/main/java/io/opentelemetry/javaagent/testing/exporter/AgentTestingCustomizer.java

@@ -0,0 +1,38 @@
+/*
+ * Copyright The OpenTelemetry Authors
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+package io.opentelemetry.javaagent.testing.exporter;
+
+import com.google.auto.service.AutoService;
+import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizer;
+import io.opentelemetry.sdk.autoconfigure.spi.AutoConfigurationCustomizerProvider;
+import io.opentelemetry.sdk.metrics.export.PeriodicMetricReader;
+import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
+import java.time.Duration;
+
+@AutoService(AutoConfigurationCustomizerProvider.class)
+public class AgentTestingCustomizer implements AutoConfigurationCustomizerProvider {
+
+  static final AgentTestingSpanProcessor spanProcessor =
+      new AgentTestingSpanProcessor(
+          SimpleSpanProcessor.create(AgentTestingExporterFactory.spanExporter));
+
+  static void reset() {
+    spanProcessor.forceFlushCalled = false;
+  }
+
+  @Override
+  public void customize(AutoConfigurationCustomizer autoConfigurationCustomizer) {
+    autoConfigurationCustomizer.addTracerProviderCustomizer(
+        (tracerProvider, config) -> tracerProvider.addSpanProcessor(spanProcessor));
+
+    autoConfigurationCustomizer.addMeterProviderCustomizer(
+        (meterProvider, config) ->
+            meterProvider.registerMetricReader(
+                PeriodicMetricReader.builder(AgentTestingExporterFactory.metricExporter)
+                    .setInterval(Duration.ofMillis(100))
+                    .newMetricReaderFactory()));
+  }
+}

+ 1 - 1
testing/agent-exporter/src/main/java/io/opentelemetry/javaagent/testing/exporter/AgentTestingExporterFactory.java

@@ -32,6 +32,6 @@ public class AgentTestingExporterFactory {
   }
 
   public static boolean forceFlushCalled() {
-    return AgentTestingTracingCustomizer.spanProcessor.forceFlushCalled;
+    return AgentTestingCustomizer.spanProcessor.forceFlushCalled;
   }
 }

+ 0 - 25
testing/agent-exporter/src/main/java/io/opentelemetry/javaagent/testing/exporter/AgentTestingMetricsCustomizer.java

@@ -1,25 +0,0 @@
-/*
- * Copyright The OpenTelemetry Authors
- * SPDX-License-Identifier: Apache-2.0
- */
-
-package io.opentelemetry.javaagent.testing.exporter;
-
-import com.google.auto.service.AutoService;
-import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
-import io.opentelemetry.sdk.autoconfigure.spi.metrics.SdkMeterProviderConfigurer;
-import io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder;
-import io.opentelemetry.sdk.metrics.export.PeriodicMetricReader;
-import java.time.Duration;
-
-@AutoService(SdkMeterProviderConfigurer.class)
-public class AgentTestingMetricsCustomizer implements SdkMeterProviderConfigurer {
-  @Override
-  public void configure(
-      SdkMeterProviderBuilder sdkMeterProviderBuilder, ConfigProperties configProperties) {
-    sdkMeterProviderBuilder.registerMetricReader(
-        PeriodicMetricReader.builder(AgentTestingExporterFactory.metricExporter)
-            .setInterval(Duration.ofMillis(100))
-            .newMetricReaderFactory());
-  }
-}

+ 0 - 29
testing/agent-exporter/src/main/java/io/opentelemetry/javaagent/testing/exporter/AgentTestingTracingCustomizer.java

@@ -1,29 +0,0 @@
-/*
- * Copyright The OpenTelemetry Authors
- * SPDX-License-Identifier: Apache-2.0
- */
-
-package io.opentelemetry.javaagent.testing.exporter;
-
-import com.google.auto.service.AutoService;
-import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
-import io.opentelemetry.sdk.autoconfigure.spi.traces.SdkTracerProviderConfigurer;
-import io.opentelemetry.sdk.trace.SdkTracerProviderBuilder;
-import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
-
-@AutoService(SdkTracerProviderConfigurer.class)
-public class AgentTestingTracingCustomizer implements SdkTracerProviderConfigurer {
-
-  static final AgentTestingSpanProcessor spanProcessor =
-      new AgentTestingSpanProcessor(
-          SimpleSpanProcessor.create(AgentTestingExporterFactory.spanExporter));
-
-  static void reset() {
-    spanProcessor.forceFlushCalled = false;
-  }
-
-  @Override
-  public void configure(SdkTracerProviderBuilder tracerProviderBuilder, ConfigProperties config) {
-    tracerProviderBuilder.addSpanProcessor(spanProcessor);
-  }
-}

+ 2 - 0
testing/agent-exporter/src/main/java/io/opentelemetry/javaagent/testing/exporter/OtlpInMemoryLogExporter.java

@@ -47,6 +47,8 @@ class OtlpInMemoryLogExporter implements LogExporter {
   private final Server collector;
   private final LogExporter delegate;
 
+  // TODO(anuraaga): https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5314
+  @SuppressWarnings("deprecation")
   OtlpInMemoryLogExporter() {
     String serverName = InProcessServerBuilder.generateName();
 

+ 2 - 0
testing/agent-exporter/src/main/java/io/opentelemetry/javaagent/testing/exporter/OtlpInMemoryMetricExporter.java

@@ -47,6 +47,8 @@ class OtlpInMemoryMetricExporter implements MetricExporter {
   private final Server collector;
   private final MetricExporter delegate;
 
+  // TODO(anuraaga): https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5314
+  @SuppressWarnings("deprecation")
   OtlpInMemoryMetricExporter() {
     String serverName = InProcessServerBuilder.generateName();
 

+ 2 - 0
testing/agent-exporter/src/main/java/io/opentelemetry/javaagent/testing/exporter/OtlpInMemorySpanExporter.java

@@ -47,6 +47,8 @@ class OtlpInMemorySpanExporter implements SpanExporter {
   private final Server collector;
   private final SpanExporter delegate;
 
+  // TODO(anuraaga): https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/5314
+  @SuppressWarnings("deprecation")
   OtlpInMemorySpanExporter() {
     String serverName = InProcessServerBuilder.generateName();