This is an automated email from the ASF dual-hosted git repository. nfilotto pushed a commit to branch CAMEL-17792/doc-message-headers in repository https://gitbox.apache.org/repos/asf/camel.git
commit effbfde3d0639877f7bba1198dc78afb8433b614 Author: Nicolas Filotto <[email protected]> AuthorDate: Thu Mar 31 11:51:23 2022 +0200 CAMEL-17792: Add doc about the message headers of camel-metrics --- .../resources/org/apache/camel/component/metrics/metrics.json | 9 +++++++++ components/camel-metrics/src/main/docs/metrics-component.adoc | 6 ++++-- .../org/apache/camel/component/metrics/MetricsConstants.java | 9 +++++++++ .../java/org/apache/camel/component/metrics/MetricsEndpoint.java | 2 +- 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/components/camel-metrics/src/generated/resources/org/apache/camel/component/metrics/metrics.json b/components/camel-metrics/src/generated/resources/org/apache/camel/component/metrics/metrics.json index 90fbb89..273b25f 100644 --- a/components/camel-metrics/src/generated/resources/org/apache/camel/component/metrics/metrics.json +++ b/components/camel-metrics/src/generated/resources/org/apache/camel/component/metrics/metrics.json @@ -26,6 +26,15 @@ "autowiredEnabled": { "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which t [...] "metricRegistry": { "kind": "property", "displayName": "Metric Registry", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "com.codahale.metrics.MetricRegistry", "deprecated": false, "autowired": false, "secret": false, "description": "To use a custom configured MetricRegistry." } }, + "headers": { + "CamelMetricsTimerAction": { "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "org.apache.camel.component.metrics.MetricsTimerAction", "enum": [ "start", "stop" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Override timer action in URI" }, + "CamelMetricsMeterMark": { "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Override mark value in URI" }, + "CamelMetricsHistogramValue": { "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Override histogram value in URI" }, + "CamelMetricsCounterDecrement": { "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Override decrement value in URI" }, + "CamelMetricsCounterIncrement": { "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Override increment value in URI" }, + "CamelMetricsGaugeSubject": { "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "Object", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Override subject value in URI" }, + "CamelMetricsName": { "kind": "header", "displayName": "", "group": "producer", "label": "", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Override name value in URI" } + }, "properties": { "metricsType": { "kind": "path", "displayName": "Metrics Type", "group": "producer", "label": "", "required": true, "type": "object", "javaType": "org.apache.camel.component.metrics.MetricsType", "enum": [ "gauge", "counter", "histogram", "meter", "timer" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Type of metrics" }, "metricsName": { "kind": "path", "displayName": "Metrics Name", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Name of metrics" }, diff --git a/components/camel-metrics/src/main/docs/metrics-component.adoc b/components/camel-metrics/src/main/docs/metrics-component.adoc index 48f3b2a..b817449 100644 --- a/components/camel-metrics/src/main/docs/metrics-component.adoc +++ b/components/camel-metrics/src/main/docs/metrics-component.adoc @@ -54,7 +54,9 @@ include::partial$component-endpoint-options.adoc[] // endpoint options: START // endpoint options: END - +// component headers: START +include::partial$component-endpoint-headers.adoc[] +// component headers: END [[MetricsComponent-registry]] == Metric Registry @@ -235,7 +237,7 @@ metrics:histogram:metricname[?options] |value |- |Value to use in histogram |=================================== -If `value` is not set nothing is added to histogram and warning is +If `value` is not set, nothing is added to histogram and warning is logged. [source,java] diff --git a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsConstants.java b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsConstants.java index 6e33898..ff86314 100644 --- a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsConstants.java +++ b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsConstants.java @@ -16,15 +16,24 @@ */ package org.apache.camel.component.metrics; +import org.apache.camel.spi.Metadata; + public final class MetricsConstants { public static final String HEADER_PREFIX = "CamelMetrics"; + @Metadata(description = "Override timer action in URI", javaType = "org.apache.camel.component.metrics.MetricsTimerAction") public static final String HEADER_TIMER_ACTION = HEADER_PREFIX + "TimerAction"; + @Metadata(description = "Override mark value in URI", javaType = "long") public static final String HEADER_METER_MARK = HEADER_PREFIX + "MeterMark"; + @Metadata(description = "Override histogram value in URI", javaType = "long") public static final String HEADER_HISTOGRAM_VALUE = HEADER_PREFIX + "HistogramValue"; + @Metadata(description = "Override decrement value in URI", javaType = "long") public static final String HEADER_COUNTER_DECREMENT = HEADER_PREFIX + "CounterDecrement"; + @Metadata(description = "Override increment value in URI", javaType = "long") public static final String HEADER_COUNTER_INCREMENT = HEADER_PREFIX + "CounterIncrement"; + @Metadata(description = "Override subject value in URI", javaType = "Object") public static final String HEADER_GAUGE_SUBJECT = HEADER_PREFIX + "GaugeSubject"; + @Metadata(description = "Override name value in URI", javaType = "String") public static final String HEADER_METRIC_NAME = HEADER_PREFIX + "Name"; private MetricsConstants() { diff --git a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsEndpoint.java b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsEndpoint.java index 0f5c5cf..9e69143 100644 --- a/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsEndpoint.java +++ b/components/camel-metrics/src/main/java/org/apache/camel/component/metrics/MetricsEndpoint.java @@ -33,7 +33,7 @@ import org.apache.camel.support.DefaultEndpoint; * Collect various metrics directly from Camel routes using the DropWizard metrics library. */ @UriEndpoint(firstVersion = "2.14.0", scheme = "metrics", title = "Metrics", syntax = "metrics:metricsType:metricsName", - producerOnly = true, category = { Category.MONITORING }) + producerOnly = true, category = { Category.MONITORING }, headersClass = MetricsConstants.class) public class MetricsEndpoint extends DefaultEndpoint { protected final MetricRegistry registry;
