You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2016/03/30 11:12:54 UTC
[3/4] camel git commit: CAMEL-9759: camel-zipkin - Instrument Camel.
Work in progress.
CAMEL-9759: camel-zipkin - Instrument Camel. Work in progress.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/da6102a3
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/da6102a3
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/da6102a3
Branch: refs/heads/master
Commit: da6102a37646c0f43c822f4ca76df906b9e04ae5
Parents: 82ead72
Author: Claus Ibsen <da...@apache.org>
Authored: Wed Mar 30 11:01:14 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Wed Mar 30 11:12:28 2016 +0200
----------------------------------------------------------------------
.../camel/zipkin/starter/CamelZipkin.java | 6 ++--
.../zipkin/starter/ZipkinAutoConfiguration.java | 27 +++++++++-------
.../starter/ZipkinConfigurationProperties.java | 34 ++++++++++++++------
.../src/main/resources/application.properties | 7 ++--
4 files changed, 48 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/da6102a3/components/camel-zipkin-starter/src/main/java/org/apache/camel/zipkin/starter/CamelZipkin.java
----------------------------------------------------------------------
diff --git a/components/camel-zipkin-starter/src/main/java/org/apache/camel/zipkin/starter/CamelZipkin.java b/components/camel-zipkin-starter/src/main/java/org/apache/camel/zipkin/starter/CamelZipkin.java
index 823c889..339f603 100644
--- a/components/camel-zipkin-starter/src/main/java/org/apache/camel/zipkin/starter/CamelZipkin.java
+++ b/components/camel-zipkin-starter/src/main/java/org/apache/camel/zipkin/starter/CamelZipkin.java
@@ -5,9 +5,9 @@
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
- * <p/>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
http://git-wip-us.apache.org/repos/asf/camel/blob/da6102a3/components/camel-zipkin-starter/src/main/java/org/apache/camel/zipkin/starter/ZipkinAutoConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-zipkin-starter/src/main/java/org/apache/camel/zipkin/starter/ZipkinAutoConfiguration.java b/components/camel-zipkin-starter/src/main/java/org/apache/camel/zipkin/starter/ZipkinAutoConfiguration.java
index 31cac0d..0466d34 100644
--- a/components/camel-zipkin-starter/src/main/java/org/apache/camel/zipkin/starter/ZipkinAutoConfiguration.java
+++ b/components/camel-zipkin-starter/src/main/java/org/apache/camel/zipkin/starter/ZipkinAutoConfiguration.java
@@ -5,9 +5,9 @@
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
- * <p/>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -34,19 +34,22 @@ public class ZipkinAutoConfiguration {
// Camel handles the lifecycle of this bean
@ConditionalOnMissingBean(ZipkinEventNotifier.class)
ZipkinEventNotifier zipkinEventNotifier(CamelContext camelContext,
- ZipkinConfigurationProperties configurationProperties) {
+ ZipkinConfigurationProperties config) {
ZipkinEventNotifier notifier = new ZipkinEventNotifier();
- notifier.setHostName(configurationProperties.getHostName());
- notifier.setPort(configurationProperties.getPort());
- notifier.setRate(configurationProperties.getRate());
- if (ObjectHelper.isNotEmpty(configurationProperties.getServiceName())) {
- notifier.setServiceName(configurationProperties.getServiceName());
+ notifier.setHostName(config.getHostName());
+ notifier.setPort(config.getPort());
+ notifier.setRate(config.getRate());
+ if (ObjectHelper.isNotEmpty(config.getServiceName())) {
+ notifier.setServiceName(config.getServiceName());
}
- if (ObjectHelper.isNotEmpty(configurationProperties.getExcludePattern())) {
- notifier.addExcludePattern(configurationProperties.getExcludePattern());
+ if (config.getExcludePatterns() != null) {
+ notifier.setExcludePatterns(config.getExcludePatterns());
}
- notifier.setIncludeMessageBody(configurationProperties.isIncludeMessageBody());
+ if (config.getServiceMappings() != null) {
+ notifier.setServiceMappings(config.getServiceMappings());
+ }
+ notifier.setIncludeMessageBody(config.isIncludeMessageBody());
// register the bean into CamelContext
camelContext.getManagementStrategy().addEventNotifier(notifier);
http://git-wip-us.apache.org/repos/asf/camel/blob/da6102a3/components/camel-zipkin-starter/src/main/java/org/apache/camel/zipkin/starter/ZipkinConfigurationProperties.java
----------------------------------------------------------------------
diff --git a/components/camel-zipkin-starter/src/main/java/org/apache/camel/zipkin/starter/ZipkinConfigurationProperties.java b/components/camel-zipkin-starter/src/main/java/org/apache/camel/zipkin/starter/ZipkinConfigurationProperties.java
index 5d9f4fa..ffd338b 100644
--- a/components/camel-zipkin-starter/src/main/java/org/apache/camel/zipkin/starter/ZipkinConfigurationProperties.java
+++ b/components/camel-zipkin-starter/src/main/java/org/apache/camel/zipkin/starter/ZipkinConfigurationProperties.java
@@ -5,9 +5,9 @@
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
- * <p/>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p/>
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -16,6 +16,9 @@
*/
package org.apache.camel.zipkin.starter;
+import java.util.Map;
+import java.util.Set;
+
import org.springframework.boot.context.properties.ConfigurationProperties;
@ConfigurationProperties(prefix = "camel.zipkin")
@@ -26,7 +29,8 @@ public class ZipkinConfigurationProperties {
private float rate = 1.0f;
private boolean includeMessageBody;
private String serviceName;
- private String excludePattern;
+ private Set<String> excludePatterns;
+ private Map<String, String> serviceMappings;
public String getHostName() {
return hostName;
@@ -89,14 +93,26 @@ public class ZipkinConfigurationProperties {
this.serviceName = serviceName;
}
- public String getExcludePattern() {
- return excludePattern;
+ public Set<String> getExcludePatterns() {
+ return excludePatterns;
+ }
+
+ /**
+ * Sets exclude pattern(s) that will disable tracing with zipkin for Camel messages that matches the pattern.
+ */
+ public void setExcludePatterns(Set<String> excludePatterns) {
+ this.excludePatterns = excludePatterns;
+ }
+
+ public Map<String, String> getServiceMappings() {
+ return serviceMappings;
}
/**
- * Sets an exclude pattern that will disable tracing with zipkin for Camel messages that matches the pattern.
+ * Sets service mapping(s) that matches Camel events to the given zipkin service name.
+ * The key is the pattern, the value is the service name.
*/
- public void setExcludePattern(String excludePattern) {
- this.excludePattern = excludePattern;
+ public void setServiceMappings(Map<String, String> serviceMappings) {
+ this.serviceMappings = serviceMappings;
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/da6102a3/examples/camel-example-zipkin/src/main/resources/application.properties
----------------------------------------------------------------------
diff --git a/examples/camel-example-zipkin/src/main/resources/application.properties b/examples/camel-example-zipkin/src/main/resources/application.properties
index 39f6bd5..515564d 100644
--- a/examples/camel-example-zipkin/src/main/resources/application.properties
+++ b/examples/camel-example-zipkin/src/main/resources/application.properties
@@ -23,9 +23,12 @@ camel.springboot.main-run-controller=true
camel.zipkin.host-name=192.168.99.100
camel.zipkin.port=9410
+# the name of the service
camel.zipkin.service-name=hello
-# the timer is just to trigger new requests (
-camel.zipkin.exclude-pattern=timer:hello*
+
+# exclude the timer as it just triggers a new client request
+camel.zipkin.exclude-patterns=timer:hello*
+
# include the message body in the zipkin traces
camel.zipkin.include-message-body=true