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;
-    }
 }