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/11/26 10:34:26 UTC

[servicecomb-java-chassis] 04/05: [SCB-1023] add reject measurement log publish

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/servicecomb-java-chassis.git

commit 55cefbb3f80da2aca9b6feb873cca896217503f3
Author: wujimin <wu...@huawei.com>
AuthorDate: Sat Nov 24 15:37:16 2018 +0800

    [SCB-1023] add reject measurement log publish
---
 ...isher.java => ClientEndpointsLogPublisher.java} | 16 ++++---------
 .../metrics/core/publish/DefaultLogPublisher.java  |  8 +++----
 ...isher.java => ServerEndpointsLogPublisher.java} | 26 ++++++++++------------
 .../metrics/core/TestVertxMetersInitializer.java   |  6 ++---
 4 files changed, 23 insertions(+), 33 deletions(-)

diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/EndpointsLogPublisher.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/ClientEndpointsLogPublisher.java
similarity index 84%
copy from metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/EndpointsLogPublisher.java
copy to metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/ClientEndpointsLogPublisher.java
index 5fcf601..7bd9a87 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/EndpointsLogPublisher.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/ClientEndpointsLogPublisher.java
@@ -24,23 +24,15 @@ import org.apache.servicecomb.foundation.metrics.publish.spectator.MeasurementTr
 import org.apache.servicecomb.metrics.core.VertxMetersInitializer;
 import org.apache.servicecomb.metrics.core.meter.vertx.EndpointMeter;
 
-public class EndpointsLogPublisher extends AbstractMeasurementNodeLogPublisher {
-  private final String title;
-
-  private final String endpointTitle;
-
-  public EndpointsLogPublisher(MeasurementTree tree, StringBuilder sb, String meterName, String title,
-      String endpointTitle) {
+public class ClientEndpointsLogPublisher extends AbstractMeasurementNodeLogPublisher {
+  public ClientEndpointsLogPublisher(MeasurementTree tree, StringBuilder sb, String meterName) {
     super(tree, sb, VertxMetersInitializer.VERTX_ENDPOINTS, meterName);
-    this.title = title;
-    this.endpointTitle = endpointTitle;
   }
 
   @Override
   public void print(boolean printDetail) {
-    appendLine(sb, "    %s:", title);
-    appendLine(sb, "      %-21s connectCount    disconnectCount connections     send         receive",
-        endpointTitle);
+    appendLine(sb, "    client.endpoints:");
+    appendLine(sb, "      remote                connectCount    disconnectCount connections     send         receive");
 
     double connect = 0;
     double disconnect = 0;
diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/DefaultLogPublisher.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/DefaultLogPublisher.java
index 75a6642..778a8bb 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/DefaultLogPublisher.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/DefaultLogPublisher.java
@@ -425,10 +425,10 @@ public class DefaultLogPublisher implements MetricsInitializer {
           entry.getValue().getEventLoopContextCreatedCount());
     }
 
-    EndpointsLogPublisher client = new EndpointsLogPublisher(tree, sb, VertxMetersInitializer.ENDPOINTS_CLINET,
-        "client.endpoints", "remote");
-    EndpointsLogPublisher server = new EndpointsLogPublisher(tree, sb, VertxMetersInitializer.ENDPOINTS_SERVER,
-        "server.endpoints", "listen");
+    ClientEndpointsLogPublisher client = new ClientEndpointsLogPublisher(tree, sb,
+        VertxMetersInitializer.ENDPOINTS_CLINET);
+    ServerEndpointsLogPublisher server = new ServerEndpointsLogPublisher(tree, sb,
+        VertxMetersInitializer.ENDPOINTS_SERVER);
     if (client.isExists() || server.isExists()) {
       appendLine(sb, "  transport:");
       if (client.isExists()) {
diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/EndpointsLogPublisher.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/ServerEndpointsLogPublisher.java
similarity index 78%
rename from metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/EndpointsLogPublisher.java
rename to metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/ServerEndpointsLogPublisher.java
index 5fcf601..8edb940 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/EndpointsLogPublisher.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/ServerEndpointsLogPublisher.java
@@ -23,42 +23,39 @@ import org.apache.servicecomb.foundation.metrics.publish.spectator.MeasurementNo
 import org.apache.servicecomb.foundation.metrics.publish.spectator.MeasurementTree;
 import org.apache.servicecomb.metrics.core.VertxMetersInitializer;
 import org.apache.servicecomb.metrics.core.meter.vertx.EndpointMeter;
+import org.apache.servicecomb.metrics.core.meter.vertx.ServerEndpointMeter;
 
-public class EndpointsLogPublisher extends AbstractMeasurementNodeLogPublisher {
-  private final String title;
-
-  private final String endpointTitle;
-
-  public EndpointsLogPublisher(MeasurementTree tree, StringBuilder sb, String meterName, String title,
-      String endpointTitle) {
+public class ServerEndpointsLogPublisher extends AbstractMeasurementNodeLogPublisher {
+  public ServerEndpointsLogPublisher(MeasurementTree tree, StringBuilder sb, String meterName) {
     super(tree, sb, VertxMetersInitializer.VERTX_ENDPOINTS, meterName);
-    this.title = title;
-    this.endpointTitle = endpointTitle;
   }
 
   @Override
   public void print(boolean printDetail) {
-    appendLine(sb, "    %s:", title);
-    appendLine(sb, "      %-21s connectCount    disconnectCount connections     send         receive",
-        endpointTitle);
+    appendLine(sb, "    server.endpoints:");
+    appendLine(sb,
+        "      listen                connectCount    disconnectCount rejectByLimit   connections  send         receive");
 
     double connect = 0;
     double disconnect = 0;
+    double reject = 0;
     double connections = 0;
     double readSize = 0;
     double writeSize = 0;
     for (MeasurementNode address : measurementNode.getChildren().values()) {
       connect += address.findChild(EndpointMeter.CONNECT_COUNT).summary();
       disconnect += address.findChild(EndpointMeter.DISCONNECT_COUNT).summary();
+      reject += address.findChild(ServerEndpointMeter.REJECT_BY_CONNECTION_LIMIT).summary();
       connections += address.findChild(EndpointMeter.CONNECTIONS).summary();
       readSize += address.findChild(EndpointMeter.BYTES_READ).summary();
       writeSize += address.findChild(EndpointMeter.BYTES_WRITTEN).summary();
 
       if (printDetail) {
-        appendLine(sb, "      %-21s %-15.0f %-15.0f %-15.0f %-12s %-12s",
+        appendLine(sb, "      %-21s %-15.0f %-15.0f %-15.0f %-12.0f %-12s %-12s",
             address.getName(),
             address.findChild(EndpointMeter.CONNECT_COUNT).summary(),
             address.findChild(EndpointMeter.DISCONNECT_COUNT).summary(),
+            address.findChild(ServerEndpointMeter.REJECT_BY_CONNECTION_LIMIT).summary(),
             address.findChild(EndpointMeter.CONNECTIONS).summary(),
             NetUtils.humanReadableBytes((long) address.findChild(EndpointMeter.BYTES_WRITTEN).summary()),
             NetUtils.humanReadableBytes((long) address.findChild(EndpointMeter.BYTES_READ).summary())
@@ -66,10 +63,11 @@ public class EndpointsLogPublisher extends AbstractMeasurementNodeLogPublisher {
       }
     }
 
-    appendLine(sb, "      %-21s %-15.0f %-15.0f %-15.0f %-12s %-12s",
+    appendLine(sb, "      %-21s %-15.0f %-15.0f %-15.0f %-12.0f %-12s %-12s",
         "(summary)",
         connect,
         disconnect,
+        reject,
         connections,
         NetUtils.humanReadableBytes((long) writeSize),
         NetUtils.humanReadableBytes((long) readSize)
diff --git a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestVertxMetersInitializer.java b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestVertxMetersInitializer.java
index 16c316c..246e8a4 100644
--- a/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestVertxMetersInitializer.java
+++ b/metrics/metrics-core/src/test/java/org/apache/servicecomb/metrics/core/TestVertxMetersInitializer.java
@@ -166,9 +166,9 @@ public class TestVertxMetersInitializer {
     }
     expect += "      (summary)             1               0               1               4 B          21 B        \n"
         + "    server.endpoints:\n"
-        + "      listen                connectCount    disconnectCount connections     send         receive\n"
-        + "      0.0.0.0:0             1               0               1               21 B         4 B         \n"
-        + "      (summary)             1               0               1               21 B         4 B         \n\n";
+        + "      listen                connectCount    disconnectCount rejectByLimit   connections  send         receive\n"
+        + "      0.0.0.0:0             1               0               0               1            21 B         4 B         \n"
+        + "      (summary)             1               0               0               1            21 B         4 B         \n\n";
     Assert.assertEquals(expect, actual);
   }
 }