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.
*