From 2dce2306c3d7ff6f05f7b74288e326622852df24 Mon Sep 17 00:00:00 2001 From: Sylvain Juge <763082+SylvainJuge@users.noreply.github.com> Date: Mon, 12 Oct 2026 11:46:14 +0200 Subject: [PATCH 1/4] make opamp client less chatty --- .../elastic/otel/dynamicconfig/internal/OpampManager.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/custom/src/main/java/co/elastic/otel/dynamicconfig/internal/OpampManager.java b/custom/src/main/java/co/elastic/otel/dynamicconfig/internal/OpampManager.java index 52a7e0208..3b4a4589a 100644 --- a/custom/src/main/java/co/elastic/otel/dynamicconfig/internal/OpampManager.java +++ b/custom/src/main/java/co/elastic/otel/dynamicconfig/internal/OpampManager.java @@ -174,17 +174,17 @@ private Map parseCentralConfiguration(ByteString centralConfig) @Override public void onConnect(OpampClient client) { - logger.log(Level.INFO, "onConnect({0})", client); + logger.log(Level.FINE, "onConnect({0})", client); } @Override public void onConnectFailed(OpampClient client, @Nullable Throwable throwable) { - logger.log(Level.INFO, "onConnect({0}, {1})", new Object[] {client, throwable}); + logger.log(Level.WARNING, "onConnectFailed({0}, {1})", new Object[] {client, throwable}); } @Override public void onErrorResponse(OpampClient client, @Nonnull ServerErrorResponse errorResponse) { - logger.log(Level.INFO, "onErrorResponse({0}, {1})", new Object[] {client, errorResponse}); + logger.log(Level.WARNING, "onErrorResponse({0}, {1})", new Object[] {client, errorResponse}); } } From 6392ac78f5e6e856742b2635dffa8cd27f95d698 Mon Sep 17 00:00:00 2001 From: Sylvain Juge <763082+SylvainJuge@users.noreply.github.com> Date: Mon, 12 Oct 2026 15:23:07 +0200 Subject: [PATCH 2/4] remove taskinfo plugin (unused) --- agent/build.gradle.kts | 1 - gradle/libs.versions.toml | 1 - resources/build.gradle.kts | 1 - smoke-tests/build.gradle | 1 - smoke-tests/test-app-war/build.gradle.kts | 1 - smoke-tests/test-app/build.gradle.kts | 1 - 6 files changed, 6 deletions(-) diff --git a/agent/build.gradle.kts b/agent/build.gradle.kts index 3a21b2b7a..0c21989ef 100644 --- a/agent/build.gradle.kts +++ b/agent/build.gradle.kts @@ -2,7 +2,6 @@ plugins { id("elastic-otel.agent-packaging-conventions") id("elastic-otel.sign-and-publish-conventions") id("elastic-otel.license-report-conventions") - alias(catalog.plugins.taskinfo) } description = "Elastic Distribution of OpenTelemetry Java Agent" diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 63d016920..e61707976 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -98,7 +98,6 @@ log4j2 = ["log4j2-core", "log4j2-slf4j"] [plugins] jib = { id = "com.google.cloud.tools.jib", version.ref = "jib" } -taskinfo = { id = "org.barfuin.gradle.taskinfo", version = '3.1.0' } jmh = { id = "me.champeau.jmh", version = "0.7.3" } nexusPublish = { id = "io.github.gradle-nexus.publish-plugin", version = '2.0.0' } dockerJavaApplication = { id = "com.bmuschko.docker-java-application", version = "10.0.0" } diff --git a/resources/build.gradle.kts b/resources/build.gradle.kts index a0c866cd9..9915ac1ba 100644 --- a/resources/build.gradle.kts +++ b/resources/build.gradle.kts @@ -1,6 +1,5 @@ plugins { id("elastic-otel.java-conventions") - alias(catalog.plugins.taskinfo) } dependencies { diff --git a/smoke-tests/build.gradle b/smoke-tests/build.gradle index ffd723a08..339193b54 100644 --- a/smoke-tests/build.gradle +++ b/smoke-tests/build.gradle @@ -1,7 +1,6 @@ // TODO : convert to kotlin for consistency plugins { id("elastic-otel.java-conventions") - alias catalog.plugins.taskinfo } configurations { diff --git a/smoke-tests/test-app-war/build.gradle.kts b/smoke-tests/test-app-war/build.gradle.kts index f826481a6..473c3806a 100644 --- a/smoke-tests/test-app-war/build.gradle.kts +++ b/smoke-tests/test-app-war/build.gradle.kts @@ -1,6 +1,5 @@ plugins { id("elastic-otel.java-conventions") - alias(catalog.plugins.taskinfo) war } diff --git a/smoke-tests/test-app/build.gradle.kts b/smoke-tests/test-app/build.gradle.kts index b98a1c0bc..fd5ae3dd5 100644 --- a/smoke-tests/test-app/build.gradle.kts +++ b/smoke-tests/test-app/build.gradle.kts @@ -2,7 +2,6 @@ plugins { id("com.gradleup.shadow") id("elastic-otel.java-conventions") alias(catalog.plugins.jib) - alias(catalog.plugins.taskinfo) } val mainClass = "co.elastic.otel.test.AppMain" From 356451a218c23a27d34ced57f3e086dd9a1dfb6a Mon Sep 17 00:00:00 2001 From: Sylvain Juge <763082+SylvainJuge@users.noreply.github.com> Date: Mon, 12 Oct 2026 12:10:12 +0200 Subject: [PATCH 3/4] minor re-wording in central config --- .../otel/dynamicconfig/CentralConfig.java | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) 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 789d95dac..3761cd9ea 100644 --- a/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java +++ b/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java @@ -207,48 +207,48 @@ public static void applyConfiguration( public abstract static class ConfigOption { protected final String configName; - protected final String defaultConfigStringValue; + protected final String defaultValue; - protected ConfigOption(String configName1, String defaultConfigStringValue1) { - configName = configName1; - defaultConfigStringValue = defaultConfigStringValue1; + protected ConfigOption(String name, String defaultValue) { + this.configName = name; + this.defaultValue = defaultValue; } public String getConfigName() { return configName; } - protected boolean getBoolean(String configurationValue) { + protected boolean getBoolean(String value) { String error = "'" + getConfigName() + "' configuration option can only be 'true' or 'false' but is: {0}"; - return getBoolean(configurationValue, error); + return getBoolean(value, error); } - protected boolean getBoolean(String configurationValue, String error) { - if ("true".equalsIgnoreCase(configurationValue)) { + protected boolean getBoolean(String value, String error) { + if ("true".equalsIgnoreCase(value)) { return true; - } else if ("false".equalsIgnoreCase(configurationValue)) { + } else if ("false".equalsIgnoreCase(value)) { return false; } else { - throw new IllegalArgumentException(MessageFormat.format(error, configurationValue)); + throw new IllegalArgumentException(MessageFormat.format(error, value)); } } - public void updateOrLog(String configurationValue, OpampManager opampManager) { + public void updateOrLog(String value, OpampManager opampManager) { try { - update(configurationValue, opampManager); + update(value, opampManager); } catch (IllegalArgumentException e) { logger.warning(e.getMessage()); } } - abstract void update(String configurationValue, OpampManager opampManager) + abstract void update(String value, OpampManager opampManager) throws IllegalArgumentException; public void updateToDefault(OpampManager opampManager) { - update(defaultConfigStringValue, opampManager); + update(defaultValue, opampManager); } protected DynamicConfiguration config() { From ec307a825e1cef918864d450137bdfb115b11cec Mon Sep 17 00:00:00 2001 From: Sylvain Juge <763082+SylvainJuge@users.noreply.github.com> Date: Mon, 12 Oct 2026 12:27:01 +0200 Subject: [PATCH 4/4] remove runtime exception from signature --- .../otel/dynamicconfig/CentralConfig.java | 32 +++++++------------ 1 file changed, 11 insertions(+), 21 deletions(-) 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 3761cd9ea..c31e3f79a 100644 --- a/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java +++ b/custom/src/main/java/co/elastic/otel/dynamicconfig/CentralConfig.java @@ -239,13 +239,12 @@ protected boolean getBoolean(String value, String error) { public void updateOrLog(String value, OpampManager opampManager) { try { update(value, opampManager); - } catch (IllegalArgumentException e) { + } catch (RuntimeException e) { logger.warning(e.getMessage()); } } - abstract void update(String value, OpampManager opampManager) - throws IllegalArgumentException; + abstract void update(String value, OpampManager opampManager); public void updateToDefault(OpampManager opampManager) { update(defaultValue, opampManager); @@ -262,8 +261,7 @@ public static final class SendLogs extends ConfigOption { } @Override - void update(String configurationValue, OpampManager opampManager) - throws IllegalArgumentException { + void update(String configurationValue, OpampManager opampManager) { config().setSendingLogs(getBoolean(configurationValue)); } } @@ -274,8 +272,7 @@ public static final class SendMetrics extends ConfigOption { } @Override - void update(String configurationValue, OpampManager opampManager) - throws IllegalArgumentException { + void update(String configurationValue, OpampManager opampManager) { config().setSendingMetrics(getBoolean(configurationValue)); } } @@ -286,8 +283,7 @@ public static final class SendTraces extends ConfigOption { } @Override - void update(String configurationValue, OpampManager opampManager) - throws IllegalArgumentException { + void update(String configurationValue, OpampManager opampManager) { config().setSendingSpans(getBoolean(configurationValue)); } } @@ -298,8 +294,7 @@ public static final class DeactivateAllInstrumentations extends ConfigOption { } @Override - void update(String configurationValue, OpampManager opampManager) - throws IllegalArgumentException { + void update(String configurationValue, OpampManager opampManager) { if (getBoolean(configurationValue)) { config().deactivateAllInstrumentations(); } else { @@ -314,8 +309,7 @@ public static final class DeactivateInstrumentations extends ConfigOption { } @Override - void update(String configurationValue, OpampManager opampManager) - throws IllegalArgumentException { + void update(String configurationValue, OpampManager opampManager) { config().deactivateInstrumentations(configurationValue); } } @@ -326,8 +320,7 @@ public static final class LoggingLevel extends ConfigOption { } @Override - void update(String configurationValue, OpampManager opampManager) - throws IllegalArgumentException { + void update(String configurationValue, OpampManager opampManager) { AgentLog.setLevel(configurationValue); } } @@ -338,8 +331,7 @@ public static final class SamplingRate extends ConfigOption { } @Override - void update(String configurationValue, OpampManager opampManager) - throws IllegalArgumentException { + void update(String configurationValue, OpampManager opampManager) { ConfigLoggingAgentListener.updateSamplingRate(Double.parseDouble(configurationValue)); } } @@ -350,8 +342,7 @@ public static final class InferSpans extends ConfigOption { } @Override - void update(String configurationValue, OpampManager opampManager) - throws IllegalArgumentException { + void update(String configurationValue, OpampManager opampManager) { // TODO when setProfilerInterval() returns the old value, use that for 'true' InferredSpans.setProfilerInterval( configurationValue.equals("true") @@ -366,8 +357,7 @@ public static final class PollingInterval extends ConfigOption { } @Override - void update(String configurationValue, OpampManager opampManager) - throws IllegalArgumentException { + void update(String configurationValue, OpampManager opampManager) { try { Duration duration = Duration.parse("PT" + configurationValue); opampManager.setPollingDelay(duration);