You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ni...@apache.org on 2018/01/24 06:16:49 UTC
[incubator-servicecomb-java-chassis] 03/05: SCB-12 fix pr comment
This is an automated email from the ASF dual-hosted git repository.
ningjiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git
commit bc662532f2efb1748cf8162d54d4fda8b6edd60b
Author: zhengyangyong <ya...@huawei.com>
AuthorDate: Wed Jan 17 09:22:49 2018 +0800
SCB-12 fix pr comment
Signed-off-by: zhengyangyong <ya...@huawei.com>
---
.../metrics/core/custom/WindowCounterService.java | 4 +--
.../metrics/core/TestHealthCheckerManager.java | 16 ++++++------
.../metrics/core/TestHealthCheckerPublisher.java | 6 ++---
.../servicecomb/metrics/core/TestPublisher.java | 2 +-
.../samples/metrics/custom/ShopDemoService.java | 16 ++++++++++--
.../src/main/resources/microservice.yaml | 30 ++++++++++++++++++++++
6 files changed, 57 insertions(+), 17 deletions(-)
diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/custom/WindowCounterService.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/custom/WindowCounterService.java
index e510047..26ba380 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/custom/WindowCounterService.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/custom/WindowCounterService.java
@@ -18,10 +18,10 @@
package org.apache.servicecomb.metrics.core.custom;
/**
- GaugeService is complex service for manage Window Time-related Step Counter,
+ WindowCounterService is complex service for manage Window Time-related Step Counter,
It will output total,count,tps,rate,average,max and min
examples:
- if record three time in one window,and window time = 2000 (2 seconds), like :
+ if record four time in one window,and window time = 2000 (2 seconds), like :
record("Order Amount",100)
record("Order Amount",200)
record("Order Amount",300)
diff --git a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestHealthCheckerManager.java b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestHealthCheckerManager.java
index 1d25569..507ff77 100644
--- a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestHealthCheckerManager.java
+++ b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestHealthCheckerManager.java
@@ -87,18 +87,18 @@ public class TestHealthCheckerManager {
Map<String, HealthCheckResult> results = manager.check();
- Assert.assertTrue(results.get("default").isHealthy());
+ Assert.assertEquals(true,results.get("default").isHealthy());
DefaultHealthCheckExtraData data = JsonUtils.OBJ_MAPPER
.readValue(results.get("default").getExtraData(), DefaultHealthCheckExtraData.class);
- Assert.assertTrue(data.getAppId().equals("appId"));
- Assert.assertTrue(data.getServiceName().equals("serviceName"));
- Assert.assertTrue(data.getServiceVersion().equals("0.0.1"));
- Assert.assertTrue(data.getInstanceId().equals("001"));
- Assert.assertTrue(data.getHostName().equals("localhost"));
- Assert.assertTrue(data.getEndpoints().equals("127.0.0.1,192.168.0.100"));
+ Assert.assertEquals("appId",data.getAppId());
+ Assert.assertEquals("serviceName",data.getServiceName());
+ Assert.assertEquals("0.0.1",data.getServiceVersion());
+ Assert.assertEquals("001",data.getInstanceId());
+ Assert.assertEquals("localhost",data.getHostName());
+ Assert.assertEquals("127.0.0.1,192.168.0.100",data.getEndpoints());
HealthCheckResult result = manager.check("test");
- Assert.assertTrue(!result.isHealthy());
+ Assert.assertEquals(false,result.isHealthy());
}
}
diff --git a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestHealthCheckerPublisher.java b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestHealthCheckerPublisher.java
index bef712e..3fb16e6 100644
--- a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestHealthCheckerPublisher.java
+++ b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestHealthCheckerPublisher.java
@@ -48,11 +48,9 @@ public class TestHealthCheckerPublisher {
HealthCheckerPublisher publisher = new DefaultHealthCheckerPublisher(manager);
Map<String, HealthCheckResult> content = publisher.health();
- Assert.assertTrue(JsonUtils.writeValueAsString(content.get("default"))
- .equals(JsonUtils.writeValueAsString(result)));
+ Assert.assertEquals(JsonUtils.writeValueAsString(result),JsonUtils.writeValueAsString(content.get("default")));
HealthCheckResult checkResult = publisher.healthWithName("default");
- Assert.assertTrue(JsonUtils.writeValueAsString(checkResult)
- .equals(JsonUtils.writeValueAsString(result)));
+ Assert.assertEquals(JsonUtils.writeValueAsString(result),JsonUtils.writeValueAsString(checkResult));
}
}
diff --git a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestPublisher.java b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestPublisher.java
index 1586b46..8650fc5 100644
--- a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestPublisher.java
+++ b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestPublisher.java
@@ -54,7 +54,7 @@ public class TestPublisher {
Assert.assertEquals(31, metricsMap.size());
List<Long> appliedWindowTime = publisher.getAppliedWindowTime();
- Assert.assertEquals(appliedWindowTime.size(), 3);
+ Assert.assertEquals(3, appliedWindowTime.size());
Assert.assertThat(appliedWindowTime, containsInAnyOrder(Arrays.asList(1000L, 2000L, 3000L).toArray()));
}
}
diff --git a/samples/custom-business-metrics/src/main/java/org/apache/servicecomb/samples/metrics/custom/ShopDemoService.java b/samples/custom-business-metrics/src/main/java/org/apache/servicecomb/samples/metrics/custom/ShopDemoService.java
index 1245339..6e5faec 100644
--- a/samples/custom-business-metrics/src/main/java/org/apache/servicecomb/samples/metrics/custom/ShopDemoService.java
+++ b/samples/custom-business-metrics/src/main/java/org/apache/servicecomb/samples/metrics/custom/ShopDemoService.java
@@ -42,6 +42,8 @@ public class ShopDemoService {
this.counterService = counterService;
this.gaugeService = gaugeService;
this.windowCounterService = windowCounterService;
+
+ login(null,null);
}
public void login(String name, String password) {
@@ -60,16 +62,18 @@ public class ShopDemoService {
//sim record order process time
windowCounterService.record("Order Latency", System.currentTimeMillis() - start);
+ //plus one
windowCounterService.record("Order Count", 1);
- //only support long,please do unit convert ,$99.00 -> $9900 , $59.99 -> 5999
+ //only support long,please do unit convert ,$99.00 dollar -> $9900 cent, $59.99 dollar -> $5999 cent
windowCounterService.record("Order Amount", (long) round(amount * 100, 0));
}
public void discount(double value) {
//make a discount to Levis Jeans
- gaugeService.update("Levis Jeans", value);
+ //record current Levis Jeans Discount
+ gaugeService.update("Levis Jeans Discount", value);
}
private double round(double value, int places) {
@@ -79,4 +83,12 @@ public class ShopDemoService {
}
return 0;
}
+
+ /* Output of RegistryMetric.customMetrics :
+ * Active User
+ * Order Latency (total,count,tps,rate,average,max,min)
+ * Order Count (total,count,tps,rate,average,max,min)
+ * Order Amount (total,count,tps,rate,average,max,min)
+ * Levis Jeans Discount
+ */
}
diff --git a/samples/custom-business-metrics/src/main/resources/microservice.yaml b/samples/custom-business-metrics/src/main/resources/microservice.yaml
new file mode 100644
index 0000000..c1c9226
--- /dev/null
+++ b/samples/custom-business-metrics/src/main/resources/microservice.yaml
@@ -0,0 +1,30 @@
+#
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+
+# all interconnected microservices must belong to an application wth the same ID
+APPLICATION_ID: metrics
+service_description:
+# name of the declaring microservice
+ name: metricsCustom
+ version: 0.0.1
+cse:
+ service:
+ registry:
+ address: http://127.0.0.1:30100
+ rest:
+ address: 0.0.0.0:7777
\ No newline at end of file
--
To stop receiving notification emails like this one, please contact
ningjiang@apache.org.