From 2fe3281643dc1f1d3a64a2c36f825e26d312f2b5 Mon Sep 17 00:00:00 2001 From: jackshirazi Date: Mon, 29 Sep 2025 20:08:55 +0100 Subject: [PATCH 1/6] add sampler --- .../otel/ElasticAutoConfigurationCustomizerProvider.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/custom/src/main/java/co/elastic/otel/ElasticAutoConfigurationCustomizerProvider.java b/custom/src/main/java/co/elastic/otel/ElasticAutoConfigurationCustomizerProvider.java index c7b4b4c62..62c74f214 100644 --- a/custom/src/main/java/co/elastic/otel/ElasticAutoConfigurationCustomizerProvider.java +++ b/custom/src/main/java/co/elastic/otel/ElasticAutoConfigurationCustomizerProvider.java @@ -18,6 +18,7 @@ */ package co.elastic.otel; +import co.elastic.otel.compositesampling.DynamicCompositeParentBasedTraceIdRatioBasedSampler; import co.elastic.otel.dynamicconfig.BlockableLogRecordExporter; import co.elastic.otel.dynamicconfig.BlockableMetricExporter; import co.elastic.otel.dynamicconfig.BlockableSpanExporter; @@ -91,6 +92,7 @@ public void customize(AutoConfigurationCustomizer autoConfiguration) { (providerBuilder, properties) -> { CentralConfig.init(providerBuilder, properties); AgentLog.addSpanLoggingIfRequired(providerBuilder, properties); + providerBuilder.setSampler(DynamicCompositeParentBasedTraceIdRatioBasedSampler.INSTANCE); return providerBuilder; }); } From 975af0f4a563647e1e63ffd728272e6604fecbbc Mon Sep 17 00:00:00 2001 From: jackshirazi Date: Mon, 29 Sep 2025 20:18:10 +0100 Subject: [PATCH 2/6] add sampler --- .../elastic/otel/dynamicconfig/CentralConfig.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java b/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java index a15577fa0..e9e2efd19 100644 --- a/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java +++ b/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java @@ -19,6 +19,7 @@ package co.elastic.otel.dynamicconfig; import co.elastic.otel.dynamicconfig.internal.OpampManager; +import co.elastic.otel.compositesampling.DynamicCompositeParentBasedTraceIdRatioBasedSampler; import co.elastic.otel.logging.AgentLog; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import io.opentelemetry.sdk.trace.SdkTracerProviderBuilder; @@ -299,6 +300,19 @@ void update(String configurationValue, OpampManager opampManager) } } + public static final class SamplingRate extends ConfigOption { + LoggingLevel() { + super("sampling_rate", "1.0"); + } + + @Override + void update(String configurationValue, OpampManager opampManager) + throws IllegalArgumentException { + DynamicCompositeParentBasedTraceIdRatioBasedSampler.setRatio( + Double.parseDouble(configurationValue)); + } + } + public static final class PollingInterval extends ConfigOption { PollingInterval() { super("opamp_polling_interval", "30s"); From f0d91800fc7c97012d7f4efa76473eb052f21922 Mon Sep 17 00:00:00 2001 From: jackshirazi Date: Mon, 29 Sep 2025 20:20:10 +0100 Subject: [PATCH 3/6] fix order --- .../main/java/co/elastic/otel/dynamicconfig/CentralConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java b/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java index e9e2efd19..0ef9ffd9f 100644 --- a/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java +++ b/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java @@ -18,8 +18,8 @@ */ package co.elastic.otel.dynamicconfig; -import co.elastic.otel.dynamicconfig.internal.OpampManager; import co.elastic.otel.compositesampling.DynamicCompositeParentBasedTraceIdRatioBasedSampler; +import co.elastic.otel.dynamicconfig.internal.OpampManager; import co.elastic.otel.logging.AgentLog; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; import io.opentelemetry.sdk.trace.SdkTracerProviderBuilder; From eca5819336b297a1cbc7fa5af17f19555cfbe1e6 Mon Sep 17 00:00:00 2001 From: jackshirazi Date: Mon, 29 Sep 2025 20:37:10 +0100 Subject: [PATCH 4/6] fix typos --- .../main/java/co/elastic/otel/dynamicconfig/CentralConfig.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java b/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java index 0ef9ffd9f..02b966e39 100644 --- a/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java +++ b/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java @@ -129,6 +129,7 @@ public static class Configs { new DeactivateAllInstrumentations(), new DeactivateInstrumentations(), new LoggingLevel(), + new SamplingRate(); new PollingInterval()) .collect(Collectors.toMap(ConfigOption::getConfigName, option -> option)); } @@ -301,7 +302,7 @@ void update(String configurationValue, OpampManager opampManager) } public static final class SamplingRate extends ConfigOption { - LoggingLevel() { + SamplingRate() { super("sampling_rate", "1.0"); } From 1fdd805c1a29b75468258b903f5fa1ef32a050b3 Mon Sep 17 00:00:00 2001 From: jackshirazi Date: Mon, 29 Sep 2025 20:43:42 +0100 Subject: [PATCH 5/6] another typo --- .../main/java/co/elastic/otel/dynamicconfig/CentralConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java b/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java index 02b966e39..70e51c39b 100644 --- a/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java +++ b/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java @@ -129,7 +129,7 @@ public static class Configs { new DeactivateAllInstrumentations(), new DeactivateInstrumentations(), new LoggingLevel(), - new SamplingRate(); + new SamplingRate(), new PollingInterval()) .collect(Collectors.toMap(ConfigOption::getConfigName, option -> option)); } From d65aede5d9025c439a0e0bcca6fb095aeb156fd5 Mon Sep 17 00:00:00 2001 From: Jack Shirazi Date: Mon, 29 Sep 2025 21:23:02 +0100 Subject: [PATCH 6/6] spotless --- .../main/java/co/elastic/otel/dynamicconfig/CentralConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java b/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java index 70e51c39b..17eff61e6 100644 --- a/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java +++ b/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java @@ -310,7 +310,7 @@ public static final class SamplingRate extends ConfigOption { void update(String configurationValue, OpampManager opampManager) throws IllegalArgumentException { DynamicCompositeParentBasedTraceIdRatioBasedSampler.setRatio( - Double.parseDouble(configurationValue)); + Double.parseDouble(configurationValue)); } }