This is an automated email from the ASF dual-hosted git repository. liubao pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
commit a8881743729273aca14884d107217edc68d8626e Author: liubao <[email protected]> AuthorDate: Fri Dec 1 14:47:20 2023 +0800 [SCB-2838]using micrometer to replace spectator part7: use step histogram --- dependencies/default/pom.xml | 7 -- .../metrics/publish/MeasurementTree.java | 40 +++----- .../publish/spectator/TestMeasurementTree.java | 4 +- .../metrics/core/MetricsCoreConfiguration.java | 3 +- .../metrics/core/SimpleMeterRegistryExt.java | 63 +++++++++++++ ...nConst.java => StepDistributionSummaryExt.java} | 32 +++---- .../meter/invocation/AbstractInvocationMeter.java | 33 ++++--- .../meter/invocation/MeterInvocationConst.java | 2 + .../metrics/core/publish/PublishUtils.java | 7 +- .../core/TestInvocationMetersInitializer.java | 100 ++++++++++---------- .../publish/TestInvocationPublishModelFactory.java | 105 +++++++++++---------- .../metrics/core/publish/TestPublishUtils.java | 12 +-- .../model/invocation/TestOperationPerf.java | 8 +- .../model/invocation/TestOperationPerfGroup.java | 8 +- .../core/publish/model/invocation/Utils.java | 3 +- 15 files changed, 234 insertions(+), 193 deletions(-) diff --git a/dependencies/default/pom.xml b/dependencies/default/pom.xml index 74e5b9b3f..67cdfbfbd 100644 --- a/dependencies/default/pom.xml +++ b/dependencies/default/pom.xml @@ -89,7 +89,6 @@ <servlet-api.version>6.0.0</servlet-api.version> <slf4j.version>1.7.36</slf4j.version> <snakeyaml.version>1.33</snakeyaml.version> - <spectator.version>1.7.3</spectator.version> <spring.version>6.0.9</spring.version> <spring-boot.version>3.0.7</spring-boot.version> <swagger.version>2.2.19</swagger.version> @@ -189,12 +188,6 @@ <version>${protobuf.version}</version> </dependency> - <dependency> - <groupId>com.netflix.spectator</groupId> - <artifactId>spectator-reg-servo</artifactId> - <version>${spectator.version}</version> - </dependency> - <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> diff --git a/foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/publish/MeasurementTree.java b/foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/publish/MeasurementTree.java index 88e6eda69..a03c4739e 100644 --- a/foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/publish/MeasurementTree.java +++ b/foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/publish/MeasurementTree.java @@ -17,27 +17,21 @@ package org.apache.servicecomb.foundation.metrics.publish; import java.util.ArrayList; -import java.util.Arrays; import java.util.Iterator; import java.util.List; -import java.util.concurrent.TimeUnit; +import io.micrometer.core.instrument.DistributionSummary; import io.micrometer.core.instrument.Measurement; import io.micrometer.core.instrument.Meter; import io.micrometer.core.instrument.Meter.Id; import io.micrometer.core.instrument.Statistic; import io.micrometer.core.instrument.Tag; -import io.micrometer.core.instrument.Timer; import io.micrometer.core.instrument.distribution.CountAtBucket; import io.micrometer.core.instrument.distribution.HistogramSnapshot; // like select * from meters group by ...... // but output a tree not a table public class MeasurementTree extends MeasurementNode { - public static final String TAG_LATENCY_DISTRIBUTION = "latencyDistribution"; - - public static final String TAG_TYPE = "type"; - public MeasurementTree() { super(null, null, null); } @@ -48,30 +42,18 @@ public class MeasurementTree extends MeasurementNode { // only id name exists in groupConfig will accept, others will be ignored public void from(Iterator<Meter> meters, MeasurementGroupConfig groupConfig) { meters.forEachRemaining(meter -> { - // This code snip is not very good design. But timer is quite special. - if (meter instanceof Timer timer) { - HistogramSnapshot snapshot = timer.takeSnapshot(); - List<Measurement> summary = Arrays.asList(new Measurement(snapshot::count, Statistic.COUNT), - new Measurement(() -> snapshot.total(TimeUnit.MILLISECONDS), Statistic.TOTAL_TIME), - new Measurement(() -> snapshot.max(TimeUnit.MILLISECONDS), Statistic.MAX)); - from(meter.getId(), summary, groupConfig); - + // This code snip is not very good design. But DistributionSummary is quite special. + if (meter instanceof DistributionSummary distributionSummary) { + HistogramSnapshot snapshot = distributionSummary.takeSnapshot(); CountAtBucket[] countAtBuckets = snapshot.histogramCounts(); - if (countAtBuckets.length > 2) { - List<Measurement> distributions = new ArrayList<>(countAtBuckets.length); - for (int i = 0; i < countAtBuckets.length; i++) { - final int index = i; - if (index == 0) { - distributions.add(new Measurement(() -> countAtBuckets[index].count(), - Statistic.COUNT)); - continue; - } - distributions.add(new Measurement(() -> countAtBuckets[index].count() - countAtBuckets[index - 1].count(), - Statistic.COUNT)); - } - - from(meter.getId().withTag(Tag.of(TAG_TYPE, TAG_LATENCY_DISTRIBUTION)), distributions, groupConfig); + List<Measurement> distributions = new ArrayList<>(countAtBuckets.length); + for (CountAtBucket countAtBucket : countAtBuckets) { + final double value = countAtBucket.count(); + distributions.add(new Measurement(() -> value, + Statistic.COUNT)); } + + from(meter.getId(), distributions, groupConfig); return; } diff --git a/foundations/foundation-metrics/src/test/java/org/apache/servicecomb/foundation/metrics/publish/spectator/TestMeasurementTree.java b/foundations/foundation-metrics/src/test/java/org/apache/servicecomb/foundation/metrics/publish/spectator/TestMeasurementTree.java index 234147a1f..d21354be5 100644 --- a/foundations/foundation-metrics/src/test/java/org/apache/servicecomb/foundation/metrics/publish/spectator/TestMeasurementTree.java +++ b/foundations/foundation-metrics/src/test/java/org/apache/servicecomb/foundation/metrics/publish/spectator/TestMeasurementTree.java @@ -54,8 +54,8 @@ public class TestMeasurementTree { @Test public void from() { - timer.record(10, TimeUnit.MILLISECONDS); - timer.record(2, TimeUnit.MILLISECONDS); + timer.record(10, TimeUnit.SECONDS); + timer.record(2, TimeUnit.SECONDS); MeasurementGroupConfig config = new MeasurementGroupConfig("id", "g1", "g2"); tree.from(registry.getMeters().iterator(), config); diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/MetricsCoreConfiguration.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/MetricsCoreConfiguration.java index 661fc7a1d..338b2183d 100644 --- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/MetricsCoreConfiguration.java +++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/MetricsCoreConfiguration.java @@ -31,7 +31,6 @@ import org.springframework.core.env.Environment; import io.micrometer.core.instrument.Clock; import io.micrometer.core.instrument.MeterRegistry; import io.micrometer.core.instrument.simple.CountingMode; -import io.micrometer.core.instrument.simple.SimpleMeterRegistry; @Configuration public class MetricsCoreConfiguration { @@ -43,7 +42,7 @@ public class MetricsCoreConfiguration { @Bean @ConditionalOnMissingBean public MeterRegistry meterRegistry(MetricsBootstrapConfig config) { - return new SimpleMeterRegistry(s -> { + return new SimpleMeterRegistryExt(s -> { if ("simple.step".equals(s)) { return Duration.ofMillis(config.getMsPollInterval()).toString(); } diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/SimpleMeterRegistryExt.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/SimpleMeterRegistryExt.java new file mode 100644 index 000000000..592ec2af1 --- /dev/null +++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/SimpleMeterRegistryExt.java @@ -0,0 +1,63 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.servicecomb.metrics.core; + +import io.micrometer.core.instrument.Clock; +import io.micrometer.core.instrument.DistributionSummary; +import io.micrometer.core.instrument.Meter; +import io.micrometer.core.instrument.cumulative.CumulativeDistributionSummary; +import io.micrometer.core.instrument.distribution.DistributionStatisticConfig; +import io.micrometer.core.instrument.distribution.HistogramGauges; +import io.micrometer.core.instrument.distribution.StepBucketHistogram; +import io.micrometer.core.instrument.simple.SimpleConfig; +import io.micrometer.core.instrument.simple.SimpleMeterRegistry; + +/** + * Custom SimpleMeterRegistry to support StepDistributionSummary + */ +public class SimpleMeterRegistryExt extends SimpleMeterRegistry { + private final SimpleConfig config; + + public SimpleMeterRegistryExt(SimpleConfig config, Clock clock) { + super(config, clock); + this.config = config; + } + + @Override + protected DistributionSummary newDistributionSummary(Meter.Id id, + DistributionStatisticConfig distributionStatisticConfig, double scale) { + DistributionStatisticConfig merged = distributionStatisticConfig + .merge(DistributionStatisticConfig.builder().expiry(config.step()).build()); + + DistributionSummary summary; + switch (config.mode()) { + case CUMULATIVE: + summary = new CumulativeDistributionSummary(id, clock, merged, scale, false); + break; + case STEP: + default: + summary = new StepDistributionSummaryExt(id, clock, merged, scale, config.step().toMillis(), + new StepBucketHistogram(clock, config.step().toMillis(), distributionStatisticConfig, + false, false)); + break; + } + + HistogramGauges.registerWithCommonFormat(summary, this); + + return summary; + } +} diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/MeterInvocationConst.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/StepDistributionSummaryExt.java similarity index 55% copy from metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/MeterInvocationConst.java copy to metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/StepDistributionSummaryExt.java index fac87d55e..519f903a7 100644 --- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/MeterInvocationConst.java +++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/StepDistributionSummaryExt.java @@ -14,23 +14,17 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.servicecomb.metrics.core.meter.invocation; - -public interface MeterInvocationConst { - String INVOCATION_NAME = "servicecomb.invocation"; - - // consumer or producer - String TAG_ROLE = "role"; - - String TAG_OPERATION = "operation"; - - String TAG_TRANSPORT = "transport"; - - String TAG_TYPE = "type"; - - String TAG_STAGE = "stage"; - - String TAG_STATUS = "status"; - - String EDGE_INVOCATION_NAME = "EDGE"; +package org.apache.servicecomb.metrics.core; + +import io.micrometer.core.instrument.Clock; +import io.micrometer.core.instrument.distribution.DistributionStatisticConfig; +import io.micrometer.core.instrument.distribution.Histogram; +import io.micrometer.core.instrument.step.StepDistributionSummary; + +public class StepDistributionSummaryExt extends StepDistributionSummary { + public StepDistributionSummaryExt(Id id, Clock clock, + DistributionStatisticConfig distributionStatisticConfig, double scale, long stepMillis, + Histogram histogram) { + super(id, clock, distributionStatisticConfig, scale, stepMillis, histogram); + } } diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/AbstractInvocationMeter.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/AbstractInvocationMeter.java index 1ced47feb..e0bb9d549 100644 --- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/AbstractInvocationMeter.java +++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/AbstractInvocationMeter.java @@ -25,11 +25,15 @@ import org.apache.servicecomb.core.invocation.InvocationStageTrace; import org.apache.servicecomb.foundation.metrics.MetricsBootstrapConfig; import org.apache.servicecomb.foundation.metrics.meter.LatencyDistributionConfig; +import io.micrometer.core.instrument.DistributionSummary; import io.micrometer.core.instrument.MeterRegistry; import io.micrometer.core.instrument.Tags; import io.micrometer.core.instrument.Timer; public abstract class AbstractInvocationMeter { + // total time distribution + private final DistributionSummary totalSummary; + //total time private final Timer totalTimer; @@ -42,22 +46,24 @@ public abstract class AbstractInvocationMeter { MetricsBootstrapConfig metricsBootstrapConfig) { this.metricsBootstrapConfig = metricsBootstrapConfig; - Timer.Builder totalBuilder = Timer.builder(name) - .tags(tags.and(MeterInvocationConst.TAG_TYPE, MeterInvocationConst.TAG_STAGE, - MeterInvocationConst.TAG_STAGE, InvocationStageTrace.STAGE_TOTAL)); if (!StringUtils.isEmpty(metricsBootstrapConfig.getLatencyDistribution())) { - totalBuilder.sla(toDuration(metricsBootstrapConfig.getLatencyDistribution())) - .distributionStatisticExpiry(Duration.ofMillis(metricsBootstrapConfig.getMsPollInterval())); + totalSummary = DistributionSummary.builder(name) + .tags(tags.and(MeterInvocationConst.TAG_TYPE, MeterInvocationConst.TAG_DISTRIBUTION)) + .distributionStatisticExpiry(Duration.ofMillis(metricsBootstrapConfig.getMsPollInterval())) + .serviceLevelObjectives(toSla(metricsBootstrapConfig.getLatencyDistribution())).register(meterRegistry); + } else { + totalSummary = null; } - this.totalTimer = totalBuilder.register(meterRegistry); + this.totalTimer = Timer.builder(name).tags(tags.and(MeterInvocationConst.TAG_TYPE, MeterInvocationConst.TAG_STAGE + , MeterInvocationConst.TAG_STAGE, InvocationStageTrace.STAGE_TOTAL)).register(meterRegistry); this.prepareTimer = Timer.builder(name).tags(tags.and(MeterInvocationConst.TAG_TYPE, MeterInvocationConst.TAG_STAGE , MeterInvocationConst.TAG_STAGE, InvocationStageTrace.STAGE_PREPARE)).register(meterRegistry); } - protected static Duration[] toDuration(String config) { + protected static double[] toSla(String config) { config = config.trim() + "," + LatencyDistributionConfig.MAX_LATENCY; String[] array = config.split("\\s*,+\\s*"); - Duration[] result = new Duration[array.length]; + double[] result = new double[array.length]; for (int idx = 0; idx < array.length - 1; idx++) { long msMin = Long.parseLong(array[idx]); @@ -67,12 +73,12 @@ public abstract class AbstractInvocationMeter { throw new IllegalStateException(msg); } - result[idx] = Duration.ofMillis(msMin); + result[idx] = msMin; } - result[array.length - 1] = Duration.ofMillis(LatencyDistributionConfig.MAX_LATENCY); + result[array.length - 1] = LatencyDistributionConfig.MAX_LATENCY; - if (result[0].toMillis() == 0) { - Duration[] target = new Duration[result.length - 1]; + if (Double.compare(0, result[0]) == 0) { + double[] target = new double[result.length - 1]; System.arraycopy(result, 1, target, 0, target.length); return target; } @@ -84,5 +90,8 @@ public abstract class AbstractInvocationMeter { InvocationStageTrace stageTrace = event.getInvocation().getInvocationStageTrace(); totalTimer.record(stageTrace.calcTotal(), TimeUnit.NANOSECONDS); prepareTimer.record(stageTrace.calcPrepare(), TimeUnit.NANOSECONDS); + if (totalSummary != null) { + totalSummary.record(TimeUnit.NANOSECONDS.toMillis(stageTrace.calcTotal())); + } } } diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/MeterInvocationConst.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/MeterInvocationConst.java index fac87d55e..2a377e432 100644 --- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/MeterInvocationConst.java +++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/meter/invocation/MeterInvocationConst.java @@ -30,6 +30,8 @@ public interface MeterInvocationConst { String TAG_STAGE = "stage"; + String TAG_DISTRIBUTION = "distribution"; + String TAG_STATUS = "status"; String EDGE_INVOCATION_NAME = "EDGE"; diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/PublishUtils.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/PublishUtils.java index 9bf2cb6f9..9c761aaa5 100644 --- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/PublishUtils.java +++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/PublishUtils.java @@ -20,7 +20,6 @@ import java.util.HashMap; import java.util.Map; import org.apache.servicecomb.foundation.metrics.publish.MeasurementNode; -import org.apache.servicecomb.foundation.metrics.publish.MeasurementTree; import org.apache.servicecomb.metrics.core.meter.invocation.MeterInvocationConst; import org.apache.servicecomb.metrics.core.publish.model.invocation.OperationPerf; import org.apache.servicecomb.metrics.core.publish.model.invocation.OperationPerfGroup; @@ -36,8 +35,8 @@ public final class PublishUtils { public static PerfInfo createPerfInfo(MeasurementNode stageNode) { PerfInfo perfInfo = new PerfInfo(); perfInfo.setTotalRequests(stageNode.findChild(Statistic.COUNT.name()).summary()); - perfInfo.setMsTotalTime(stageNode.findChild(Statistic.TOTAL_TIME.name()).summary()); - perfInfo.setMsMaxLatency(stageNode.findChild(Statistic.MAX.name()).summary()); + perfInfo.setMsTotalTime(stageNode.findChild(Statistic.TOTAL_TIME.name()).summary() * 1000); + perfInfo.setMsMaxLatency(stageNode.findChild(Statistic.MAX.name()).summary() * 1000); return perfInfo; } @@ -51,7 +50,7 @@ public final class PublishUtils { operationPerf.getStages().put(mNode.getName(), perfInfo); }); - MeasurementNode latencyNode = statusNode.findChild(MeasurementTree.TAG_LATENCY_DISTRIBUTION); + MeasurementNode latencyNode = statusNode.findChild(MeterInvocationConst.TAG_DISTRIBUTION); if (latencyNode != null && latencyNode.getMeasurements() != null) { operationPerf.setLatencyDistribution(latencyNode.getMeasurements().stream() .map(m -> (int) m.getValue()) diff --git a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestInvocationMetersInitializer.java b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestInvocationMetersInitializer.java index 09963b4e4..8705f89d1 100644 --- a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestInvocationMetersInitializer.java +++ b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestInvocationMetersInitializer.java @@ -110,9 +110,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.8E-5"); + "statistic='TOTAL_TIME', value=1.8E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=9.0E-6"); + "statistic='MAX', value=9.0E-9"); measurements = tree.findChild(MeterInvocationConst.INVOCATION_NAME, "prepare") .getMeasurements(); @@ -120,9 +120,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.8E-5"); + "statistic='TOTAL_TIME', value=1.8E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=9.0E-6"); + "statistic='MAX', value=9.0E-9"); measurements = tree.findChild(MeterInvocationConst.INVOCATION_NAME, "consumer-send") .getMeasurements(); @@ -130,9 +130,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.0E-5"); + "statistic='TOTAL_TIME', value=1.0E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=5.0E-6"); + "statistic='MAX', value=5.0E-9"); measurements = tree.findChild(MeterInvocationConst.INVOCATION_NAME, "connection") .getMeasurements(); @@ -140,9 +140,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.8E-5"); + "statistic='TOTAL_TIME', value=1.8E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=9.0E-6"); + "statistic='MAX', value=9.0E-9"); measurements = tree.findChild(MeterInvocationConst.INVOCATION_NAME, "consumer-encode") .getMeasurements(); @@ -151,9 +151,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=8.0E-6"); + "statistic='TOTAL_TIME', value=8.0E-9"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=4.0E-6"); + "statistic='MAX', value=4.0E-9"); measurements = tree.findChild(MeterInvocationConst.INVOCATION_NAME, "connection") .getMeasurements(); @@ -161,9 +161,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.8E-5"); + "statistic='TOTAL_TIME', value=1.8E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=9.0E-6"); + "statistic='MAX', value=9.0E-9"); measurements = tree.findChild(MeterInvocationConst.INVOCATION_NAME, "wait") .getMeasurements(); @@ -171,9 +171,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.8E-5"); + "statistic='TOTAL_TIME', value=1.8E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=9.0E-6"); + "statistic='MAX', value=9.0E-9"); measurements = tree.findChild(MeterInvocationConst.INVOCATION_NAME, "consumer-decode") .getMeasurements(); @@ -181,9 +181,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.8E-5"); + "statistic='TOTAL_TIME', value=1.8E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=9.0E-6"); + "statistic='MAX', value=9.0E-9"); } @Test @@ -236,9 +236,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.8E-5"); + "statistic='TOTAL_TIME', value=1.8E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=9.0E-6"); + "statistic='MAX', value=9.0E-9"); measurements = tree.findChild(MeterInvocationConst.INVOCATION_NAME, "prepare") .getMeasurements(); @@ -246,9 +246,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.8E-5"); + "statistic='TOTAL_TIME', value=1.8E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=9.0E-6"); + "statistic='MAX', value=9.0E-9"); measurements = tree.findChild(MeterInvocationConst.INVOCATION_NAME, "consumer-send") .getMeasurements(); @@ -256,9 +256,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.0E-5"); + "statistic='TOTAL_TIME', value=1.0E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=5.0E-6"); + "statistic='MAX', value=5.0E-9"); measurements = tree.findChild(MeterInvocationConst.INVOCATION_NAME, "connection") .getMeasurements(); @@ -266,9 +266,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.8E-5"); + "statistic='TOTAL_TIME', value=1.8E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=9.0E-6"); + "statistic='MAX', value=9.0E-9"); measurements = tree.findChild(MeterInvocationConst.INVOCATION_NAME, "consumer-encode") .getMeasurements(); @@ -276,9 +276,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=8.0E-6"); + "statistic='TOTAL_TIME', value=8.0E-9"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=4.0E-6"); + "statistic='MAX', value=4.0E-9"); measurements = tree.findChild(MeterInvocationConst.INVOCATION_NAME, "wait") .getMeasurements(); @@ -286,9 +286,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.8E-5"); + "statistic='TOTAL_TIME', value=1.8E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=9.0E-6"); + "statistic='MAX', value=9.0E-9"); measurements = tree.findChild(MeterInvocationConst.INVOCATION_NAME, "consumer-decode") .getMeasurements(); @@ -296,9 +296,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.6E-5"); + "statistic='TOTAL_TIME', value=1.6E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=8.0E-6"); + "statistic='MAX', value=8.0E-9"); measurements = tree.findChild(MeterInvocationConst.INVOCATION_NAME, "provider-decode") .getMeasurements(); @@ -306,9 +306,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.8E-5"); + "statistic='TOTAL_TIME', value=1.8E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=9.0E-6"); + "statistic='MAX', value=9.0E-9"); measurements = tree.findChild(MeterInvocationConst.INVOCATION_NAME, "provider-encode") .getMeasurements(); @@ -316,9 +316,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.8E-5"); + "statistic='TOTAL_TIME', value=1.8E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=9.0E-6"); + "statistic='MAX', value=9.0E-9"); measurements = tree.findChild(MeterInvocationConst.INVOCATION_NAME, "provider-send") .getMeasurements(); @@ -326,9 +326,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.8E-5"); + "statistic='TOTAL_TIME', value=1.8E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=9.0E-6"); + "statistic='MAX', value=9.0E-9"); } @Test @@ -375,9 +375,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.8E-5"); + "statistic='TOTAL_TIME', value=1.8E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=9.0E-6"); + "statistic='MAX', value=9.0E-9"); measurements = tree.findChild(MeterInvocationConst.INVOCATION_NAME, "prepare") .getMeasurements(); @@ -385,9 +385,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.8E-5"); + "statistic='TOTAL_TIME', value=1.8E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=9.0E-6"); + "statistic='MAX', value=9.0E-9"); measurements = tree.findChild(MeterInvocationConst.INVOCATION_NAME, "queue") .getMeasurements(); @@ -395,9 +395,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.8E-5"); + "statistic='TOTAL_TIME', value=1.8E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=9.0E-6"); + "statistic='MAX', value=9.0E-9"); measurements = tree.findChild(MeterInvocationConst.INVOCATION_NAME, "execute") .getMeasurements(); @@ -405,9 +405,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.8E-5"); + "statistic='TOTAL_TIME', value=1.8E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=9.0E-6"); + "statistic='MAX', value=9.0E-9"); measurements = tree.findChild(MeterInvocationConst.INVOCATION_NAME, "provider-decode") .getMeasurements(); @@ -415,9 +415,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.8E-5"); + "statistic='TOTAL_TIME', value=1.8E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=9.0E-6"); + "statistic='MAX', value=9.0E-9"); measurements = tree.findChild(MeterInvocationConst.INVOCATION_NAME, "provider-encode") .getMeasurements(); @@ -425,9 +425,9 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.8E-5"); + "statistic='TOTAL_TIME', value=1.8E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=9.0E-6"); + "statistic='MAX', value=9.0E-9"); measurements = tree.findChild(MeterInvocationConst.INVOCATION_NAME, "provider-send") .getMeasurements(); @@ -435,8 +435,8 @@ public class TestInvocationMetersInitializer { AssertUtil.assertMeasure(measurements, 0, "statistic='COUNT', value=2.0"); AssertUtil.assertMeasure(measurements, 1, - "statistic='TOTAL_TIME', value=1.8E-5"); + "statistic='TOTAL_TIME', value=1.8E-8"); AssertUtil.assertMeasure(measurements, 2, - "statistic='MAX', value=9.0E-6"); + "statistic='MAX', value=9.0E-9"); } } diff --git a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/TestInvocationPublishModelFactory.java b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/TestInvocationPublishModelFactory.java index d0310e48c..8473f0434 100644 --- a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/TestInvocationPublishModelFactory.java +++ b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/TestInvocationPublishModelFactory.java @@ -44,6 +44,7 @@ import io.vertx.core.json.Json; public class TestInvocationPublishModelFactory { EventBus eventBus = new EventBus(); + // not step mode. MeterRegistry meterRegistry = new SimpleMeterRegistry(); InvocationMetersInitializer invocationMetersInitializer = new InvocationMetersInitializer(); @@ -86,18 +87,18 @@ public class TestInvocationPublishModelFactory { "stages" : { "consumer-encode" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 }, "prepare" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 }, "wait" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 }, "total" : { "totalRequests" : 1.0, @@ -106,34 +107,34 @@ public class TestInvocationPublishModelFactory { }, "consumer-send" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 }, "connection" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 }, "consumer-decode" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 } }, - "latencyDistribution" : [ 1, 0, 0 ] + "latencyDistribution" : [ 1, 1, 1 ] } ], "summary" : { "operation" : "", "stages" : { "consumer-encode" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 }, "prepare" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 }, "total" : { "totalRequests" : 1.0, @@ -142,26 +143,26 @@ public class TestInvocationPublishModelFactory { }, "wait" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 }, "consumer-send" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 }, "connection" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 }, "consumer-decode" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 } }, - "latencyDistribution" : [ 1, 0, 0 ] + "latencyDistribution" : [ 1, 1, 1 ] } } } @@ -185,18 +186,18 @@ public class TestInvocationPublishModelFactory { "stages" : { "consumer-encode" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 }, "prepare" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 }, "wait" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 }, "total" : { "totalRequests" : 1.0, @@ -205,34 +206,34 @@ public class TestInvocationPublishModelFactory { }, "consumer-send" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 }, "connection" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 }, "consumer-decode" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 } }, - "latencyDistribution" : [ 1, 0, 0 ] + "latencyDistribution" : [ 1, 1, 1 ] } ], "summary" : { "operation" : "", "stages" : { "consumer-encode" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 }, "prepare" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 }, "total" : { "totalRequests" : 1.0, @@ -241,26 +242,26 @@ public class TestInvocationPublishModelFactory { }, "wait" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 }, "consumer-send" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 }, "connection" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 }, "consumer-decode" : { "totalRequests" : 1.0, - "msTotalTime" : 1.0E-6, - "msMaxLatency" : 1.0E-6 + "msTotalTime" : 1.0000000000000002E-6, + "msMaxLatency" : 1.0000000000000002E-6 } }, - "latencyDistribution" : [ 1, 0, 0 ] + "latencyDistribution" : [ 1, 1, 1 ] } } } diff --git a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/TestPublishUtils.java b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/TestPublishUtils.java index 66fb62f2f..cb4508337 100644 --- a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/TestPublishUtils.java +++ b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/TestPublishUtils.java @@ -44,8 +44,8 @@ public class TestPublishUtils { PerfInfo perf = PublishUtils.createPerfInfo(stageNode); Assertions.assertEquals(10, perf.getTotalRequests(), 0); - Assertions.assertEquals(1, perf.calcMsLatency(), 0); - Assertions.assertEquals(100, perf.getMsMaxLatency(), 0); + Assertions.assertEquals(1000, perf.calcMsLatency(), 0); + Assertions.assertEquals(100000, perf.getMsMaxLatency(), 0); } @Test @@ -55,8 +55,8 @@ public class TestPublishUtils { PerfInfo perfInfo = opPerf.findStage(InvocationStageTrace.STAGE_TOTAL); Integer[] latencyDistribution = opPerf.getLatencyDistribution(); Assertions.assertEquals(10, perfInfo.getTotalRequests(), 0); - Assertions.assertEquals(1, perfInfo.calcMsLatency(), 0); - Assertions.assertEquals(100, perfInfo.getMsMaxLatency(), 0); + Assertions.assertEquals(1000, perfInfo.calcMsLatency(), 0); + Assertions.assertEquals(100000, perfInfo.getMsMaxLatency(), 0); Assertions.assertEquals(2, latencyDistribution.length); Assertions.assertEquals(1, latencyDistribution[0].intValue()); Assertions.assertEquals(2, latencyDistribution[1].intValue()); @@ -76,8 +76,8 @@ public class TestPublishUtils { PerfInfo perfInfo = group.getSummary().findStage(InvocationStageTrace.STAGE_TOTAL); Integer[] latencyDistribution = group.getSummary().getLatencyDistribution(); Assertions.assertEquals(10, perfInfo.getTotalRequests(), 0); - Assertions.assertEquals(1, perfInfo.calcMsLatency(), 0); - Assertions.assertEquals(100, perfInfo.getMsMaxLatency(), 0); + Assertions.assertEquals(1000, perfInfo.calcMsLatency(), 0); + Assertions.assertEquals(100000, perfInfo.getMsMaxLatency(), 0); Assertions.assertEquals(2, latencyDistribution.length); Assertions.assertEquals(1, latencyDistribution[0].intValue()); Assertions.assertEquals(2, latencyDistribution[1].intValue()); diff --git a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/model/invocation/TestOperationPerf.java b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/model/invocation/TestOperationPerf.java index 2090f21a8..f5948016c 100644 --- a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/model/invocation/TestOperationPerf.java +++ b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/model/invocation/TestOperationPerf.java @@ -36,12 +36,12 @@ public class TestOperationPerf { PerfInfo perfInfo = opPerf.findStage(InvocationStageTrace.STAGE_TOTAL); Assertions.assertEquals(10, perfInfo.getTotalRequests(), 0); - Assertions.assertEquals(1, perfInfo.calcMsLatency(), 0); - Assertions.assertEquals(100, perfInfo.getMsMaxLatency(), 0); + Assertions.assertEquals(1000, perfInfo.calcMsLatency(), 0); + Assertions.assertEquals(100000, perfInfo.getMsMaxLatency(), 0); perfInfo = opPerf.findStage(InvocationStageTrace.STAGE_PROVIDER_BUSINESS); Assertions.assertEquals(10, perfInfo.getTotalRequests(), 0); - Assertions.assertEquals(1, perfInfo.calcMsLatency(), 0); - Assertions.assertEquals(100, perfInfo.getMsMaxLatency(), 0); + Assertions.assertEquals(1000, perfInfo.calcMsLatency(), 0); + Assertions.assertEquals(100000, perfInfo.getMsMaxLatency(), 0); } } diff --git a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/model/invocation/TestOperationPerfGroup.java b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/model/invocation/TestOperationPerfGroup.java index 9f4fa492f..7dda01408 100644 --- a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/model/invocation/TestOperationPerfGroup.java +++ b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/model/invocation/TestOperationPerfGroup.java @@ -48,12 +48,12 @@ public class TestOperationPerfGroup { PerfInfo perfInfo = summary.findStage(InvocationStageTrace.STAGE_TOTAL); Assertions.assertEquals(20, perfInfo.getTotalRequests(), 0); - Assertions.assertEquals(1, perfInfo.calcMsLatency(), 0); - Assertions.assertEquals(100, perfInfo.getMsMaxLatency(), 0); + Assertions.assertEquals(1000, perfInfo.calcMsLatency(), 0); + Assertions.assertEquals(100000, perfInfo.getMsMaxLatency(), 0); perfInfo = summary.findStage(InvocationStageTrace.STAGE_PROVIDER_BUSINESS); Assertions.assertEquals(20, perfInfo.getTotalRequests(), 0); - Assertions.assertEquals(1, perfInfo.calcMsLatency(), 0); - Assertions.assertEquals(100, perfInfo.getMsMaxLatency(), 0); + Assertions.assertEquals(1000, perfInfo.calcMsLatency(), 0); + Assertions.assertEquals(100000, perfInfo.getMsMaxLatency(), 0); } } diff --git a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/model/invocation/Utils.java b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/model/invocation/Utils.java index c48a1b5b6..17a62c575 100644 --- a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/model/invocation/Utils.java +++ b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/publish/model/invocation/Utils.java @@ -21,7 +21,6 @@ import java.util.List; import org.apache.servicecomb.core.invocation.InvocationStageTrace; import org.apache.servicecomb.foundation.metrics.publish.MeasurementNode; -import org.apache.servicecomb.foundation.metrics.publish.MeasurementTree; import org.apache.servicecomb.metrics.core.meter.invocation.MeterInvocationConst; import org.apache.servicecomb.metrics.core.publish.PublishUtils; @@ -61,7 +60,7 @@ public class Utils { Id id = initId; MeasurementNode statusNode = new MeasurementNode(status, id, new HashMap<>()); MeasurementNode typeNode = new MeasurementNode(MeterInvocationConst.TAG_STAGE, id, new HashMap<>()); - MeasurementNode latencyNode = new MeasurementNode(MeasurementTree.TAG_LATENCY_DISTRIBUTION, id, + MeasurementNode latencyNode = new MeasurementNode(MeterInvocationConst.TAG_DISTRIBUTION, id, new HashMap<>()); List<Measurement> measurements = latencyNode.getMeasurements(); measurements.add(new Measurement(() -> 1, Statistic.VALUE));
