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;

Reply via email to