From 7bdd2f3497cf2e4b3968551a2bdd791e84d571a9 Mon Sep 17 00:00:00 2001 From: Wu Sheng Date: Fri, 24 Sep 2021 15:45:58 +0800 Subject: [PATCH 1/3] Fix entity naming mechanism failure in MAL --- CHANGES.md | 6 ++++-- .../skywalking/oap/server/core/CoreModuleProvider.java | 7 +++++-- .../oap/server/core/analysis/meter/MeterEntity.java | 7 +++++++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 7e5f567729b1..fbc4d3910226 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 87fd5a3e32b8..8e61db8932b4 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.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 void prepare() throws ServiceNotProvidedException, ModuleStartException { 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 d2d59582747a..3f1b538a295f 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.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 @@ @Getter @Builder(toBuilder = true) public class MeterEntity { + private static NamingControl NAMING_CONTROL; + private ScopeType scopeType; @Setter private String serviceName; @@ -76,6 +79,10 @@ public String destServiceId() { return IDManager.ServiceID.buildId(destServiceName, true); } + public static void setNamingControl(final NamingControl namingControl) { + NAMING_CONTROL = namingControl; + } + /** * Create a service level meter entity. */ From 9a876c8511a149385fbca50a401c4eb642f237ca Mon Sep 17 00:00:00 2001 From: Wu Sheng Date: Fri, 24 Sep 2021 16:08:27 +0800 Subject: [PATCH 2/3] Fix missing parts. --- .../server/core/analysis/meter/MeterEntity.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) 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 3f1b538a295f..1562f8680e7c 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 @@ -87,7 +87,10 @@ public static void setNamingControl(final NamingControl namingControl) { * Create a service level meter entity. */ public static MeterEntity newService(String serviceName) { - return MeterEntity.builder().scopeType(ScopeType.SERVICE).serviceName(serviceName).build(); + return MeterEntity.builder() + .scopeType(ScopeType.SERVICE) + .serviceName(NAMING_CONTROL.formatServiceName(serviceName)) + .build(); } /** @@ -96,8 +99,8 @@ public static MeterEntity newService(String serviceName) { public static MeterEntity newServiceInstance(String serviceName, String serviceInstance) { return MeterEntity.builder() .scopeType(ScopeType.SERVICE_INSTANCE) - .serviceName(serviceName) - .instanceName(serviceInstance) + .serviceName(NAMING_CONTROL.formatServiceName(serviceName)) + .instanceName(NAMING_CONTROL.formatInstanceName(serviceInstance)) .build(); } @@ -107,8 +110,8 @@ public static MeterEntity newServiceInstance(String serviceName, String serviceI public static MeterEntity newEndpoint(String serviceName, String endpointName) { return MeterEntity.builder() .scopeType(ScopeType.ENDPOINT) - .serviceName(serviceName) - .endpointName(endpointName) + .serviceName(NAMING_CONTROL.formatServiceName(serviceName)) + .endpointName(NAMING_CONTROL.formatEndpointName(serviceName, endpointName)) .build(); } @@ -117,8 +120,8 @@ public static MeterEntity newServiceRelation(String sourceServiceName, DetectPoint detectPoint) { return MeterEntity.builder() .scopeType(ScopeType.SERVICE_RELATION) - .sourceServiceName(sourceServiceName) - .destServiceName(destServiceName) + .sourceServiceName(NAMING_CONTROL.formatServiceName(sourceServiceName)) + .destServiceName(NAMING_CONTROL.formatServiceName(destServiceName)) .detectPoint(detectPoint) .build(); } From 377bb63c7ea73d5c1c7f1ceb2f38e3fbe1bc767e Mon Sep 17 00:00:00 2001 From: Wu Sheng Date: Fri, 24 Sep 2021 17:32:34 +0800 Subject: [PATCH 3/3] Polish fix --- .../oap/meter/analyzer/dsl/AnalyzerTest.java | 16 ++++++ .../oap/meter/analyzer/dsl/ScopeTest.java | 19 +++++++ .../core/analysis/meter/MeterEntity.java | 52 ++++++++++--------- .../meter/function/HistogramFunctionTest.java | 15 ++++++ .../function/PercentileFunctionTest.java | 15 ++++++ .../avg/AvgHistogramFunctionTest.java | 15 ++++++ .../AvgHistogramPercentileFunctionTest.java | 15 ++++++ .../function/avg/AvgLabeledFunctionTest.java | 15 ++++++ .../function/latest/LatestFunctionTest.java | 15 ++++++ .../zabbix/provider/ZabbixMetricsTest.java | 16 ++++++ 10 files changed, 169 insertions(+), 24 deletions(-) diff --git a/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/AnalyzerTest.java b/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/AnalyzerTest.java index 20639cc2b390..e5e1813ee8f9 100644 --- a/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/AnalyzerTest.java +++ b/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/AnalyzerTest.java @@ -24,6 +24,7 @@ import org.apache.skywalking.oap.meter.analyzer.Analyzer; import org.apache.skywalking.oap.server.core.analysis.IDManager; import org.apache.skywalking.oap.server.core.analysis.StreamDefinition; +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.meter.function.AcceptableValue; import org.apache.skywalking.oap.server.core.analysis.meter.function.avg.AvgFunction; @@ -31,10 +32,14 @@ import org.apache.skywalking.oap.server.core.analysis.meter.function.avg.AvgLabeledFunction; import org.apache.skywalking.oap.server.core.analysis.metrics.IntList; import org.apache.skywalking.oap.server.core.analysis.worker.MetricsStreamProcessor; +import org.apache.skywalking.oap.server.core.config.NamingControl; +import org.apache.skywalking.oap.server.core.config.group.EndpointNameGrouping; import org.apache.skywalking.oap.server.core.storage.StorageException; import org.apache.skywalking.oap.server.library.module.ModuleManager; +import org.junit.AfterClass; import org.junit.Assert; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; @@ -67,6 +72,17 @@ public void setup() throws StorageException { } + @BeforeClass + public static void init() { + MeterEntity.setNamingControl( + new NamingControl(512, 512, 512, new EndpointNameGrouping())); + } + + @AfterClass + public static void tearDown() { + MeterEntity.setNamingControl(null); + } + @Test public void testSingle() { analyzer = Analyzer.build( diff --git a/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/ScopeTest.java b/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/ScopeTest.java index 6fb6c070d92f..49e57d3eb424 100644 --- a/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/ScopeTest.java +++ b/oap-server/analyzer/meter-analyzer/src/test/java/org/apache/skywalking/oap/meter/analyzer/dsl/ScopeTest.java @@ -25,7 +25,11 @@ import java.util.Map; import lombok.extern.slf4j.Slf4j; import org.apache.skywalking.oap.server.core.analysis.meter.MeterEntity; +import org.apache.skywalking.oap.server.core.config.NamingControl; +import org.apache.skywalking.oap.server.core.config.group.EndpointNameGrouping; import org.apache.skywalking.oap.server.core.source.DetectPoint; +import org.junit.AfterClass; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -56,6 +60,10 @@ public class ScopeTest { @Parameterized.Parameters(name = "{index}: {0}") public static Collection data() { + // This method is called before `@BeforeClass`. + MeterEntity.setNamingControl( + new NamingControl(512, 512, 512, new EndpointNameGrouping())); + return Arrays.asList(new Object[][] { { "sum_service", @@ -527,6 +535,17 @@ public static Collection data() { }); } + @BeforeClass + public static void setup() { + MeterEntity.setNamingControl( + new NamingControl(512, 512, 512, new EndpointNameGrouping())); + } + + @AfterClass + public static void tearDown() { + MeterEntity.setNamingControl(null); + } + @Test public void test() { Expression e = DSL.parse(expression); 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 1562f8680e7c..d2f5f596c9cd 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 @@ -18,10 +18,8 @@ package org.apache.skywalking.oap.server.core.analysis.meter; -import lombok.Builder; import lombok.EqualsAndHashCode; import lombok.Getter; -import lombok.Setter; import lombok.ToString; import org.apache.skywalking.oap.server.core.UnexpectedException; import org.apache.skywalking.oap.server.core.analysis.IDManager; @@ -34,12 +32,10 @@ @EqualsAndHashCode @ToString @Getter -@Builder(toBuilder = true) public class MeterEntity { private static NamingControl NAMING_CONTROL; private ScopeType scopeType; - @Setter private String serviceName; private String instanceName; private String endpointName; @@ -47,6 +43,10 @@ public class MeterEntity { private String destServiceName; private DetectPoint detectPoint; + private MeterEntity() { + + } + public String id() { switch (scopeType) { case SERVICE: @@ -83,46 +83,50 @@ public static void setNamingControl(final NamingControl namingControl) { NAMING_CONTROL = namingControl; } + public void setServiceName(final String serviceName) { + this.serviceName = NAMING_CONTROL.formatServiceName(serviceName); + } + /** * Create a service level meter entity. */ public static MeterEntity newService(String serviceName) { - return MeterEntity.builder() - .scopeType(ScopeType.SERVICE) - .serviceName(NAMING_CONTROL.formatServiceName(serviceName)) - .build(); + final MeterEntity meterEntity = new MeterEntity(); + meterEntity.scopeType = ScopeType.SERVICE; + meterEntity.serviceName = NAMING_CONTROL.formatServiceName(serviceName); + return meterEntity; } /** * Create a service instance level meter entity. */ public static MeterEntity newServiceInstance(String serviceName, String serviceInstance) { - return MeterEntity.builder() - .scopeType(ScopeType.SERVICE_INSTANCE) - .serviceName(NAMING_CONTROL.formatServiceName(serviceName)) - .instanceName(NAMING_CONTROL.formatInstanceName(serviceInstance)) - .build(); + final MeterEntity meterEntity = new MeterEntity(); + meterEntity.scopeType = ScopeType.SERVICE_INSTANCE; + meterEntity.serviceName = NAMING_CONTROL.formatServiceName(serviceName); + meterEntity.instanceName = NAMING_CONTROL.formatInstanceName(serviceInstance); + return meterEntity; } /** * Create an endpoint level meter entity. */ public static MeterEntity newEndpoint(String serviceName, String endpointName) { - return MeterEntity.builder() - .scopeType(ScopeType.ENDPOINT) - .serviceName(NAMING_CONTROL.formatServiceName(serviceName)) - .endpointName(NAMING_CONTROL.formatEndpointName(serviceName, endpointName)) - .build(); + final MeterEntity meterEntity = new MeterEntity(); + meterEntity.scopeType = ScopeType.ENDPOINT; + meterEntity.serviceName = NAMING_CONTROL.formatServiceName(serviceName); + meterEntity.endpointName = NAMING_CONTROL.formatEndpointName(serviceName, endpointName); + return meterEntity; } public static MeterEntity newServiceRelation(String sourceServiceName, String destServiceName, DetectPoint detectPoint) { - return MeterEntity.builder() - .scopeType(ScopeType.SERVICE_RELATION) - .sourceServiceName(NAMING_CONTROL.formatServiceName(sourceServiceName)) - .destServiceName(NAMING_CONTROL.formatServiceName(destServiceName)) - .detectPoint(detectPoint) - .build(); + final MeterEntity meterEntity = new MeterEntity(); + meterEntity.scopeType = ScopeType.SERVICE_RELATION; + meterEntity.sourceServiceName = NAMING_CONTROL.formatServiceName(sourceServiceName); + meterEntity.destServiceName = NAMING_CONTROL.formatServiceName(destServiceName); + meterEntity.detectPoint = detectPoint; + return meterEntity; } } diff --git a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/HistogramFunctionTest.java b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/HistogramFunctionTest.java index 5ddbb0a4b29b..73e04c1a0eea 100644 --- a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/HistogramFunctionTest.java +++ b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/HistogramFunctionTest.java @@ -22,10 +22,14 @@ import java.util.stream.IntStream; import org.apache.skywalking.oap.server.core.analysis.meter.MeterEntity; import org.apache.skywalking.oap.server.core.analysis.metrics.DataTable; +import org.apache.skywalking.oap.server.core.config.NamingControl; +import org.apache.skywalking.oap.server.core.config.group.EndpointNameGrouping; import org.apache.skywalking.oap.server.core.query.type.Bucket; import org.apache.skywalking.oap.server.core.query.type.HeatMap; import org.apache.skywalking.oap.server.core.storage.StorageHashMapBuilder; +import org.junit.AfterClass; import org.junit.Assert; +import org.junit.BeforeClass; import org.junit.Test; import static org.apache.skywalking.oap.server.core.analysis.meter.function.HistogramFunction.DATASET; @@ -52,6 +56,17 @@ public class HistogramFunctionTest { 10 }; + @BeforeClass + public static void setup() { + MeterEntity.setNamingControl( + new NamingControl(512, 512, 512, new EndpointNameGrouping())); + } + + @AfterClass + public static void tearDown() { + MeterEntity.setNamingControl(null); + } + @Test public void testFunction() { HistogramFunctionInst inst = new HistogramFunctionInst(); diff --git a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/PercentileFunctionTest.java b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/PercentileFunctionTest.java index b7f477c62ced..714b4c1bc7b4 100644 --- a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/PercentileFunctionTest.java +++ b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/PercentileFunctionTest.java @@ -22,8 +22,12 @@ import org.apache.skywalking.oap.server.core.analysis.meter.MeterEntity; import org.apache.skywalking.oap.server.core.analysis.metrics.DataTable; import org.apache.skywalking.oap.server.core.analysis.metrics.IntList; +import org.apache.skywalking.oap.server.core.config.NamingControl; +import org.apache.skywalking.oap.server.core.config.group.EndpointNameGrouping; import org.apache.skywalking.oap.server.core.storage.StorageHashMapBuilder; +import org.junit.AfterClass; import org.junit.Assert; +import org.junit.BeforeClass; import org.junit.Test; public class PercentileFunctionTest { @@ -46,6 +50,17 @@ public class PercentileFunctionTest { 90 }; + @BeforeClass + public static void setup() { + MeterEntity.setNamingControl( + new NamingControl(512, 512, 512, new EndpointNameGrouping())); + } + + @AfterClass + public static void tearDown() { + MeterEntity.setNamingControl(null); + } + @Test public void testFunction() { PercentileFunctionInst inst = new PercentileFunctionInst(); diff --git a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgHistogramFunctionTest.java b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgHistogramFunctionTest.java index b5d05880150d..d75f9f0632ef 100644 --- a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgHistogramFunctionTest.java +++ b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgHistogramFunctionTest.java @@ -24,10 +24,14 @@ import org.apache.skywalking.oap.server.core.analysis.meter.function.AcceptableValue; import org.apache.skywalking.oap.server.core.analysis.meter.function.BucketedValues; import org.apache.skywalking.oap.server.core.analysis.metrics.DataTable; +import org.apache.skywalking.oap.server.core.config.NamingControl; +import org.apache.skywalking.oap.server.core.config.group.EndpointNameGrouping; import org.apache.skywalking.oap.server.core.query.type.Bucket; import org.apache.skywalking.oap.server.core.query.type.HeatMap; import org.apache.skywalking.oap.server.core.storage.StorageHashMapBuilder; +import org.junit.AfterClass; import org.junit.Assert; +import org.junit.BeforeClass; import org.junit.Test; import static org.apache.skywalking.oap.server.core.analysis.meter.function.avg.AvgHistogramFunction.DATASET; @@ -49,6 +53,17 @@ public class AvgHistogramFunctionTest { 10 }; + @BeforeClass + public static void setup() { + MeterEntity.setNamingControl( + new NamingControl(512, 512, 512, new EndpointNameGrouping())); + } + + @AfterClass + public static void tearDown() { + MeterEntity.setNamingControl(null); + } + @Test public void testFunction() { HistogramFunctionInst inst = new HistogramFunctionInst(); diff --git a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgHistogramPercentileFunctionTest.java b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgHistogramPercentileFunctionTest.java index 29db0260116c..6078e791c57e 100644 --- a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgHistogramPercentileFunctionTest.java +++ b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgHistogramPercentileFunctionTest.java @@ -25,8 +25,12 @@ import org.apache.skywalking.oap.server.core.analysis.meter.function.PercentileArgument; import org.apache.skywalking.oap.server.core.analysis.metrics.DataTable; import org.apache.skywalking.oap.server.core.analysis.metrics.IntList; +import org.apache.skywalking.oap.server.core.config.NamingControl; +import org.apache.skywalking.oap.server.core.config.group.EndpointNameGrouping; import org.apache.skywalking.oap.server.core.storage.StorageHashMapBuilder; +import org.junit.AfterClass; import org.junit.Assert; +import org.junit.BeforeClass; import org.junit.Test; import static org.junit.Assert.assertEquals; @@ -45,6 +49,17 @@ public class AvgHistogramPercentileFunctionTest { 90 }; + @BeforeClass + public static void setup() { + MeterEntity.setNamingControl( + new NamingControl(512, 512, 512, new EndpointNameGrouping())); + } + + @AfterClass + public static void tearDown() { + MeterEntity.setNamingControl(null); + } + @Test public void testFunction() { PercentileFunctionInst inst = new PercentileFunctionInst(); diff --git a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgLabeledFunctionTest.java b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgLabeledFunctionTest.java index 612868e216fd..a3eba7ef22b5 100644 --- a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgLabeledFunctionTest.java +++ b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/avg/AvgLabeledFunctionTest.java @@ -24,7 +24,11 @@ import java.util.Map; import org.apache.skywalking.oap.server.core.analysis.meter.MeterEntity; import org.apache.skywalking.oap.server.core.analysis.metrics.DataTable; +import org.apache.skywalking.oap.server.core.config.NamingControl; +import org.apache.skywalking.oap.server.core.config.group.EndpointNameGrouping; import org.apache.skywalking.oap.server.core.storage.StorageHashMapBuilder; +import org.junit.AfterClass; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mockito; @@ -43,6 +47,17 @@ public class AvgLabeledFunctionTest { @Spy private AvgLabeledFunction function; + @BeforeClass + public static void setup() { + MeterEntity.setNamingControl( + new NamingControl(512, 512, 512, new EndpointNameGrouping())); + } + + @AfterClass + public static void tearDown() { + MeterEntity.setNamingControl(null); + } + @Test public void testAccept() { function.accept(MeterEntity.newService("request_count"), build(asList("200", "404"), asList(10L, 2L))); diff --git a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/latest/LatestFunctionTest.java b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/latest/LatestFunctionTest.java index 8eb7bb0772b9..731cd7da2203 100644 --- a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/latest/LatestFunctionTest.java +++ b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/analysis/meter/function/latest/LatestFunctionTest.java @@ -20,7 +20,11 @@ import java.util.Map; import org.apache.skywalking.oap.server.core.analysis.meter.MeterEntity; +import org.apache.skywalking.oap.server.core.config.NamingControl; +import org.apache.skywalking.oap.server.core.config.group.EndpointNameGrouping; import org.apache.skywalking.oap.server.core.storage.StorageHashMapBuilder; +import org.junit.AfterClass; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mockito; @@ -36,6 +40,17 @@ public class LatestFunctionTest { @Spy private LatestFunction function; + @BeforeClass + public static void setup() { + MeterEntity.setNamingControl( + new NamingControl(512, 512, 512, new EndpointNameGrouping())); + } + + @AfterClass + public static void tearDown() { + MeterEntity.setNamingControl(null); + } + @Test public void testAccept() { long time = 1597113318673L; diff --git a/oap-server/server-receiver-plugin/skywalking-zabbix-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/zabbix/provider/ZabbixMetricsTest.java b/oap-server/server-receiver-plugin/skywalking-zabbix-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/zabbix/provider/ZabbixMetricsTest.java index 6766e718f0a0..5398a05b7450 100644 --- a/oap-server/server-receiver-plugin/skywalking-zabbix-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/zabbix/provider/ZabbixMetricsTest.java +++ b/oap-server/server-receiver-plugin/skywalking-zabbix-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/zabbix/provider/ZabbixMetricsTest.java @@ -23,6 +23,7 @@ import org.apache.skywalking.oap.server.core.CoreModuleProvider; import org.apache.skywalking.oap.server.core.analysis.IDManager; import org.apache.skywalking.oap.server.core.analysis.StreamDefinition; +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.meter.function.AcceptableValue; import org.apache.skywalking.oap.server.core.analysis.meter.function.avg.AvgFunction; @@ -30,10 +31,14 @@ import org.apache.skywalking.oap.server.core.analysis.meter.function.avg.AvgHistogramPercentileFunction; import org.apache.skywalking.oap.server.core.analysis.meter.function.avg.AvgLabeledFunction; import org.apache.skywalking.oap.server.core.analysis.worker.MetricsStreamProcessor; +import org.apache.skywalking.oap.server.core.config.NamingControl; +import org.apache.skywalking.oap.server.core.config.group.EndpointNameGrouping; import org.apache.skywalking.oap.server.library.module.ModuleManager; import org.apache.skywalking.oap.server.receiver.zabbix.provider.config.ZabbixConfig; import org.apache.skywalking.oap.server.receiver.zabbix.provider.config.ZabbixConfigs; +import org.junit.AfterClass; import org.junit.Assert; +import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mockito; @@ -59,6 +64,17 @@ public class ZabbixMetricsTest extends ZabbixBaseTest { private List values = new ArrayList<>(); + @BeforeClass + public static void setup() { + MeterEntity.setNamingControl( + new NamingControl(512, 512, 512, new EndpointNameGrouping())); + } + + @AfterClass + public static void tearDown() { + MeterEntity.setNamingControl(null); + } + @Override public void setupMetrics() throws Throwable { moduleProvider = Mockito.mock(CoreModuleProvider.class);