You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2019/03/26 20:25:14 UTC

[incubator-skywalking] branch master updated: Fix endpoint name rule package (#2405)

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

wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-skywalking.git


The following commit(s) were added to refs/heads/master by this push:
     new 59d4725  Fix endpoint name rule package  (#2405)
59d4725 is described below

commit 59d472509168dabb3970c5dea0f586effc4f0600
Author: 吴晟 Wu Sheng <wu...@foxmail.com>
AuthorDate: Tue Mar 26 13:25:07 2019 -0700

    Fix endpoint name rule package  (#2405)
    
    * Add more logs
    
    * no message
    
    * no message
    
    * Exclude test file.
---
 .../org/apache/skywalking/apm/util/StringFormatGroup.java   | 13 +++++++++++++
 .../aop/server/receiver/mesh/EndpointNameFormater.java      |  7 +++++--
 .../aop/server/receiver/mesh/TelemetryDataDispatcher.java   |  8 +++++++-
 oap-server/server-starter/pom.xml                           |  1 +
 4 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/apm-commons/apm-util/src/main/java/org/apache/skywalking/apm/util/StringFormatGroup.java b/apm-commons/apm-util/src/main/java/org/apache/skywalking/apm/util/StringFormatGroup.java
index 36d689b..e2b7a4f 100644
--- a/apm-commons/apm-util/src/main/java/org/apache/skywalking/apm/util/StringFormatGroup.java
+++ b/apm-commons/apm-util/src/main/java/org/apache/skywalking/apm/util/StringFormatGroup.java
@@ -63,6 +63,12 @@ public class StringFormatGroup {
         return new FormatResult(false, string);
     }
 
+    @Override public String toString() {
+        return "StringFormatGroup{" +
+            "rules=" + rules +
+            '}';
+    }
+
     public class FormatResult {
         private boolean match;
         private String name;
@@ -97,5 +103,12 @@ public class StringFormatGroup {
         public Pattern getPattern() {
             return pattern;
         }
+
+        @Override public String toString() {
+            return "PatternRule{" +
+                "name='" + name + '\'' +
+                ", pattern=" + pattern +
+                '}';
+        }
     }
 }
diff --git a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/EndpointNameFormater.java b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/EndpointNameFormater.java
index 0b88705..0a6ff6e 100644
--- a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/EndpointNameFormater.java
+++ b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/EndpointNameFormater.java
@@ -46,18 +46,21 @@ public class EndpointNameFormater {
             }
 
             if (stream == null) {
-                logger.info("endpoint_naming_rules.properties not found. No endpoint name setup.");
+                logger.info("endpoint_naming_rules.properties not found. No endpoint naming setup.");
             } else {
                 properties.load(stream);
                 properties.forEach((key, value) -> {
                     endpointRule.addRule((String)key, (String)value);
+                    logger.debug("endpoint naming rule of service {} found, name[{}] and rule[{}]", service, key, value);
                 });
             }
         } catch (IOException e) {
-            logger.info("{}_endpoint_rules.properties not found. No endpoint name setup.", service);
+            logger.info("{}_endpoint_rules.properties not found. No endpoint naming setup.", service);
         }
 
         ALL_RULES.put(service, endpointRule);
+        logger.debug("endpoint naming rules of service {} added. {}", service, endpointRule);
+
     }
 
     public static StringFormatGroup.FormatResult format(String service, String endpointName) {
diff --git a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/TelemetryDataDispatcher.java b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/TelemetryDataDispatcher.java
index 06a59d3..4731d48 100644
--- a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/TelemetryDataDispatcher.java
+++ b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/TelemetryDataDispatcher.java
@@ -63,10 +63,16 @@ public class TelemetryDataDispatcher {
     public static void preProcess(ServiceMeshMetric data) {
         String service = data.getDestServiceId() == Const.NONE ? data.getDestServiceName() :
             SERVICE_CACHE.get(data.getDestServiceId()).getName();
-        StringFormatGroup.FormatResult formatResult = EndpointNameFormater.format(service, data.getEndpoint());
+        String endpointName = data.getEndpoint();
+        StringFormatGroup.FormatResult formatResult = EndpointNameFormater.format(service, endpointName);
         if (formatResult.isMatch()) {
             data = data.toBuilder().setEndpoint(formatResult.getName()).build();
         }
+        if (logger.isDebugEnabled()) {
+            if (formatResult.isMatch()) {
+                logger.debug("Endpoint {} is renamed to {}", endpointName, data.getEndpoint());
+            }
+        }
 
         ServiceMeshMetricDataDecorator decorator = new ServiceMeshMetricDataDecorator(data);
         if (decorator.tryMetaDataRegister()) {
diff --git a/oap-server/server-starter/pom.xml b/oap-server/server-starter/pom.xml
index 5e1d5a6..37c5330 100644
--- a/oap-server/server-starter/pom.xml
+++ b/oap-server/server-starter/pom.xml
@@ -186,6 +186,7 @@
                         <exclude>alarm-settings.yml</exclude>
                         <exclude>component-libraries.yml</exclude>
                         <exclude>datasource-settings.properties</exclude>
+                        <exclude>endpoint_naming_rules.properties</exclude>
                     </excludes>
                 </configuration>
             </plugin>