diff --git a/instrumentation/apache-elasticjob-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apacheelasticjob/v3_0/ElasticJobSingletons.java b/instrumentation/apache-elasticjob-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apacheelasticjob/v3_0/ElasticJobSingletons.java index 4baeb2c9f3d3..20e8c5863335 100644 --- a/instrumentation/apache-elasticjob-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apacheelasticjob/v3_0/ElasticJobSingletons.java +++ b/instrumentation/apache-elasticjob-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apacheelasticjob/v3_0/ElasticJobSingletons.java @@ -7,18 +7,19 @@ import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.api.common.AttributeKey; +import io.opentelemetry.instrumentation.api.incubator.config.internal.DeclarativeConfigUtil; import io.opentelemetry.instrumentation.api.incubator.semconv.code.CodeAttributesExtractor; import io.opentelemetry.instrumentation.api.incubator.semconv.code.CodeSpanNameExtractor; import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; import io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder; -import io.opentelemetry.javaagent.bootstrap.internal.AgentInstrumentationConfig; public final class ElasticJobSingletons { private static final String INSTRUMENTATION_NAME = "io.opentelemetry.apache-elasticjob-3.0"; private static final boolean CAPTURE_EXPERIMENTAL_SPAN_ATTRIBUTES = - AgentInstrumentationConfig.get() - .getBoolean("otel.instrumentation.apache-elasticjob.experimental-span-attributes", false); + DeclarativeConfigUtil.get(GlobalOpenTelemetry.get()) + .get("apache_elasticjob") + .getBoolean("experimental_span_attributes", false); private static final Instrumenter INSTRUMENTER = createInstrumenter(); diff --git a/instrumentation/powerjob-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/powerjob/v4_0/PowerJobSingletons.java b/instrumentation/powerjob-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/powerjob/v4_0/PowerJobSingletons.java index cf49c5d333a3..968dabf3441a 100644 --- a/instrumentation/powerjob-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/powerjob/v4_0/PowerJobSingletons.java +++ b/instrumentation/powerjob-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/powerjob/v4_0/PowerJobSingletons.java @@ -8,6 +8,7 @@ import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.trace.StatusCode; +import io.opentelemetry.instrumentation.api.incubator.config.internal.DeclarativeConfigUtil; import io.opentelemetry.instrumentation.api.incubator.semconv.code.CodeAttributesExtractor; import io.opentelemetry.instrumentation.api.incubator.semconv.code.CodeSpanNameExtractor; import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor; @@ -15,15 +16,15 @@ import io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder; import io.opentelemetry.instrumentation.api.instrumenter.SpanNameExtractor; import io.opentelemetry.instrumentation.api.instrumenter.SpanStatusExtractor; -import io.opentelemetry.javaagent.bootstrap.internal.AgentInstrumentationConfig; import tech.powerjob.worker.core.processor.ProcessResult; public final class PowerJobSingletons { private static final String INSTRUMENTATION_NAME = "io.opentelemetry.powerjob-4.0"; private static final boolean CAPTURE_EXPERIMENTAL_SPAN_ATTRIBUTES = - AgentInstrumentationConfig.get() - .getBoolean("otel.instrumentation.powerjob.experimental-span-attributes", false); + DeclarativeConfigUtil.get(GlobalOpenTelemetry.get()) + .get("powerjob") + .getBoolean("experimental_span_attributes", false); private static final Instrumenter INSTRUMENTER = create(); public static Instrumenter instrumenter() { diff --git a/instrumentation/quartz-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/quartz/v2_0/QuartzSingletons.java b/instrumentation/quartz-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/quartz/v2_0/QuartzSingletons.java index 6d0b5c046575..923be5e8753c 100644 --- a/instrumentation/quartz-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/quartz/v2_0/QuartzSingletons.java +++ b/instrumentation/quartz-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/quartz/v2_0/QuartzSingletons.java @@ -6,16 +6,17 @@ package io.opentelemetry.javaagent.instrumentation.quartz.v2_0; import io.opentelemetry.api.GlobalOpenTelemetry; +import io.opentelemetry.instrumentation.api.incubator.config.internal.DeclarativeConfigUtil; import io.opentelemetry.instrumentation.quartz.v2_0.QuartzTelemetry; -import io.opentelemetry.javaagent.bootstrap.internal.AgentInstrumentationConfig; public final class QuartzSingletons { public static final QuartzTelemetry TELEMETRY = QuartzTelemetry.builder(GlobalOpenTelemetry.get()) .setCaptureExperimentalSpanAttributes( - AgentInstrumentationConfig.get() - .getBoolean("otel.instrumentation.quartz.experimental-span-attributes", false)) + DeclarativeConfigUtil.get(GlobalOpenTelemetry.get()) + .get("quartz") + .getBoolean("experimental_span_attributes", false)) .build(); private QuartzSingletons() {} diff --git a/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/AdviceScope.java b/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/AdviceScope.java index a88b01e99198..ff17a0fcc3f0 100644 --- a/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/AdviceScope.java +++ b/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/AdviceScope.java @@ -5,9 +5,9 @@ package io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0; -import static io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.SpringBatchInstrumentationConfig.shouldTraceItems; import static io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.item.ItemSingletons.getChunkContext; import static io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.item.ItemSingletons.itemInstrumenter; +import static io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.item.ItemSingletons.shouldTraceItems; import io.opentelemetry.context.Context; import io.opentelemetry.context.Scope; diff --git a/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/SpringBatchInstrumentationConfig.java b/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/SpringBatchInstrumentationConfig.java deleted file mode 100644 index 5dac88c313fa..000000000000 --- a/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/SpringBatchInstrumentationConfig.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright The OpenTelemetry Authors - * SPDX-License-Identifier: Apache-2.0 - */ - -package io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0; - -import io.opentelemetry.javaagent.bootstrap.internal.AgentInstrumentationConfig; - -public final class SpringBatchInstrumentationConfig { - - private static final String INSTRUMENTATION_NAME = "io.opentelemetry.spring-batch-3.0"; - - // the item level instrumentation is very chatty so it's disabled by default - private static final boolean ITEM_TRACING_ENABLED = - AgentInstrumentationConfig.get() - .getBoolean("otel.instrumentation.spring-batch.item.enabled", false); - private static final boolean CREATE_ROOT_SPAN_FOR_CHUNK = - AgentInstrumentationConfig.get() - .getBoolean("otel.instrumentation.spring-batch.experimental.chunk.new-trace", false); - - public static String instrumentationName() { - return INSTRUMENTATION_NAME; - } - - public static boolean shouldTraceItems() { - return ITEM_TRACING_ENABLED; - } - - public static boolean shouldCreateRootSpanForChunk() { - return CREATE_ROOT_SPAN_FOR_CHUNK; - } - - private SpringBatchInstrumentationConfig() {} -} diff --git a/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/chunk/ChunkSingletons.java b/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/chunk/ChunkSingletons.java index 3ca325b4e009..62cd770da1c2 100644 --- a/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/chunk/ChunkSingletons.java +++ b/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/chunk/ChunkSingletons.java @@ -6,13 +6,13 @@ package io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.chunk; import static io.opentelemetry.javaagent.bootstrap.Java8BytecodeBridge.currentContext; -import static io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.SpringBatchInstrumentationConfig.instrumentationName; -import static io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.SpringBatchInstrumentationConfig.shouldCreateRootSpanForChunk; +import static io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.job.JobSingletons.instrumentationName; import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.SpanContext; import io.opentelemetry.context.Context; +import io.opentelemetry.instrumentation.api.incubator.config.internal.DeclarativeConfigUtil; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; import io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder; import io.opentelemetry.instrumentation.api.instrumenter.SpanLinksBuilder; @@ -21,6 +21,11 @@ public class ChunkSingletons { + private static final boolean CREATE_ROOT_SPAN_FOR_CHUNK = + DeclarativeConfigUtil.get(GlobalOpenTelemetry.get()) + .get("spring_batch") + .get("chunk/development") + .getBoolean("new_trace", false); private static final Instrumenter INSTRUMENTER; static { @@ -28,7 +33,7 @@ public class ChunkSingletons { Instrumenter.builder( GlobalOpenTelemetry.get(), instrumentationName(), ChunkSingletons::spanName); - if (shouldCreateRootSpanForChunk()) { + if (CREATE_ROOT_SPAN_FOR_CHUNK) { instrumenterBuilder.addSpanLinksExtractor(ChunkSingletons::extractSpanLinks); } @@ -43,7 +48,7 @@ private static void extractSpanLinks( SpanLinksBuilder spanLinks, Context unused, ChunkContextAndBuilder request) { // The context passed will be Context.root() if shouldCreateRootSpanForChunk() Context parentContext = currentContext(); - if (shouldCreateRootSpanForChunk()) { + if (CREATE_ROOT_SPAN_FOR_CHUNK) { SpanContext parentSpanContext = Span.fromContext(parentContext).getSpanContext(); if (parentSpanContext.isValid()) { spanLinks.addLink(parentSpanContext); @@ -62,5 +67,9 @@ private static String spanName(ChunkContextAndBuilder chunkContextAndBuilder) { return "BatchJob " + jobName + "." + stepName + "." + type; } + public static boolean shouldCreateRootSpanForChunk() { + return CREATE_ROOT_SPAN_FOR_CHUNK; + } + private ChunkSingletons() {} } diff --git a/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/chunk/TracingChunkExecutionListener.java b/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/chunk/TracingChunkExecutionListener.java index 3162bf25c92c..a6a276021f1f 100644 --- a/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/chunk/TracingChunkExecutionListener.java +++ b/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/chunk/TracingChunkExecutionListener.java @@ -5,8 +5,8 @@ package io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.chunk; -import static io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.SpringBatchInstrumentationConfig.shouldCreateRootSpanForChunk; import static io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.chunk.ChunkSingletons.chunkInstrumenter; +import static io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.chunk.ChunkSingletons.shouldCreateRootSpanForChunk; import static java.util.Objects.requireNonNull; import io.opentelemetry.context.Context; diff --git a/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/item/ChunkOrientedTaskletInstrumentation.java b/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/item/ChunkOrientedTaskletInstrumentation.java index 08570bf0513e..25ef64007549 100644 --- a/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/item/ChunkOrientedTaskletInstrumentation.java +++ b/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/item/ChunkOrientedTaskletInstrumentation.java @@ -6,7 +6,7 @@ package io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.item; import static io.opentelemetry.javaagent.bootstrap.Java8BytecodeBridge.currentContext; -import static io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.SpringBatchInstrumentationConfig.shouldTraceItems; +import static io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.item.ItemSingletons.shouldTraceItems; import static io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.item.ItemSingletons.startChunk; import static net.bytebuddy.matcher.ElementMatchers.isPublic; import static net.bytebuddy.matcher.ElementMatchers.named; diff --git a/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/item/ItemSingletons.java b/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/item/ItemSingletons.java index 68f8dd247058..1e0ac97dd140 100644 --- a/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/item/ItemSingletons.java +++ b/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/item/ItemSingletons.java @@ -5,11 +5,12 @@ package io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.item; -import static io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.SpringBatchInstrumentationConfig.instrumentationName; +import static io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.job.JobSingletons.instrumentationName; import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.context.Context; import io.opentelemetry.context.ContextKey; +import io.opentelemetry.instrumentation.api.incubator.config.internal.DeclarativeConfigUtil; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; import javax.annotation.Nullable; import org.springframework.batch.core.scope.context.ChunkContext; @@ -20,6 +21,11 @@ public class ItemSingletons { static final String ITEM_OPERATION_WRITE = "ItemWrite"; static final String ITEM_OPERATION_PROCESS = "ItemProcess"; + private static final boolean ITEM_ENABLED = + DeclarativeConfigUtil.get(GlobalOpenTelemetry.get()) + .get("spring_batch") + .get("item") + .getBoolean("enabled", false); private static final Instrumenter INSTRUMENTER = Instrumenter.builder( GlobalOpenTelemetry.get(), instrumentationName(), str -> str) @@ -53,5 +59,9 @@ public static ChunkContext getChunkContext(Context currentContext) { return currentContext.get(CHUNK_CONTEXT_KEY); } + public static boolean shouldTraceItems() { + return ITEM_ENABLED; + } + private ItemSingletons() {} } diff --git a/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/job/JobSingletons.java b/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/job/JobSingletons.java index 1f75b22ea1b1..f3af1c7c814a 100644 --- a/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/job/JobSingletons.java +++ b/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/job/JobSingletons.java @@ -5,28 +5,27 @@ package io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.job; -import static io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.SpringBatchInstrumentationConfig.instrumentationName; - import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.api.common.AttributeKey; +import io.opentelemetry.instrumentation.api.incubator.config.internal.DeclarativeConfigUtil; import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; import io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder; -import io.opentelemetry.javaagent.bootstrap.internal.AgentInstrumentationConfig; import org.springframework.batch.core.JobExecution; public class JobSingletons { + private static final String INSTRUMENTATION_NAME = "io.opentelemetry.spring-batch-3.0"; private static final boolean CAPTURE_EXPERIMENTAL_SPAN_ATTRIBUTES = - AgentInstrumentationConfig.get() - .getBoolean("otel.instrumentation.spring-batch.experimental-span-attributes", false); - + DeclarativeConfigUtil.get(GlobalOpenTelemetry.get()) + .get("spring_batch") + .getBoolean("experimental_span_attributes", false); private static final Instrumenter INSTRUMENTER; static { InstrumenterBuilder instrumenter = Instrumenter.builder( - GlobalOpenTelemetry.get(), instrumentationName(), JobSingletons::extractSpanName); + GlobalOpenTelemetry.get(), INSTRUMENTATION_NAME, JobSingletons::extractSpanName); if (CAPTURE_EXPERIMENTAL_SPAN_ATTRIBUTES) { instrumenter.addAttributesExtractor( AttributesExtractor.constant(AttributeKey.stringKey("job.system"), "spring_batch")); @@ -42,5 +41,9 @@ public static Instrumenter jobInstrumenter() { return INSTRUMENTER; } + public static String instrumentationName() { + return INSTRUMENTATION_NAME; + } + private JobSingletons() {} } diff --git a/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/step/StepSingletons.java b/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/step/StepSingletons.java index 8e681f99a39b..95fc870ad343 100644 --- a/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/step/StepSingletons.java +++ b/instrumentation/spring/spring-batch-3.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/batch/v3_0/step/StepSingletons.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.step; -import static io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.SpringBatchInstrumentationConfig.instrumentationName; +import static io.opentelemetry.javaagent.instrumentation.spring.batch.v3_0.job.JobSingletons.instrumentationName; import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; diff --git a/instrumentation/spring/spring-scheduling-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/scheduling/v3_1/SpringSchedulingSingletons.java b/instrumentation/spring/spring-scheduling-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/scheduling/v3_1/SpringSchedulingSingletons.java index d7d6ad54f818..bd02a255d36a 100644 --- a/instrumentation/spring/spring-scheduling-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/scheduling/v3_1/SpringSchedulingSingletons.java +++ b/instrumentation/spring/spring-scheduling-3.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/scheduling/v3_1/SpringSchedulingSingletons.java @@ -7,18 +7,19 @@ import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.api.common.AttributeKey; +import io.opentelemetry.instrumentation.api.incubator.config.internal.DeclarativeConfigUtil; import io.opentelemetry.instrumentation.api.incubator.semconv.code.CodeAttributesExtractor; import io.opentelemetry.instrumentation.api.incubator.semconv.code.CodeSpanNameExtractor; import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; import io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder; -import io.opentelemetry.javaagent.bootstrap.internal.AgentInstrumentationConfig; public final class SpringSchedulingSingletons { private static final boolean CAPTURE_EXPERIMENTAL_SPAN_ATTRIBUTES = - AgentInstrumentationConfig.get() - .getBoolean("otel.instrumentation.spring-scheduling.experimental-span-attributes", false); + DeclarativeConfigUtil.get(GlobalOpenTelemetry.get()) + .get("spring_scheduling") + .getBoolean("experimental_span_attributes", false); private static final Instrumenter INSTRUMENTER; diff --git a/instrumentation/xxl-job/xxl-job-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/xxljob/common/XxlJobInstrumenterFactory.java b/instrumentation/xxl-job/xxl-job-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/xxljob/common/XxlJobInstrumenterFactory.java index 1544504bdac6..f9414970f861 100644 --- a/instrumentation/xxl-job/xxl-job-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/xxljob/common/XxlJobInstrumenterFactory.java +++ b/instrumentation/xxl-job/xxl-job-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/xxljob/common/XxlJobInstrumenterFactory.java @@ -8,17 +8,18 @@ import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.api.trace.StatusCode; +import io.opentelemetry.instrumentation.api.incubator.config.internal.DeclarativeConfigUtil; import io.opentelemetry.instrumentation.api.incubator.semconv.code.CodeAttributesExtractor; import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor; import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter; import io.opentelemetry.instrumentation.api.instrumenter.InstrumenterBuilder; -import io.opentelemetry.javaagent.bootstrap.internal.AgentInstrumentationConfig; public final class XxlJobInstrumenterFactory { private static final boolean CAPTURE_EXPERIMENTAL_SPAN_ATTRIBUTES = - AgentInstrumentationConfig.get() - .getBoolean("otel.instrumentation.xxl-job.experimental-span-attributes", false); + DeclarativeConfigUtil.get(GlobalOpenTelemetry.get()) + .get("xxl_job") + .getBoolean("experimental_span_attributes", false); public static Instrumenter create(String instrumentationName) { XxlJobCodeAttributesGetter codeAttributesGetter = new XxlJobCodeAttributesGetter();