This is an automated email from the ASF dual-hosted git repository.
pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 7ae8d973767 chore(component): metrics skip camel info flag
7ae8d973767 is described below
commit 7ae8d97376711f74ed38670798d7a9d8fc55294f
Author: Pasquale Congiusti <[email protected]>
AuthorDate: Thu Mar 20 11:22:06 2025 +0100
chore(component): metrics skip camel info flag
---
.../main/camel-main-configuration-metadata.json | 1 +
.../prometheus/MicrometerPrometheusConfigurer.java | 6 ++++++
.../micrometer/prometheus/MicrometerPrometheus.java | 16 ++++++++++++++++
.../micrometer/json/AbstractMicrometerService.java | 2 +-
.../MicrometerMessageHistoryFactory.java | 13 +++++++++++++
.../routepolicy/MicrometerRoutePolicy.java | 10 ++++++++++
.../routepolicy/MicrometerRoutePolicyFactory.java | 13 +++++++++++++
.../MetricsConfigurationPropertiesConfigurer.java | 7 +++++++
.../META-INF/camel-main-configuration-metadata.json | 1 +
core/camel-main/src/main/docs/main.adoc | 3 ++-
.../camel/main/MetricsConfigurationProperties.java | 21 +++++++++++++++++++++
.../ROOT/pages/camel-4x-upgrade-guide-4_11.adoc | 12 ++++++++++++
12 files changed, 103 insertions(+), 2 deletions(-)
diff --git
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/camel-main-configuration-metadata.json
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/camel-main-configuration-metadata.json
index c1c986ef4c7..b2d72d5918c 100644
---
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/camel-main-configuration-metadata.json
+++
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/camel-main-configuration-metadata.json
@@ -201,6 +201,7 @@
{ "name": "camel.metrics.namingStrategy", "description": "Controls the
name style to use for metrics. Default = uses micrometer naming convention.
Legacy = uses the classic naming style (camelCase)", "sourceType":
"org.apache.camel.main.MetricsConfigurationProperties", "type": "string",
"javaType": "java.lang.String", "defaultValue": "default", "enum": [ "default",
"legacy" ] },
{ "name": "camel.metrics.path", "description": "The path endpoint used to
expose the metrics.", "sourceType":
"org.apache.camel.main.MetricsConfigurationProperties", "type": "string",
"javaType": "java.lang.String", "defaultValue": "\/q\/metrics" },
{ "name": "camel.metrics.routePolicyLevel", "description": "Sets the level
of information to capture. all = both context and routes.", "sourceType":
"org.apache.camel.main.MetricsConfigurationProperties", "type": "string",
"javaType": "java.lang.String", "defaultValue": "all", "enum": [ "all",
"route", "context" ] },
+ { "name": "camel.metrics.skipCamelInfo", "description": "Skip the
evaluation of app.info metric which contains runtime provider information
(default, false).", "sourceType":
"org.apache.camel.main.MetricsConfigurationProperties", "type": "boolean",
"javaType": "boolean", "defaultValue": false },
{ "name": "camel.metrics.textFormatVersion", "description": "The
text-format version to use with Prometheus scraping. 0.0.4 = text\/plain;
version=0.0.4; charset=utf-8 1.0.0 = application\/openmetrics-text;
version=1.0.0; charset=utf-8", "sourceType":
"org.apache.camel.main.MetricsConfigurationProperties", "type": "string",
"javaType": "java.lang.String", "defaultValue": "0.0.4", "enum": [ "0.0.4",
"1.0.0" ] },
{ "name": "camel.opentelemetry.enabled", "description": "To enable
OpenTelemetry", "sourceType":
"org.apache.camel.main.OtelConfigurationProperties", "type": "boolean",
"javaType": "boolean", "defaultValue": "false" },
{ "name": "camel.opentelemetry.encoding", "description": "Sets whether the
header keys need to be encoded (connector specific) or not. The value is a
boolean. Dashes need for instances to be encoded for JMS property keys.",
"sourceType": "org.apache.camel.main.OtelConfigurationProperties", "type":
"boolean", "javaType": "boolean", "defaultValue": "false" },
diff --git
a/components/camel-micrometer-prometheus/src/generated/java/org/apache/camel/component/micrometer/prometheus/MicrometerPrometheusConfigurer.java
b/components/camel-micrometer-prometheus/src/generated/java/org/apache/camel/component/micrometer/prometheus/MicrometerPrometheusConfigurer.java
index 45a17b715b9..2b84fb571b7 100644
---
a/components/camel-micrometer-prometheus/src/generated/java/org/apache/camel/component/micrometer/prometheus/MicrometerPrometheusConfigurer.java
+++
b/components/camel-micrometer-prometheus/src/generated/java/org/apache/camel/component/micrometer/prometheus/MicrometerPrometheusConfigurer.java
@@ -45,6 +45,8 @@ public class MicrometerPrometheusConfigurer extends
org.apache.camel.support.com
case "path": target.setPath(property(camelContext,
java.lang.String.class, value)); return true;
case "routepolicylevel":
case "routePolicyLevel":
target.setRoutePolicyLevel(property(camelContext, java.lang.String.class,
value)); return true;
+ case "skipcamelinfo":
+ case "skipCamelInfo": target.setSkipCamelInfo(property(camelContext,
boolean.class, value)); return true;
case "textformatversion":
case "textFormatVersion":
target.setTextFormatVersion(property(camelContext, java.lang.String.class,
value)); return true;
default: return false;
@@ -76,6 +78,8 @@ public class MicrometerPrometheusConfigurer extends
org.apache.camel.support.com
case "path": return java.lang.String.class;
case "routepolicylevel":
case "routePolicyLevel": return java.lang.String.class;
+ case "skipcamelinfo":
+ case "skipCamelInfo": return boolean.class;
case "textformatversion":
case "textFormatVersion": return java.lang.String.class;
default: return null;
@@ -108,6 +112,8 @@ public class MicrometerPrometheusConfigurer extends
org.apache.camel.support.com
case "path": return target.getPath();
case "routepolicylevel":
case "routePolicyLevel": return target.getRoutePolicyLevel();
+ case "skipcamelinfo":
+ case "skipCamelInfo": return target.isSkipCamelInfo();
case "textformatversion":
case "textFormatVersion": return target.getTextFormatVersion();
default: return null;
diff --git
a/components/camel-micrometer-prometheus/src/main/java/org/apache/camel/component/micrometer/prometheus/MicrometerPrometheus.java
b/components/camel-micrometer-prometheus/src/main/java/org/apache/camel/component/micrometer/prometheus/MicrometerPrometheus.java
index 816b17b4846..0b0ae88c3d0 100644
---
a/components/camel-micrometer-prometheus/src/main/java/org/apache/camel/component/micrometer/prometheus/MicrometerPrometheus.java
+++
b/components/camel-micrometer-prometheus/src/main/java/org/apache/camel/component/micrometer/prometheus/MicrometerPrometheus.java
@@ -103,6 +103,8 @@ public class MicrometerPrometheus extends ServiceSupport
implements CamelMetrics
private boolean enableInstrumentedThreadPoolFactory;
@Metadata(defaultValue = "true")
private boolean clearOnReload = true;
+ @Metadata(defaultValue = "false")
+ private boolean skipCamelInfo = false;
@Metadata(defaultValue = "0.0.4", enums = "0.0.4,1.0.0")
private String textFormatVersion = "0.0.4";
@Metadata
@@ -227,6 +229,17 @@ public class MicrometerPrometheus extends ServiceSupport
implements CamelMetrics
this.clearOnReload = clearOnReload;
}
+ public boolean isSkipCamelInfo() {
+ return skipCamelInfo;
+ }
+
+ /**
+ * Skip the evaluation of "app.info" metric which contains runtime
provider information (default, `false`).
+ */
+ public void setSkipCamelInfo(boolean skipCamelInfo) {
+ this.skipCamelInfo = skipCamelInfo;
+ }
+
public String getTextFormatVersion() {
return textFormatVersion;
}
@@ -295,6 +308,7 @@ public class MicrometerPrometheus extends ServiceSupport
implements CamelMetrics
if (isEnableRoutePolicy()) {
MicrometerRoutePolicyFactory factory = new
MicrometerRoutePolicyFactory();
+ factory.setSkipCamelInfo(isSkipCamelInfo());
if ("legacy".equalsIgnoreCase(namingStrategy)) {
factory.setNamingStrategy(MicrometerRoutePolicyNamingStrategy.LEGACY);
}
@@ -317,6 +331,7 @@ public class MicrometerPrometheus extends ServiceSupport
implements CamelMetrics
ManagementStrategy managementStrategy =
camelContext.getManagementStrategy();
if (isEnableExchangeEventNotifier()) {
MicrometerExchangeEventNotifier notifier = new
MicrometerExchangeEventNotifier();
+ notifier.setSkipCamelInfo(isSkipCamelInfo());
notifier.setBaseEndpointURI(isBaseEndpointURIExchangeEventNotifier());
if ("legacy".equalsIgnoreCase(namingStrategy)) {
notifier.setNamingStrategy(
@@ -331,6 +346,7 @@ public class MicrometerPrometheus extends ServiceSupport
implements CamelMetrics
if (isEnableRouteEventNotifier()) {
MicrometerRouteEventNotifier notifier = new
MicrometerRouteEventNotifier();
+ notifier.setSkipCamelInfo(isSkipCamelInfo());
if ("legacy".equalsIgnoreCase(namingStrategy)) {
notifier.setNamingStrategy(MicrometerRouteEventNotifierNamingStrategy.LEGACY);
}
diff --git
a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/json/AbstractMicrometerService.java
b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/json/AbstractMicrometerService.java
index ecba8f75e31..6cd8fc88fd5 100644
---
a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/json/AbstractMicrometerService.java
+++
b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/json/AbstractMicrometerService.java
@@ -139,7 +139,7 @@ public class AbstractMicrometerService extends
ServiceSupport {
}
}
- if (!this.skipCamelInfo) {
+ if (!isSkipCamelInfo()) {
registerAppInfo(meterRegistry);
}
diff --git
a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/messagehistory/MicrometerMessageHistoryFactory.java
b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/messagehistory/MicrometerMessageHistoryFactory.java
index 58581605930..e2f00326fec 100644
---
a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/messagehistory/MicrometerMessageHistoryFactory.java
+++
b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/messagehistory/MicrometerMessageHistoryFactory.java
@@ -50,6 +50,7 @@ public class MicrometerMessageHistoryFactory extends
ServiceSupport
private boolean copyMessage;
private String nodePattern;
private boolean prettyPrint = true;
+ private boolean skipCamelInfo = false;
private TimeUnit durationUnit = TimeUnit.MILLISECONDS;
private MicrometerMessageHistoryNamingStrategy namingStrategy =
MicrometerMessageHistoryNamingStrategy.DEFAULT;
@@ -87,6 +88,17 @@ public class MicrometerMessageHistoryFactory extends
ServiceSupport
this.prettyPrint = prettyPrint;
}
+ public boolean isSkipCamelInfo() {
+ return skipCamelInfo;
+ }
+
+ /**
+ * Skip the evaluation of "app.info" metric which contains runtime
provider information (default, `false`).
+ */
+ public void setSkipCamelInfo(boolean skipCamelInfo) {
+ this.skipCamelInfo = skipCamelInfo;
+ }
+
public TimeUnit getDurationUnit() {
return durationUnit;
}
@@ -166,6 +178,7 @@ public class MicrometerMessageHistoryFactory extends
ServiceSupport
=
camelContext.hasService(MicrometerMessageHistoryService.class);
if (messageHistoryService == null) {
messageHistoryService = new MicrometerMessageHistoryService();
+ messageHistoryService.setPrettyPrint(isPrettyPrint());
messageHistoryService.setMeterRegistry(getMeterRegistry());
messageHistoryService.setPrettyPrint(isPrettyPrint());
messageHistoryService.setDurationUnit(getDurationUnit());
diff --git
a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
index 09a6d9ed4cf..beaf0f6fa2d 100644
---
a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
+++
b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicy.java
@@ -58,6 +58,7 @@ public class MicrometerRoutePolicy extends RoutePolicySupport
implements NonMana
private final MicrometerRoutePolicyFactory factory;
private MeterRegistry meterRegistry;
private boolean prettyPrint;
+ private boolean skipCamelInfo;
private TimeUnit durationUnit = TimeUnit.MILLISECONDS;
private MicrometerRoutePolicyNamingStrategy namingStrategy =
MicrometerRoutePolicyNamingStrategy.DEFAULT;
private MicrometerRoutePolicyConfiguration configuration =
MicrometerRoutePolicyConfiguration.DEFAULT;
@@ -246,6 +247,14 @@ public class MicrometerRoutePolicy extends
RoutePolicySupport implements NonMana
this.prettyPrint = prettyPrint;
}
+ public boolean isSkipCamelInfo() {
+ return skipCamelInfo;
+ }
+
+ public void setSkipCamelInfo(boolean skipCamelInfo) {
+ this.skipCamelInfo = skipCamelInfo;
+ }
+
public TimeUnit getDurationUnit() {
return durationUnit;
}
@@ -289,6 +298,7 @@ public class MicrometerRoutePolicy extends
RoutePolicySupport implements NonMana
=
route.getCamelContext().hasService(MicrometerRoutePolicyService.class);
if (registryService == null) {
registryService = new MicrometerRoutePolicyService();
+ registryService.setSkipCamelInfo(isSkipCamelInfo());
registryService.setMeterRegistry(getMeterRegistry());
registryService.setPrettyPrint(isPrettyPrint());
registryService.setDurationUnit(getDurationUnit());
diff --git
a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicyFactory.java
b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicyFactory.java
index 446b1de8034..2856c02a439 100644
---
a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicyFactory.java
+++
b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/routepolicy/MicrometerRoutePolicyFactory.java
@@ -39,6 +39,7 @@ public class MicrometerRoutePolicyFactory extends
ServiceSupport
private MeterRegistry meterRegistry;
private RouteMetric contextMetric;
private boolean prettyPrint = true;
+ private boolean skipCamelInfo = false;
private TimeUnit durationUnit = TimeUnit.MILLISECONDS;
private MicrometerRoutePolicyNamingStrategy namingStrategy =
MicrometerRoutePolicyNamingStrategy.DEFAULT;
private MicrometerRoutePolicyConfiguration policyConfiguration =
MicrometerRoutePolicyConfiguration.DEFAULT;
@@ -77,6 +78,17 @@ public class MicrometerRoutePolicyFactory extends
ServiceSupport
this.prettyPrint = prettyPrint;
}
+ public boolean isSkipCamelInfo() {
+ return skipCamelInfo;
+ }
+
+ /**
+ * Skip the evaluation of "app.info" metric which contains runtime
provider information (default, `false`).
+ */
+ public void setSkipCamelInfo(boolean skipCamelInfo) {
+ this.skipCamelInfo = skipCamelInfo;
+ }
+
/**
* Sets the time unit to use for requests per unit (eg requests per second)
*/
@@ -122,6 +134,7 @@ public class MicrometerRoutePolicyFactory extends
ServiceSupport
MicrometerRoutePolicy answer = new MicrometerRoutePolicy(this);
answer.setMeterRegistry(getMeterRegistry());
answer.setPrettyPrint(isPrettyPrint());
+ answer.setSkipCamelInfo(isSkipCamelInfo());
answer.setDurationUnit(getDurationUnit());
answer.setNamingStrategy(getNamingStrategy());
answer.setConfiguration(getPolicyConfiguration());
diff --git
a/core/camel-main/src/generated/java/org/apache/camel/main/MetricsConfigurationPropertiesConfigurer.java
b/core/camel-main/src/generated/java/org/apache/camel/main/MetricsConfigurationPropertiesConfigurer.java
index af153a70c5c..9229784aee4 100644
---
a/core/camel-main/src/generated/java/org/apache/camel/main/MetricsConfigurationPropertiesConfigurer.java
+++
b/core/camel-main/src/generated/java/org/apache/camel/main/MetricsConfigurationPropertiesConfigurer.java
@@ -34,6 +34,7 @@ public class MetricsConfigurationPropertiesConfigurer extends
org.apache.camel.s
map.put("NamingStrategy", java.lang.String.class);
map.put("Path", java.lang.String.class);
map.put("RoutePolicyLevel", java.lang.String.class);
+ map.put("SkipCamelInfo", boolean.class);
map.put("TextFormatVersion", java.lang.String.class);
ALL_OPTIONS = map;
}
@@ -63,6 +64,8 @@ public class MetricsConfigurationPropertiesConfigurer extends
org.apache.camel.s
case "path": target.setPath(property(camelContext,
java.lang.String.class, value)); return true;
case "routepolicylevel":
case "routePolicyLevel":
target.setRoutePolicyLevel(property(camelContext, java.lang.String.class,
value)); return true;
+ case "skipcamelinfo":
+ case "skipCamelInfo": target.setSkipCamelInfo(property(camelContext,
boolean.class, value)); return true;
case "textformatversion":
case "textFormatVersion":
target.setTextFormatVersion(property(camelContext, java.lang.String.class,
value)); return true;
default: return false;
@@ -98,6 +101,8 @@ public class MetricsConfigurationPropertiesConfigurer
extends org.apache.camel.s
case "path": return java.lang.String.class;
case "routepolicylevel":
case "routePolicyLevel": return java.lang.String.class;
+ case "skipcamelinfo":
+ case "skipCamelInfo": return boolean.class;
case "textformatversion":
case "textFormatVersion": return java.lang.String.class;
default: return null;
@@ -129,6 +134,8 @@ public class MetricsConfigurationPropertiesConfigurer
extends org.apache.camel.s
case "path": return target.getPath();
case "routepolicylevel":
case "routePolicyLevel": return target.getRoutePolicyLevel();
+ case "skipcamelinfo":
+ case "skipCamelInfo": return target.isSkipCamelInfo();
case "textformatversion":
case "textFormatVersion": return target.getTextFormatVersion();
default: return null;
diff --git
a/core/camel-main/src/generated/resources/META-INF/camel-main-configuration-metadata.json
b/core/camel-main/src/generated/resources/META-INF/camel-main-configuration-metadata.json
index c1c986ef4c7..b2d72d5918c 100644
---
a/core/camel-main/src/generated/resources/META-INF/camel-main-configuration-metadata.json
+++
b/core/camel-main/src/generated/resources/META-INF/camel-main-configuration-metadata.json
@@ -201,6 +201,7 @@
{ "name": "camel.metrics.namingStrategy", "description": "Controls the
name style to use for metrics. Default = uses micrometer naming convention.
Legacy = uses the classic naming style (camelCase)", "sourceType":
"org.apache.camel.main.MetricsConfigurationProperties", "type": "string",
"javaType": "java.lang.String", "defaultValue": "default", "enum": [ "default",
"legacy" ] },
{ "name": "camel.metrics.path", "description": "The path endpoint used to
expose the metrics.", "sourceType":
"org.apache.camel.main.MetricsConfigurationProperties", "type": "string",
"javaType": "java.lang.String", "defaultValue": "\/q\/metrics" },
{ "name": "camel.metrics.routePolicyLevel", "description": "Sets the level
of information to capture. all = both context and routes.", "sourceType":
"org.apache.camel.main.MetricsConfigurationProperties", "type": "string",
"javaType": "java.lang.String", "defaultValue": "all", "enum": [ "all",
"route", "context" ] },
+ { "name": "camel.metrics.skipCamelInfo", "description": "Skip the
evaluation of app.info metric which contains runtime provider information
(default, false).", "sourceType":
"org.apache.camel.main.MetricsConfigurationProperties", "type": "boolean",
"javaType": "boolean", "defaultValue": false },
{ "name": "camel.metrics.textFormatVersion", "description": "The
text-format version to use with Prometheus scraping. 0.0.4 = text\/plain;
version=0.0.4; charset=utf-8 1.0.0 = application\/openmetrics-text;
version=1.0.0; charset=utf-8", "sourceType":
"org.apache.camel.main.MetricsConfigurationProperties", "type": "string",
"javaType": "java.lang.String", "defaultValue": "0.0.4", "enum": [ "0.0.4",
"1.0.0" ] },
{ "name": "camel.opentelemetry.enabled", "description": "To enable
OpenTelemetry", "sourceType":
"org.apache.camel.main.OtelConfigurationProperties", "type": "boolean",
"javaType": "boolean", "defaultValue": "false" },
{ "name": "camel.opentelemetry.encoding", "description": "Sets whether the
header keys need to be encoded (connector specific) or not. The value is a
boolean. Dashes need for instances to be encoded for JMS property keys.",
"sourceType": "org.apache.camel.main.OtelConfigurationProperties", "type":
"boolean", "javaType": "boolean", "defaultValue": "false" },
diff --git a/core/camel-main/src/main/docs/main.adoc
b/core/camel-main/src/main/docs/main.adoc
index 21b00562ecc..1c12659004f 100644
--- a/core/camel-main/src/main/docs/main.adoc
+++ b/core/camel-main/src/main/docs/main.adoc
@@ -526,7 +526,7 @@ The camel.telemetryDev supports 4 options, which are listed
below.
=== Camel Micrometer Metrics configurations
-The camel.metrics supports 13 options, which are listed below.
+The camel.metrics supports 14 options, which are listed below.
[width="100%",cols="2,5,^1,2",options="header"]
|===
@@ -543,6 +543,7 @@ The camel.metrics supports 13 options, which are listed
below.
| *camel.metrics.namingStrategy* | Controls the name style to use for metrics.
Default = uses micrometer naming convention. Legacy = uses the classic naming
style (camelCase) | default | String
| *camel.metrics.path* | The path endpoint used to expose the metrics. |
/q/metrics | String
| *camel.metrics.routePolicyLevel* | Sets the level of information to capture.
all = both context and routes. | all | String
+| *camel.metrics.skipCamelInfo* | Skip the evaluation of app.info metric which
contains runtime provider information (default, false). | false | boolean
| *camel.metrics.textFormat{zwsp}Version* | The text-format version to use
with Prometheus scraping. 0.0.4 = text/plain; version=0.0.4; charset=utf-8
1.0.0 = application/openmetrics-text; version=1.0.0; charset=utf-8 | 0.0.4 |
String
|===
diff --git
a/core/camel-main/src/main/java/org/apache/camel/main/MetricsConfigurationProperties.java
b/core/camel-main/src/main/java/org/apache/camel/main/MetricsConfigurationProperties.java
index 9518af3fdce..d2590b431ea 100644
---
a/core/camel-main/src/main/java/org/apache/camel/main/MetricsConfigurationProperties.java
+++
b/core/camel-main/src/main/java/org/apache/camel/main/MetricsConfigurationProperties.java
@@ -46,6 +46,8 @@ public class MetricsConfigurationProperties implements
BootstrapCloseable {
private boolean enableInstrumentedThreadPoolFactory;
@Metadata(defaultValue = "true")
private boolean clearOnReload = true;
+ @Metadata(defaultValue = "false")
+ private boolean skipCamelInfo = false;
@Metadata(defaultValue = "0.0.4", enums = "0.0.4,1.0.0")
private String textFormatVersion = "0.0.4";
@Metadata
@@ -184,6 +186,17 @@ public class MetricsConfigurationProperties implements
BootstrapCloseable {
this.clearOnReload = clearOnReload;
}
+ public boolean isSkipCamelInfo() {
+ return skipCamelInfo;
+ }
+
+ /**
+ * Skip the evaluation of "app.info" metric which contains runtime
provider information (default, `false`).
+ */
+ public void setSkipCamelInfo(boolean skipCamelInfo) {
+ this.skipCamelInfo = skipCamelInfo;
+ }
+
public String getTextFormatVersion() {
return textFormatVersion;
}
@@ -310,6 +323,14 @@ public class MetricsConfigurationProperties implements
BootstrapCloseable {
return this;
}
+ /**
+ * Skip the evaluation of "app.info" metric which contains runtime
provider information (default, `false`).
+ */
+ public MetricsConfigurationProperties withSkipCamelInfo(boolean
skipCamelInfo) {
+ this.skipCamelInfo = skipCamelInfo;
+ return this;
+ }
+
/**
* The text-format version to use with Prometheus scraping.
*
diff --git
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_11.adoc
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_11.adoc
index f546ce5f7b5..713be0dd91e 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_11.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_11.adoc
@@ -116,3 +116,15 @@ The
`org.apache.camel.component.platform.http.PlatformHttpHeaderFilterStrategy`
=== camel-undertow
The `org.apache.camel.component.undertow.UndertowHeaderFilterStrategy` class
has been deprecated. The default header filter strategy is now the
`org.apache.camel.http.base.HttpHeaderFilterStrategy`
+
+=== camel-metrics
+
+A new gauge metric, `app.info` is available by default. This is providing a
few information related to the runtime provider such as:
+
+```
+# HELP app_info
+# TYPE app_info gauge
+app_info{camel_context="camel-1",camel_runtime_provider="Spring-Boot",camel_runtime_version="3.4.3",camel_version="4.10.2"}
1
+```
+
+This information is evaluated at runtime startup and available through the
usual metrics endpoint. To disable this metric you need to use the
`camel.metrics.skipCamelInfo=true` property.
\ No newline at end of file