This is an automated email from the ASF dual-hosted git repository.

davsclaus 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 11954fb5f73 CAMEL-18415: camel-main - Add option to configure type 
converter statistics enabled
11954fb5f73 is described below

commit 11954fb5f7308dd887f47d45ad1b8d464ebb40b7
Author: Claus Ibsen <[email protected]>
AuthorDate: Mon Aug 22 09:29:53 2022 +0200

    CAMEL-18415: camel-main - Add option to configure type converter statistics 
enabled
---
 .../main/camel-main-configuration-metadata.json    |  1 +
 .../MainConfigurationPropertiesConfigurer.java     |  6 +++++
 .../camel-main-configuration-metadata.json         |  1 +
 core/camel-main/src/main/docs/main.adoc            |  3 ++-
 .../camel/main/DefaultConfigurationConfigurer.java |  1 +
 .../camel/main/DefaultConfigurationProperties.java | 26 ++++++++++++++++++++++
 6 files changed, 37 insertions(+), 1 deletion(-)

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 e03737a1400..98c853d047a 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
@@ -123,6 +123,7 @@
     { "name": "camel.main.tracingLoggingFormat", "description": "To use a 
custom tracing logging format. The default format (arrow, routeId, label) is: 
%-4.4s %-12.12s %-33.33s", "sourceType": 
"org.apache.camel.main.DefaultConfigurationProperties", "type": "string", 
"javaType": "java.lang.String", "defaultValue": "%-4.4s [%-12.12s] [%-33.33s]" 
},
     { "name": "camel.main.tracingPattern", "description": "Tracing pattern to 
match which node EIPs to trace. For example to match all To EIP nodes, use to. 
The pattern matches by node and route id's Multiple patterns can be separated 
by comma.", "sourceType": 
"org.apache.camel.main.DefaultConfigurationProperties", "type": "string", 
"javaType": "java.lang.String" },
     { "name": "camel.main.tracingStandby", "description": "Whether to set 
tracing on standby. If on standby then the tracer is installed and made 
available. Then the tracer can be enabled later at runtime via JMX or via 
Tracer#setEnabled(boolean) .", "sourceType": 
"org.apache.camel.main.DefaultConfigurationProperties", "type": "boolean", 
"javaType": "boolean", "defaultValue": "false" },
+    { "name": "camel.main.typeConverterStatisticsEnabled", "description": 
"Sets whether type converter statistics is enabled. By default the type 
converter utilization statistics is disabled. Notice: If enabled then there is 
a slight performance impact under very heavy load.", "sourceType": 
"org.apache.camel.main.DefaultConfigurationProperties", "type": "boolean", 
"javaType": "boolean", "defaultValue": "false" },
     { "name": "camel.main.useBreadcrumb", "description": "Set whether 
breadcrumb is enabled. The default value is false.", "sourceType": 
"org.apache.camel.main.DefaultConfigurationProperties", "type": "boolean", 
"javaType": "boolean", "defaultValue": "false" },
     { "name": "camel.main.useDataType", "description": "Whether to enable 
using data type on Camel messages. Data type are automatic turned on if one ore 
more routes has been explicit configured with input and output types. Otherwise 
data type is default off.", "sourceType": 
"org.apache.camel.main.DefaultConfigurationProperties", "type": "boolean", 
"javaType": "boolean", "defaultValue": "false" },
     { "name": "camel.main.useMdcLogging", "description": "To turn on MDC 
logging", "sourceType": "org.apache.camel.main.DefaultConfigurationProperties", 
"type": "boolean", "javaType": "boolean", "defaultValue": "false" },
diff --git 
a/core/camel-main/src/generated/java/org/apache/camel/main/MainConfigurationPropertiesConfigurer.java
 
b/core/camel-main/src/generated/java/org/apache/camel/main/MainConfigurationPropertiesConfigurer.java
index 0e4c713c17c..0c21278a519 100644
--- 
a/core/camel-main/src/generated/java/org/apache/camel/main/MainConfigurationPropertiesConfigurer.java
+++ 
b/core/camel-main/src/generated/java/org/apache/camel/main/MainConfigurationPropertiesConfigurer.java
@@ -243,6 +243,8 @@ public class MainConfigurationPropertiesConfigurer extends 
org.apache.camel.supp
         case "TracingPattern": target.setTracingPattern(property(camelContext, 
java.lang.String.class, value)); return true;
         case "tracingstandby":
         case "TracingStandby": target.setTracingStandby(property(camelContext, 
boolean.class, value)); return true;
+        case "typeconverterstatisticsenabled":
+        case "TypeConverterStatisticsEnabled": 
target.setTypeConverterStatisticsEnabled(property(camelContext, boolean.class, 
value)); return true;
         case "usebreadcrumb":
         case "UseBreadcrumb": target.setUseBreadcrumb(property(camelContext, 
boolean.class, value)); return true;
         case "usedatatype":
@@ -480,6 +482,8 @@ public class MainConfigurationPropertiesConfigurer extends 
org.apache.camel.supp
         case "TracingPattern": return java.lang.String.class;
         case "tracingstandby":
         case "TracingStandby": return boolean.class;
+        case "typeconverterstatisticsenabled":
+        case "TypeConverterStatisticsEnabled": return boolean.class;
         case "usebreadcrumb":
         case "UseBreadcrumb": return boolean.class;
         case "usedatatype":
@@ -718,6 +722,8 @@ public class MainConfigurationPropertiesConfigurer extends 
org.apache.camel.supp
         case "TracingPattern": return target.getTracingPattern();
         case "tracingstandby":
         case "TracingStandby": return target.isTracingStandby();
+        case "typeconverterstatisticsenabled":
+        case "TypeConverterStatisticsEnabled": return 
target.isTypeConverterStatisticsEnabled();
         case "usebreadcrumb":
         case "UseBreadcrumb": return target.isUseBreadcrumb();
         case "usedatatype":
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 e03737a1400..98c853d047a 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
@@ -123,6 +123,7 @@
     { "name": "camel.main.tracingLoggingFormat", "description": "To use a 
custom tracing logging format. The default format (arrow, routeId, label) is: 
%-4.4s %-12.12s %-33.33s", "sourceType": 
"org.apache.camel.main.DefaultConfigurationProperties", "type": "string", 
"javaType": "java.lang.String", "defaultValue": "%-4.4s [%-12.12s] [%-33.33s]" 
},
     { "name": "camel.main.tracingPattern", "description": "Tracing pattern to 
match which node EIPs to trace. For example to match all To EIP nodes, use to. 
The pattern matches by node and route id's Multiple patterns can be separated 
by comma.", "sourceType": 
"org.apache.camel.main.DefaultConfigurationProperties", "type": "string", 
"javaType": "java.lang.String" },
     { "name": "camel.main.tracingStandby", "description": "Whether to set 
tracing on standby. If on standby then the tracer is installed and made 
available. Then the tracer can be enabled later at runtime via JMX or via 
Tracer#setEnabled(boolean) .", "sourceType": 
"org.apache.camel.main.DefaultConfigurationProperties", "type": "boolean", 
"javaType": "boolean", "defaultValue": "false" },
+    { "name": "camel.main.typeConverterStatisticsEnabled", "description": 
"Sets whether type converter statistics is enabled. By default the type 
converter utilization statistics is disabled. Notice: If enabled then there is 
a slight performance impact under very heavy load.", "sourceType": 
"org.apache.camel.main.DefaultConfigurationProperties", "type": "boolean", 
"javaType": "boolean", "defaultValue": "false" },
     { "name": "camel.main.useBreadcrumb", "description": "Set whether 
breadcrumb is enabled. The default value is false.", "sourceType": 
"org.apache.camel.main.DefaultConfigurationProperties", "type": "boolean", 
"javaType": "boolean", "defaultValue": "false" },
     { "name": "camel.main.useDataType", "description": "Whether to enable 
using data type on Camel messages. Data type are automatic turned on if one ore 
more routes has been explicit configured with input and output types. Otherwise 
data type is default off.", "sourceType": 
"org.apache.camel.main.DefaultConfigurationProperties", "type": "boolean", 
"javaType": "boolean", "defaultValue": "false" },
     { "name": "camel.main.useMdcLogging", "description": "To turn on MDC 
logging", "sourceType": "org.apache.camel.main.DefaultConfigurationProperties", 
"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 370d927237e..fe13e76fe49 100644
--- a/core/camel-main/src/main/docs/main.adoc
+++ b/core/camel-main/src/main/docs/main.adoc
@@ -18,7 +18,7 @@ The following tables lists all the options:
 
 // main options: START
 === Camel Main configurations
-The camel.main supports 115 options, which are listed below.
+The camel.main supports 116 options, which are listed below.
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
@@ -134,6 +134,7 @@ The camel.main supports 115 options, which are listed below.
 | *camel.main.tracingLogging{zwsp}Format* | To use a custom tracing logging 
format. The default format (arrow, routeId, label) is: %-4.4s %-12.12s %-33.33s 
| %-4.4s [%-12.12s] [%-33.33s] | String
 | *camel.main.tracingPattern* | Tracing pattern to match which node EIPs to 
trace. For example to match all To EIP nodes, use to. The pattern matches by 
node and route id's Multiple patterns can be separated by comma. |  | String
 | *camel.main.tracingStandby* | Whether to set tracing on standby. If on 
standby then the tracer is installed and made available. Then the tracer can be 
enabled later at runtime via JMX or via Tracer#setEnabled(boolean) . | false | 
boolean
+| *camel.main.typeConverter{zwsp}StatisticsEnabled* | Sets whether type 
converter statistics is enabled. By default the type converter utilization 
statistics is disabled. Notice: If enabled then there is a slight performance 
impact under very heavy load. | false | boolean
 | *camel.main.useBreadcrumb* | Set whether breadcrumb is enabled. The default 
value is false. | false | boolean
 | *camel.main.useDataType* | Whether to enable using data type on Camel 
messages. Data type are automatic turned on if one ore more routes has been 
explicit configured with input and output types. Otherwise data type is default 
off. | false | boolean
 | *camel.main.useMdcLogging* | To turn on MDC logging | false | boolean
diff --git 
a/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationConfigurer.java
 
b/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationConfigurer.java
index 8439f092471..18d076b6d5f 100644
--- 
a/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationConfigurer.java
+++ 
b/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationConfigurer.java
@@ -233,6 +233,7 @@ public final class DefaultConfigurationConfigurer {
         camelContext.setUseMDCLogging(config.isUseMdcLogging());
         
camelContext.setMDCLoggingKeysPattern(config.getMdcLoggingKeysPattern());
         camelContext.setLoadTypeConverters(config.isLoadTypeConverters());
+        
camelContext.setTypeConverterStatisticsEnabled(config.isTypeConverterStatisticsEnabled());
         camelContext.setLoadHealthChecks(config.isLoadHealthChecks());
         camelContext.setDevConsole(config.isDevConsoleEnabled());
         camelContext.setModeline(config.isModeline());
diff --git 
a/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationProperties.java
 
b/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationProperties.java
index 11d7ddb25af..e5c9c14e05b 100644
--- 
a/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationProperties.java
+++ 
b/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationProperties.java
@@ -70,6 +70,7 @@ public abstract class DefaultConfigurationProperties<T> {
     private boolean streamCachingStatisticsEnabled;
     private boolean debugging;
     private boolean backlogTracing;
+    private boolean typeConverterStatisticsEnabled;
     private boolean tracing;
     private boolean tracingStandby;
     private String tracingPattern;
@@ -572,6 +573,20 @@ public abstract class DefaultConfigurationProperties<T> {
         this.streamCachingStatisticsEnabled = streamCachingStatisticsEnabled;
     }
 
+    public boolean isTypeConverterStatisticsEnabled() {
+        return typeConverterStatisticsEnabled;
+    }
+
+    /**
+     * Sets whether type converter statistics is enabled.
+     *
+     * By default the type converter utilization statistics is disabled.
+     * Notice: If enabled then there is a slight performance impact under very 
heavy load.
+     */
+    public void setTypeConverterStatisticsEnabled(boolean 
typeConverterStatisticsEnabled) {
+        this.typeConverterStatisticsEnabled = typeConverterStatisticsEnabled;
+    }
+
     public boolean isTracing() {
         return tracing;
     }
@@ -1855,6 +1870,17 @@ public abstract class DefaultConfigurationProperties<T> {
         return (T) this;
     }
 
+    /**
+     * Sets whether type converter statistics is enabled.
+     *
+     * By default the type converter utilization statistics is disabled.
+     * Notice: If enabled then there is a slight performance impact under very 
heavy load.
+     */
+    public T withTypeConverterStatisticsEnabled(boolean 
typeConverterStatisticsEnabled) {
+        this.typeConverterStatisticsEnabled = typeConverterStatisticsEnabled;
+        return (T) this;
+    }
+
     /**
      * Sets whether tracing is enabled or not.
      *

Reply via email to