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

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

commit 7bdd2f3497cf2e4b3968551a2bdd791e84d571a9
Author: Wu Sheng <[email protected]>
AuthorDate: Fri Sep 24 15:45:58 2021 +0800

    Fix entity naming mechanism failure in MAL
---
 CHANGES.md                                                         | 6 ++++--
 .../org/apache/skywalking/oap/server/core/CoreModuleProvider.java  | 7 +++++--
 .../skywalking/oap/server/core/analysis/meter/MeterEntity.java     | 7 +++++++
 3 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/CHANGES.md b/CHANGES.md
index 7e5f567..fbc4d39 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -71,11 +71,13 @@ Release Notes.
 * Fix wrong service name when IP is node IP in `k8s-mesh`.
 * Support dynamic configurations for openAPI endpoint name grouping rule.
 * Add component definition for `Alibaba Druid` and `HikariCP`.
-* Fix `Hour` and `Day` dimensionality metrics not accurate, due to the cache 
read-then-clear mechanism conflicts with low
-  down metrics flush period added in 8.7.0.
+* Fix `Hour` and `Day` dimensionality metrics not accurate, due to the cache 
read-then-clear mechanism conflicts with
+  low down metrics flush period added in 8.7.0.
 * Fix `Slow SQL sampling` not accurate, due to TopN works conflict with cache 
read-then-clear mechanism.
 * The persistent cache is only read when necessary.
 * Add component definition for `Alibaba Fastjson`.
+* Fix entity(service/instance/endpoint) names in the MAL system(prometheus, 
native meter, open census, envoy metric
+  service) are not controlled by core's naming-control mechanism.
 
 #### UI
 
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java
index 87fd5a3..8e61db8 100755
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java
@@ -27,6 +27,7 @@ import 
org.apache.skywalking.oap.server.configuration.api.DynamicConfigurationSe
 import org.apache.skywalking.oap.server.core.analysis.ApdexThresholdConfig;
 import org.apache.skywalking.oap.server.core.analysis.DisableRegister;
 import org.apache.skywalking.oap.server.core.analysis.StreamAnnotationListener;
+import org.apache.skywalking.oap.server.core.analysis.meter.MeterEntity;
 import org.apache.skywalking.oap.server.core.analysis.meter.MeterSystem;
 import org.apache.skywalking.oap.server.core.analysis.metrics.ApdexMetrics;
 import 
org.apache.skywalking.oap.server.core.analysis.worker.ManagementStreamProcessor;
@@ -154,12 +155,14 @@ public class CoreModuleProvider extends ModuleProvider {
             DefaultScopeDefine.activeExtraModelColumns();
         }
         EndpointNameGrouping endpointNameGrouping = new EndpointNameGrouping();
-        this.registerServiceImplementation(NamingControl.class, new 
NamingControl(
+        final NamingControl namingControl = new NamingControl(
             moduleConfig.getServiceNameMaxLength(),
             moduleConfig.getInstanceNameMaxLength(),
             moduleConfig.getEndpointNameMaxLength(),
             endpointNameGrouping
-        ));
+        );
+        this.registerServiceImplementation(NamingControl.class, namingControl);
+        MeterEntity.setNamingControl(namingControl);
         try {
             endpointNameGroupingRuleWatcher = new 
EndpointNameGroupingRuleWatcher(
                 this, endpointNameGrouping);
diff --git 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/MeterEntity.java
 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/MeterEntity.java
index d2d5958..3f1b538 100644
--- 
a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/MeterEntity.java
+++ 
b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/meter/MeterEntity.java
@@ -25,6 +25,7 @@ import lombok.Setter;
 import lombok.ToString;
 import org.apache.skywalking.oap.server.core.UnexpectedException;
 import org.apache.skywalking.oap.server.core.analysis.IDManager;
+import org.apache.skywalking.oap.server.core.config.NamingControl;
 import org.apache.skywalking.oap.server.core.source.DetectPoint;
 
 /**
@@ -35,6 +36,8 @@ import 
org.apache.skywalking.oap.server.core.source.DetectPoint;
 @Getter
 @Builder(toBuilder = true)
 public class MeterEntity {
+    private static NamingControl NAMING_CONTROL;
+
     private ScopeType scopeType;
     @Setter
     private String serviceName;
@@ -76,6 +79,10 @@ public class MeterEntity {
         return IDManager.ServiceID.buildId(destServiceName, true);
     }
 
+    public static void setNamingControl(final NamingControl namingControl) {
+        NAMING_CONTROL = namingControl;
+    }
+
     /**
      * Create a service level meter entity.
      */

Reply via email to