You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by wu...@apache.org on 2018/03/31 07:17:20 UTC

[incubator-servicecomb-java-chassis] 02/07: SCB-384 add summary in MeasurementNode

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

wujimin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git

commit 5f9bdc8736d37b1073322614a43fa49af926742c
Author: wujimin <wu...@huawei.com>
AuthorDate: Fri Mar 23 16:38:10 2018 +0800

    SCB-384 add summary in MeasurementNode
---
 .../metrics/publish/spectator/MeasurementNode.java        |  9 +++++++++
 .../metrics/publish/spectator/TestMeasurementNode.java    | 15 +++++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/publish/spectator/MeasurementNode.java b/foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/publish/spectator/MeasurementNode.java
index 2d82113..0518ebe 100644
--- a/foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/publish/spectator/MeasurementNode.java
+++ b/foundations/foundation-metrics/src/main/java/org/apache/servicecomb/foundation/metrics/publish/spectator/MeasurementNode.java
@@ -82,4 +82,13 @@ public class MeasurementNode {
   public void addMeasurement(Measurement measurement) {
     measurements.add(measurement);
   }
+
+  public double summary() {
+    double result = 0;
+    for (Measurement measurement : measurements) {
+      result += measurement.value();
+    }
+
+    return result;
+  }
 }
diff --git a/foundations/foundation-metrics/src/test/java/org/apache/servicecomb/foundation/metrics/publish/spectator/TestMeasurementNode.java b/foundations/foundation-metrics/src/test/java/org/apache/servicecomb/foundation/metrics/publish/spectator/TestMeasurementNode.java
index cf55e56..585fd9a 100644
--- a/foundations/foundation-metrics/src/test/java/org/apache/servicecomb/foundation/metrics/publish/spectator/TestMeasurementNode.java
+++ b/foundations/foundation-metrics/src/test/java/org/apache/servicecomb/foundation/metrics/publish/spectator/TestMeasurementNode.java
@@ -25,6 +25,7 @@ import org.junit.Test;
 
 import com.netflix.spectator.api.Measurement;
 
+import mockit.Expectations;
 import mockit.Mocked;
 
 public class TestMeasurementNode {
@@ -79,4 +80,18 @@ public class TestMeasurementNode {
 
     Assert.assertThat(node.getMeasurements(), Matchers.contains(measurement));
   }
+
+  @Test
+  public void summary(@Mocked Measurement measurement) {
+    new Expectations() {
+      {
+        measurement.value();
+        result = 10;
+      }
+    };
+    node.addMeasurement(measurement);
+    node.addMeasurement(measurement);
+
+    Assert.assertEquals(20, node.summary(), 0);
+  }
 }

-- 
To stop receiving notification emails like this one, please contact
wujimin@apache.org.