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. */
