You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2022/07/15 11:02:54 UTC
[shardingsphere] branch master updated: Refactor ZipkinTracingPluginBootService (#19247)
This is an automated email from the ASF dual-hosted git repository.
panjuan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 39b6dab961f Refactor ZipkinTracingPluginBootService (#19247)
39b6dab961f is described below
commit 39b6dab961f7a7b5f3748903b65cbcbde70aceae
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Fri Jul 15 19:02:48 2022 +0800
Refactor ZipkinTracingPluginBootService (#19247)
---
.../agent/config/PluginConfiguration.java | 5 ++-
.../service/ZipkinTracingPluginBootService.java | 47 +++++++++-------------
2 files changed, 22 insertions(+), 30 deletions(-)
diff --git a/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/config/PluginConfiguration.java b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/config/PluginConfiguration.java
index c3c9257a8f3..cf5abe99155 100644
--- a/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/config/PluginConfiguration.java
+++ b/shardingsphere-agent/shardingsphere-agent-api/src/main/java/org/apache/shardingsphere/agent/config/PluginConfiguration.java
@@ -17,15 +17,16 @@
package org.apache.shardingsphere.agent.config;
-import java.util.Properties;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
+import java.util.Properties;
+
/**
* Plugin configuration.
*/
-@Getter
@RequiredArgsConstructor
+@Getter
public final class PluginConfiguration {
private final String host;
diff --git a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootService.java b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootService.java
index be6a299d9eb..37362c96359 100644
--- a/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootService.java
+++ b/shardingsphere-agent/shardingsphere-agent-plugins/shardingsphere-agent-plugin-tracing/shardingsphere-agent-tracing-zipkin/src/main/java/org/apache/shardingsphere/agent/plugin/tracing/zipkin/service/ZipkinTracingPluginBootService.java
@@ -21,6 +21,7 @@ import brave.Tracing;
import brave.sampler.BoundarySampler;
import brave.sampler.RateLimitingSampler;
import brave.sampler.Sampler;
+import com.google.common.base.Strings;
import org.apache.shardingsphere.agent.config.PluginConfiguration;
import org.apache.shardingsphere.agent.exception.PluginConfigurationException;
import org.apache.shardingsphere.agent.spi.boot.PluginBootService;
@@ -43,7 +44,7 @@ public final class ZipkinTracingPluginBootService implements PluginBootService {
@Override
public void start(final PluginConfiguration pluginConfig) {
- if (!checkConfig(pluginConfig)) {
+ if (Strings.isNullOrEmpty(pluginConfig.getHost()) || pluginConfig.getPort() < 1) {
throw new PluginConfigurationException("zipkin config error, host is null or port is %s", pluginConfig.getPort());
}
Properties props = pluginConfig.getProps();
@@ -55,6 +56,23 @@ public final class ZipkinTracingPluginBootService implements PluginBootService {
tracing = Tracing.newBuilder().localServiceName(serviceName).sampler(sampler).addSpanHandler(zipkinSpanHandler).build();
}
+ private Sampler createSampler(final PluginConfiguration pluginConfig) {
+ String samplerType = Optional.ofNullable(pluginConfig.getProps().getProperty("SAMPLER_TYPE")).orElse("const");
+ String samplerParameter = Optional.ofNullable(pluginConfig.getProps().getProperty("SAMPLER_PARAM")).orElse("1");
+ switch (samplerType) {
+ case "const":
+ return "0".equals(samplerParameter) ? Sampler.NEVER_SAMPLE : Sampler.ALWAYS_SAMPLE;
+ case "counting":
+ return Sampler.create(Float.parseFloat(samplerParameter));
+ case "ratelimiting":
+ return RateLimitingSampler.create(Integer.parseInt(samplerParameter));
+ case "boundary":
+ return BoundarySampler.create(Float.parseFloat(samplerParameter));
+ default:
+ return Sampler.ALWAYS_SAMPLE;
+ }
+ }
+
@Override
public void close() {
if (null != tracing) {
@@ -72,31 +90,4 @@ public final class ZipkinTracingPluginBootService implements PluginBootService {
public String getType() {
return "Zipkin";
}
-
- private boolean checkConfig(final PluginConfiguration pluginConfig) {
- String host = pluginConfig.getHost();
- int port = pluginConfig.getPort();
- return null != host && !"".equalsIgnoreCase(host) && port > 0;
- }
-
- private Sampler createSampler(final PluginConfiguration pluginConfig) {
- String samplerType = Optional.ofNullable(pluginConfig.getProps().getProperty("SAMPLER_TYPE")).orElse("const");
- String samplerParameter = Optional.ofNullable(pluginConfig.getProps().getProperty("SAMPLER_PARAM")).orElse("1");
- switch (samplerType) {
- case "const":
- if ("0".equals(samplerParameter)) {
- return Sampler.NEVER_SAMPLE;
- }
- return Sampler.ALWAYS_SAMPLE;
- case "counting":
- return Sampler.create(Float.parseFloat(samplerParameter));
- case "ratelimiting":
- return RateLimitingSampler.create(Integer.parseInt(samplerParameter));
- case "boundary":
- return BoundarySampler.create(Float.parseFloat(samplerParameter));
- default:
- break;
- }
- return Sampler.ALWAYS_SAMPLE;
- }
}