From 19cca1e925ba59803b77a8cd17cc1d93998ef4d4 Mon Sep 17 00:00:00 2001 From: Caleb Metz Date: Mon, 31 Jul 2023 16:11:48 -0400 Subject: [PATCH 1/9] failing attempt --- src/main/java/org/datadog/jmxfetch/Instance.java | 10 ++++++++++ .../org/datadog/jmxfetch/jmxfetch_telemetry.yaml | 11 +++++++++++ 2 files changed, 21 insertions(+) create mode 100644 src/main/resources/org/datadog/jmxfetch/jmxfetch_telemetry.yaml diff --git a/src/main/java/org/datadog/jmxfetch/Instance.java b/src/main/java/org/datadog/jmxfetch/Instance.java index e924284b3..3f81f51c4 100644 --- a/src/main/java/org/datadog/jmxfetch/Instance.java +++ b/src/main/java/org/datadog/jmxfetch/Instance.java @@ -250,6 +250,16 @@ public Instance( } } + if (this.initConfig != null) { + Boolean jmxfetchTelemetry = (Boolean) this.initConfig.get("jmxfetch_telemetry"); + if (jmxfetchTelemetry != null && jmxfetchTelemetry) { + loadDefaultConfig("jmxfetch_telemetry.yaml"); + } else { + log.info("jmxfetch_telemetry is false - not collecting jmxfetch telemetry"); + } + } + + Boolean collectDefaultJvmMetrics = (Boolean) instanceMap.get("collect_default_jvm_metrics"); if (collectDefaultJvmMetrics == null || collectDefaultJvmMetrics) { loadDefaultConfig("default-jmx-metrics.yaml"); diff --git a/src/main/resources/org/datadog/jmxfetch/jmxfetch_telemetry.yaml b/src/main/resources/org/datadog/jmxfetch/jmxfetch_telemetry.yaml new file mode 100644 index 000000000..62472e5db --- /dev/null +++ b/src/main/resources/org/datadog/jmxfetch/jmxfetch_telemetry.yaml @@ -0,0 +1,11 @@ +init_config: + is_jmx: true + java_options: "-Djdk.attach.allowAttachSelf=true" + +instances: + - process_name_regex: .*org.datadog.jmxfetch.App.* + name: jmxfetch_telemetry_test + collect_default_jvm_metrics: true + new_gc_metrics: true + tags: + - jmx:fetch From ee586ce34ae8e260033547e636951e4f7eadd24c Mon Sep 17 00:00:00 2001 From: Caleb Metz Date: Mon, 7 Aug 2023 09:13:20 -0400 Subject: [PATCH 2/9] removed logic for adding jmx_tele into a init conf --- src/main/java/org/datadog/jmxfetch/Instance.java | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/main/java/org/datadog/jmxfetch/Instance.java b/src/main/java/org/datadog/jmxfetch/Instance.java index 3f81f51c4..3f5cbb451 100644 --- a/src/main/java/org/datadog/jmxfetch/Instance.java +++ b/src/main/java/org/datadog/jmxfetch/Instance.java @@ -250,15 +250,6 @@ public Instance( } } - if (this.initConfig != null) { - Boolean jmxfetchTelemetry = (Boolean) this.initConfig.get("jmxfetch_telemetry"); - if (jmxfetchTelemetry != null && jmxfetchTelemetry) { - loadDefaultConfig("jmxfetch_telemetry.yaml"); - } else { - log.info("jmxfetch_telemetry is false - not collecting jmxfetch telemetry"); - } - } - Boolean collectDefaultJvmMetrics = (Boolean) instanceMap.get("collect_default_jvm_metrics"); if (collectDefaultJvmMetrics == null || collectDefaultJvmMetrics) { From b23544a2f8687004e5e2c8e39e84f39c48768788 Mon Sep 17 00:00:00 2001 From: Caleb Metz Date: Mon, 7 Aug 2023 10:29:34 -0400 Subject: [PATCH 3/9] temp debug logs --- src/main/java/org/datadog/jmxfetch/App.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/org/datadog/jmxfetch/App.java b/src/main/java/org/datadog/jmxfetch/App.java index 4f3e3aee5..73b9ffcb0 100644 --- a/src/main/java/org/datadog/jmxfetch/App.java +++ b/src/main/java/org/datadog/jmxfetch/App.java @@ -650,6 +650,7 @@ private Map getConfigs(final AppConfig config) { private void loadFileConfigs(final AppConfig config, final Map configs) { final List fileList = config.getYamlFileList(); + log.info("CALEB: loadFileConfigs list is " + fileList); if (fileList != null) { for (final String fileName : fileList) { final File file = new File(config.getConfdDirectory(), fileName); @@ -670,6 +671,7 @@ private void loadFileConfigs(final AppConfig config, final Map configs) { final List resourceConfigList = config.getInstanceConfigResources(); + log.info("CALEB: loadResourceConfigs list is " + resourceConfigList); if (resourceConfigList != null) { final ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); for (final String resourceName : resourceConfigList) { From 2619424d9acf74bcb1cc2c7dd53b413197f9e80d Mon Sep 17 00:00:00 2001 From: Caleb Metz Date: Tue, 8 Aug 2023 15:05:26 -0400 Subject: [PATCH 4/9] added logic for in-code check configuration --- src/main/java/org/datadog/jmxfetch/App.java | 39 +++++++++++++++++-- .../java/org/datadog/jmxfetch/AppConfig.java | 10 +++++ 2 files changed, 46 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/datadog/jmxfetch/App.java b/src/main/java/org/datadog/jmxfetch/App.java index 73b9ffcb0..9ea9be2a9 100644 --- a/src/main/java/org/datadog/jmxfetch/App.java +++ b/src/main/java/org/datadog/jmxfetch/App.java @@ -62,6 +62,7 @@ public class App { private static final Charset UTF_8 = Charset.forName("UTF-8"); private static final String COLLECTION_POOL_NAME = "jmxfetch-collectionPool"; private static final String RECOVERY_POOL_NAME = "jmxfetch-recoveryPool"; + private static final String INSTANCE_TELEMETRY_NAME = "jmxfetch_telemetry"; private static final ByteArraySearcher CONFIG_TERM_SEARCHER = new ByteArraySearcher(App.AD_CONFIG_TERM.getBytes()); @@ -650,7 +651,6 @@ private Map getConfigs(final AppConfig config) { private void loadFileConfigs(final AppConfig config, final Map configs) { final List fileList = config.getYamlFileList(); - log.info("CALEB: loadFileConfigs list is " + fileList); if (fileList != null) { for (final String fileName : fileList) { final File file = new File(config.getConfdDirectory(), fileName); @@ -671,7 +671,6 @@ private void loadFileConfigs(final AppConfig config, final Map configs) { final List resourceConfigList = config.getInstanceConfigResources(); - log.info("CALEB: loadResourceConfigs list is " + resourceConfigList); if (resourceConfigList != null) { final ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); for (final String resourceName : resourceConfigList) { @@ -697,6 +696,20 @@ private void loadResourceConfigs( } } + private void addInstanceTelemetryCheck (){ + String additionalConfigs = "{\"configs\":{\"" + INSTANCE_TELEMETRY_NAME + "\":{\"check_name\":\"jmxfetch_telemetry1\",\"init_config\":{\"is_jmx\":true},\"instances\":[{\"collect_default_jvm_metrics\":true,\"name\":\"jmxfetch_telemetry2\",\"conf\":[{\"include\":{\"domain\":\"jmxFetch\"}}],\"new_gc_metrics\":true,\"process_name_regex\":\".*org.datadog.jmxfetch.App.*\",\"tags\":[\"jmx:fetch\"]}]}}}"; + byte[] utf8 = additionalConfigs.getBytes(UTF_8); + try { + InputStream jsonInputStream = new ByteArrayInputStream(utf8); + JsonParser parser = new JsonParser(jsonInputStream); + Map additionalJsonConfigs = (Map) parser.getJsonConfigs(); + adJsonConfigs.put(INSTANCE_TELEMETRY_NAME,additionalJsonConfigs.get(INSTANCE_TELEMETRY_NAME)); + } catch (IOException e) { + log.warn("Unable to configure jmxfetch_telemetry check",e); + } + + } + private boolean getJsonConfigs() { HttpClient.HttpResponse response; boolean update = false; @@ -731,6 +744,26 @@ private boolean getJsonConfigs() { for (String checkName : adJsonConfigs.keySet()) { log.debug("received config for check '" + checkName + "'"); } + + if(appConfig.getInstanceTelemetry()) { + // Remove jmxfetch_telemetry check if it is the only remaining jmxfetch check + if (adJsonConfigs.size() == 1) { + if(adJsonConfigs.containsKey(INSTANCE_TELEMETRY_NAME)){ + log.info("jmxfetch_telemetry is the only remaining check configured, removing now"); + adJsonConfigs.remove(INSTANCE_TELEMETRY_NAME); + } + } + // If we have at least one check and jmxfetch_telemetry isnt already added lets add it + if (adJsonConfigs.size() >= 1){ + if(!adJsonConfigs.containsKey(INSTANCE_TELEMETRY_NAME)){ + log.info("Adding jmxfetch instance telemetry to list of configured checks"); + addInstanceTelemetryCheck(); + } + } + } + + + } } catch (JsonProcessingException e) { log.error("error processing JSON response: " + e); @@ -868,7 +901,7 @@ public void init(final boolean forceNewConnection) { } // Create a new Instance object - log.info("Instantiating instance for: {}", name); + log.info("Instantiating configs instance for: {}", name); final Instance instance = instantiate( configInstance, diff --git a/src/main/java/org/datadog/jmxfetch/AppConfig.java b/src/main/java/org/datadog/jmxfetch/AppConfig.java index c76a265d1..cda058868 100644 --- a/src/main/java/org/datadog/jmxfetch/AppConfig.java +++ b/src/main/java/org/datadog/jmxfetch/AppConfig.java @@ -122,6 +122,12 @@ public class AppConfig { required = false) private boolean statsdTelemetry; + @Parameter( + names = {"--instance_telemetry", "-it"}, + description = "Enable jmxfetch instance telemetry reporting", + required = false) + private boolean instanceTelemetry; + @Parameter( names = {"--statsd_queue_size", "-sq"}, description = "Maximum number of unprocessed messages in the StatsD client queue.", @@ -411,6 +417,10 @@ public boolean getStatsdTelemetry() { return statsdTelemetry; } + public boolean getInstanceTelemetry() { + return instanceTelemetry; + } + public int getStatsdQueueSize() { return statsdQueueSize; } From 100e7ec899dab3631d87c9fb59d7bfa8f5e80cf7 Mon Sep 17 00:00:00 2001 From: Caleb Metz Date: Tue, 8 Aug 2023 16:17:13 -0400 Subject: [PATCH 5/9] updated some formatting --- src/main/java/org/datadog/jmxfetch/App.java | 24 ++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/datadog/jmxfetch/App.java b/src/main/java/org/datadog/jmxfetch/App.java index 9ea9be2a9..af4bc876b 100644 --- a/src/main/java/org/datadog/jmxfetch/App.java +++ b/src/main/java/org/datadog/jmxfetch/App.java @@ -696,14 +696,14 @@ private void loadResourceConfigs( } } - private void addInstanceTelemetryCheck (){ - String additionalConfigs = "{\"configs\":{\"" + INSTANCE_TELEMETRY_NAME + "\":{\"check_name\":\"jmxfetch_telemetry1\",\"init_config\":{\"is_jmx\":true},\"instances\":[{\"collect_default_jvm_metrics\":true,\"name\":\"jmxfetch_telemetry2\",\"conf\":[{\"include\":{\"domain\":\"jmxFetch\"}}],\"new_gc_metrics\":true,\"process_name_regex\":\".*org.datadog.jmxfetch.App.*\",\"tags\":[\"jmx:fetch\"]}]}}}"; - byte[] utf8 = additionalConfigs.getBytes(UTF_8); + private void addInstanceTelemetryCheck() { + String extraConfigs = "{\"configs\":{\"" + INSTANCE_TELEMETRY_NAME + "\":{\"check_name\":\"jmxfetch_telemetry1\",\"init_config\":{\"is_jmx\":true},\"instances\":[{\"collect_default_jvm_metrics\":true,\"name\":\"jmxfetch_telemetry2\",\"conf\":[{\"include\":{\"domain\":\"jmxFetch\"}}],\"new_gc_metrics\":true,\"process_name_regex\":\".*org.datadog.jmxfetch.App.*\",\"tags\":[\"jmx:fetch\"]}]}}}"; + byte[] utf8 = extraConfigs.getBytes(UTF_8); try { InputStream jsonInputStream = new ByteArrayInputStream(utf8); JsonParser parser = new JsonParser(jsonInputStream); - Map additionalJsonConfigs = (Map) parser.getJsonConfigs(); - adJsonConfigs.put(INSTANCE_TELEMETRY_NAME,additionalJsonConfigs.get(INSTANCE_TELEMETRY_NAME)); + Map extraJsonConfigs = (Map) parser.getJsonConfigs(); + adJsonConfigs.put(INSTANCE_TELEMETRY_NAME,extraJsonConfigs.get(INSTANCE_TELEMETRY_NAME)); } catch (IOException e) { log.warn("Unable to configure jmxfetch_telemetry check",e); } @@ -745,18 +745,18 @@ private boolean getJsonConfigs() { log.debug("received config for check '" + checkName + "'"); } - if(appConfig.getInstanceTelemetry()) { + if (appConfig.getInstanceTelemetry()) { // Remove jmxfetch_telemetry check if it is the only remaining jmxfetch check if (adJsonConfigs.size() == 1) { - if(adJsonConfigs.containsKey(INSTANCE_TELEMETRY_NAME)){ - log.info("jmxfetch_telemetry is the only remaining check configured, removing now"); + if (adJsonConfigs.containsKey(INSTANCE_TELEMETRY_NAME)){ + log.info("jmxfetch_telemetry is the only check, removing now"); adJsonConfigs.remove(INSTANCE_TELEMETRY_NAME); } } - // If we have at least one check and jmxfetch_telemetry isnt already added lets add it - if (adJsonConfigs.size() >= 1){ - if(!adJsonConfigs.containsKey(INSTANCE_TELEMETRY_NAME)){ - log.info("Adding jmxfetch instance telemetry to list of configured checks"); + // If we have at least one check and jmxfetch_telemetry isnt already added, add it + if (adJsonConfigs.size() >= 1) { + if (!adJsonConfigs.containsKey(INSTANCE_TELEMETRY_NAME)) { + log.info("Adding jmxfetch instance telemetry to configured checks"); addInstanceTelemetryCheck(); } } From d5f23d4066be94b6f35f8726785abdeaaaf64d30 Mon Sep 17 00:00:00 2001 From: Caleb Metz Date: Wed, 9 Aug 2023 13:41:10 -0400 Subject: [PATCH 6/9] simplified process --- src/main/java/org/datadog/jmxfetch/App.java | 75 ++++++++++--------- .../datadog/jmxfetch/jmxfetch_telemetry.yaml | 11 --- 2 files changed, 40 insertions(+), 46 deletions(-) delete mode 100644 src/main/resources/org/datadog/jmxfetch/jmxfetch_telemetry.yaml diff --git a/src/main/java/org/datadog/jmxfetch/App.java b/src/main/java/org/datadog/jmxfetch/App.java index af4bc876b..a5b04c0fd 100644 --- a/src/main/java/org/datadog/jmxfetch/App.java +++ b/src/main/java/org/datadog/jmxfetch/App.java @@ -28,6 +28,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.Collections; +import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.ListIterator; @@ -62,7 +63,6 @@ public class App { private static final Charset UTF_8 = Charset.forName("UTF-8"); private static final String COLLECTION_POOL_NAME = "jmxfetch-collectionPool"; private static final String RECOVERY_POOL_NAME = "jmxfetch-recoveryPool"; - private static final String INSTANCE_TELEMETRY_NAME = "jmxfetch_telemetry"; private static final ByteArraySearcher CONFIG_TERM_SEARCHER = new ByteArraySearcher(App.AD_CONFIG_TERM.getBytes()); @@ -696,20 +696,6 @@ private void loadResourceConfigs( } } - private void addInstanceTelemetryCheck() { - String extraConfigs = "{\"configs\":{\"" + INSTANCE_TELEMETRY_NAME + "\":{\"check_name\":\"jmxfetch_telemetry1\",\"init_config\":{\"is_jmx\":true},\"instances\":[{\"collect_default_jvm_metrics\":true,\"name\":\"jmxfetch_telemetry2\",\"conf\":[{\"include\":{\"domain\":\"jmxFetch\"}}],\"new_gc_metrics\":true,\"process_name_regex\":\".*org.datadog.jmxfetch.App.*\",\"tags\":[\"jmx:fetch\"]}]}}}"; - byte[] utf8 = extraConfigs.getBytes(UTF_8); - try { - InputStream jsonInputStream = new ByteArrayInputStream(utf8); - JsonParser parser = new JsonParser(jsonInputStream); - Map extraJsonConfigs = (Map) parser.getJsonConfigs(); - adJsonConfigs.put(INSTANCE_TELEMETRY_NAME,extraJsonConfigs.get(INSTANCE_TELEMETRY_NAME)); - } catch (IOException e) { - log.warn("Unable to configure jmxfetch_telemetry check",e); - } - - } - private boolean getJsonConfigs() { HttpClient.HttpResponse response; boolean update = false; @@ -744,26 +730,6 @@ private boolean getJsonConfigs() { for (String checkName : adJsonConfigs.keySet()) { log.debug("received config for check '" + checkName + "'"); } - - if (appConfig.getInstanceTelemetry()) { - // Remove jmxfetch_telemetry check if it is the only remaining jmxfetch check - if (adJsonConfigs.size() == 1) { - if (adJsonConfigs.containsKey(INSTANCE_TELEMETRY_NAME)){ - log.info("jmxfetch_telemetry is the only check, removing now"); - adJsonConfigs.remove(INSTANCE_TELEMETRY_NAME); - } - } - // If we have at least one check and jmxfetch_telemetry isnt already added, add it - if (adJsonConfigs.size() >= 1) { - if (!adJsonConfigs.containsKey(INSTANCE_TELEMETRY_NAME)) { - log.info("Adding jmxfetch instance telemetry to configured checks"); - addInstanceTelemetryCheck(); - } - } - } - - - } } catch (JsonProcessingException e) { log.error("error processing JSON response: " + e); @@ -932,6 +898,17 @@ public void init(final boolean forceNewConnection) { } } + if (appConfig.getInstanceTelemetry()) { + // If we have at least one check add jmxfetch_telemetry check + if (newInstances.size() >= 1) { + log.info("Adding jmxfetch instance telemetry check"); + final Instance instance = instantiate(getInstanceTelemetryInstanceConfig(), + getInstanceTelemetryInitConfig(), "jmxfetch_telemetry_check", + this.appConfig); + newInstances.add(instance); + } + } + final List> instanceInitTasks = new ArrayList<>(newInstances.size()); for (Instance instance : newInstances) { @@ -980,6 +957,34 @@ public TaskStatusHandler invoke( } } + private Map getInstanceTelemetryInitConfig() { + Map config = new HashMap(); + config.put("is_jmx",true); + return config; + } + + private Map getInstanceTelemetryInstanceConfig() { + Map config = new HashMap(); + config.put("name","jmxfetch_telemetry_instance"); + config.put("collect_default_jvm_metrics",true); + config.put("new_gc_metrics",true); + config.put("process_name_regex",".*org.datadog.jmxfetch.App.*"); + + List conf = new ArrayList(); + Map confMap = new HashMap(); + Map includeMap = new HashMap(); + includeMap.put("domain","jmxfetch"); + confMap.put("include", includeMap); + conf.add(confMap); + config.put("conf",conf); + + List tags = new ArrayList(); + tags.add("jmx:fetch"); + config.put("tags", tags); + + return config; + } + static TaskStatusHandler processRecoveryResults( final Instance instance, final Future future, diff --git a/src/main/resources/org/datadog/jmxfetch/jmxfetch_telemetry.yaml b/src/main/resources/org/datadog/jmxfetch/jmxfetch_telemetry.yaml deleted file mode 100644 index 62472e5db..000000000 --- a/src/main/resources/org/datadog/jmxfetch/jmxfetch_telemetry.yaml +++ /dev/null @@ -1,11 +0,0 @@ -init_config: - is_jmx: true - java_options: "-Djdk.attach.allowAttachSelf=true" - -instances: - - process_name_regex: .*org.datadog.jmxfetch.App.* - name: jmxfetch_telemetry_test - collect_default_jvm_metrics: true - new_gc_metrics: true - tags: - - jmx:fetch From a095a71488685c543f369f2ae23d57d5b27da16f Mon Sep 17 00:00:00 2001 From: Caleb Metz Date: Wed, 9 Aug 2023 13:42:37 -0400 Subject: [PATCH 7/9] fixed some formating --- src/main/java/org/datadog/jmxfetch/App.java | 2 +- src/main/java/org/datadog/jmxfetch/Instance.java | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/org/datadog/jmxfetch/App.java b/src/main/java/org/datadog/jmxfetch/App.java index a5b04c0fd..269b56cd9 100644 --- a/src/main/java/org/datadog/jmxfetch/App.java +++ b/src/main/java/org/datadog/jmxfetch/App.java @@ -867,7 +867,7 @@ public void init(final boolean forceNewConnection) { } // Create a new Instance object - log.info("Instantiating configs instance for: {}", name); + log.info("Instantiating instance for: {}", name); final Instance instance = instantiate( configInstance, diff --git a/src/main/java/org/datadog/jmxfetch/Instance.java b/src/main/java/org/datadog/jmxfetch/Instance.java index 3f5cbb451..e924284b3 100644 --- a/src/main/java/org/datadog/jmxfetch/Instance.java +++ b/src/main/java/org/datadog/jmxfetch/Instance.java @@ -250,7 +250,6 @@ public Instance( } } - Boolean collectDefaultJvmMetrics = (Boolean) instanceMap.get("collect_default_jvm_metrics"); if (collectDefaultJvmMetrics == null || collectDefaultJvmMetrics) { loadDefaultConfig("default-jmx-metrics.yaml"); From 79f050fededb81609cae972c3201bf07ae6cd04c Mon Sep 17 00:00:00 2001 From: Caleb Metz Date: Wed, 9 Aug 2023 15:53:53 -0400 Subject: [PATCH 8/9] changed names --- src/main/java/org/datadog/jmxfetch/App.java | 20 +++++++++---------- .../java/org/datadog/jmxfetch/AppConfig.java | 10 +++++----- 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/datadog/jmxfetch/App.java b/src/main/java/org/datadog/jmxfetch/App.java index 269b56cd9..17e625b69 100644 --- a/src/main/java/org/datadog/jmxfetch/App.java +++ b/src/main/java/org/datadog/jmxfetch/App.java @@ -898,15 +898,13 @@ public void init(final boolean forceNewConnection) { } } - if (appConfig.getInstanceTelemetry()) { - // If we have at least one check add jmxfetch_telemetry check - if (newInstances.size() >= 1) { - log.info("Adding jmxfetch instance telemetry check"); - final Instance instance = instantiate(getInstanceTelemetryInstanceConfig(), - getInstanceTelemetryInitConfig(), "jmxfetch_telemetry_check", - this.appConfig); - newInstances.add(instance); - } + // Enables jmxfetch telemetry if there are other checks active and it's been enabled + if (appConfig.getJmxfetchTelemetry() && newInstances.size() >= 1) { + log.info("Adding jmxfetch telemetry check"); + final Instance instance = instantiate(getTelemetryInstanceConfig(), + getTelemetryInitConfig(), "jmxfetch_telemetry_check", + this.appConfig); + newInstances.add(instance); } final List> instanceInitTasks = @@ -957,13 +955,13 @@ public TaskStatusHandler invoke( } } - private Map getInstanceTelemetryInitConfig() { + private Map getTelemetryInitConfig() { Map config = new HashMap(); config.put("is_jmx",true); return config; } - private Map getInstanceTelemetryInstanceConfig() { + private Map getTelemetryInstanceConfig() { Map config = new HashMap(); config.put("name","jmxfetch_telemetry_instance"); config.put("collect_default_jvm_metrics",true); diff --git a/src/main/java/org/datadog/jmxfetch/AppConfig.java b/src/main/java/org/datadog/jmxfetch/AppConfig.java index cda058868..6685f56e1 100644 --- a/src/main/java/org/datadog/jmxfetch/AppConfig.java +++ b/src/main/java/org/datadog/jmxfetch/AppConfig.java @@ -123,10 +123,10 @@ public class AppConfig { private boolean statsdTelemetry; @Parameter( - names = {"--instance_telemetry", "-it"}, - description = "Enable jmxfetch instance telemetry reporting", + names = {"--jmxfetch_telemetry", "-jt"}, + description = "Enable additional jmxfetch telemetry reporting", required = false) - private boolean instanceTelemetry; + private boolean jmxfetchTelemetry; @Parameter( names = {"--statsd_queue_size", "-sq"}, @@ -417,8 +417,8 @@ public boolean getStatsdTelemetry() { return statsdTelemetry; } - public boolean getInstanceTelemetry() { - return instanceTelemetry; + public boolean getJmxfetchTelemetry() { + return jmxfetchTelemetry; } public int getStatsdQueueSize() { From a9ebf0fb6c7123304af7b48d933d29c484042894 Mon Sep 17 00:00:00 2001 From: Caleb Metz Date: Thu, 10 Aug 2023 13:12:49 -0400 Subject: [PATCH 9/9] removed tags and added changelog --- CHANGELOG.md | 5 +++++ src/main/java/org/datadog/jmxfetch/App.java | 1 - 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 14417d4f4..cbb454cd4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ Changelog ========= +# Next / TBD + +* [FEATURE] Adds a configurable jmxfetch telemetry check to improve jmxfetch observability [#467][] + # 0.47.9 / 2023-05-25 * [BUGFIX] Fixes thread leak in situations with persistent connection failures [#432][] @@ -737,6 +741,7 @@ Changelog [#431]: https://github.com/DataDog/jmxfetch/issues/431 [#432]: https://github.com/DataDog/jmxfetch/issues/432 [#437]: https://github.com/DataDog/jmxfetch/issues/437 +[#467]: https://github.com/DataDog/jmxfetch/issues/467 [@alz]: https://github.com/alz [@aoking]: https://github.com/aoking [@arrawatia]: https://github.com/arrawatia diff --git a/src/main/java/org/datadog/jmxfetch/App.java b/src/main/java/org/datadog/jmxfetch/App.java index 17e625b69..0125353bf 100644 --- a/src/main/java/org/datadog/jmxfetch/App.java +++ b/src/main/java/org/datadog/jmxfetch/App.java @@ -977,7 +977,6 @@ private Map getTelemetryInstanceConfig() { config.put("conf",conf); List tags = new ArrayList(); - tags.add("jmx:fetch"); config.put("tags", tags); return config;