You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2018/10/10 04:05:09 UTC

[incubator-servicecomb-java-chassis] 03/05: [SCB-950] delete global variable

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

commit f812b12c06490cdfbd9785f9a0be446bbc6b784a
Author: heyile <he...@huawei.com>
AuthorDate: Mon Oct 8 09:46:41 2018 +0800

    [SCB-950] delete global variable
---
 .../metrics/core/publish/DefaultLogPublisher.java  | 26 +++++++++++-----------
 .../statistics/MeterDetailStatisticsModel.java     |  2 +-
 .../publish/statistics/MeterStatisticsManager.java | 14 +++---------
 3 files changed, 17 insertions(+), 25 deletions(-)

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 fdb2058..d942b56 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
@@ -16,6 +16,7 @@
  */
 package org.apache.servicecomb.metrics.core.publish;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -31,6 +32,7 @@ import org.apache.servicecomb.metrics.core.publish.model.invocation.OperationPer
 import org.apache.servicecomb.metrics.core.publish.model.invocation.OperationPerfGroup;
 import org.apache.servicecomb.metrics.core.publish.model.invocation.OperationPerfGroups;
 import org.apache.servicecomb.metrics.core.publish.model.invocation.PerfInfo;
+import org.apache.servicecomb.metrics.core.publish.statistics.MeterDetailStatisticsModel;
 import org.apache.servicecomb.metrics.core.publish.statistics.MeterStatisticsManager;
 import org.apache.servicecomb.metrics.core.publish.statistics.MeterStatisticsMeterType;
 import org.slf4j.Logger;
@@ -123,8 +125,7 @@ public class DefaultLogPublisher implements MetricsInitializer {
       return;
     }
     sb.append(String.format(SIMPLE_HEADER, "edge"));
-    //clear old data
-    MeterStatisticsManager.statisticsOperationMap.clear();
+    Map<String, MeterDetailStatisticsModel> statisticsModelMap = new HashMap<>();
 
     StringBuilder sampleBuilder = new StringBuilder();
     //print sample
@@ -134,12 +135,12 @@ public class DefaultLogPublisher implements MetricsInitializer {
         sampleBuilder.append(printSamplePerf(perfGroup));
         //load details
         MeterStatisticsManager
-            .loadMeterDetailStatisticsModelFromPerfGroup(perfGroup, MeterStatisticsMeterType.EDGE);
+            .loadMeterDetailStatisticsModelFromPerfGroup(perfGroup, MeterStatisticsMeterType.EDGE, statisticsModelMap);
       }
     }
     sb.append(sampleBuilder)
         .append("  details:\n");
-    MeterStatisticsManager.statisticsOperationMap.values()
+    statisticsModelMap.values()
         .forEach(details -> sb.append(details.getFormatDetails()));
   }
 
@@ -151,8 +152,7 @@ public class DefaultLogPublisher implements MetricsInitializer {
     }
 
     sb.append(String.format(SIMPLE_HEADER, "consumer"));
-    //clear old data
-    MeterStatisticsManager.statisticsOperationMap.clear();
+    Map<String, MeterDetailStatisticsModel> statisticsModelMap = new HashMap<>();
 
     StringBuilder sampleBuilder = new StringBuilder();
     //print sample
@@ -162,12 +162,13 @@ public class DefaultLogPublisher implements MetricsInitializer {
         sampleBuilder.append(printSamplePerf(perfGroup));
         //load details
         MeterStatisticsManager
-            .loadMeterDetailStatisticsModelFromPerfGroup(perfGroup, MeterStatisticsMeterType.CONSUMER);
+            .loadMeterDetailStatisticsModelFromPerfGroup(perfGroup, MeterStatisticsMeterType.CONSUMER,
+                statisticsModelMap);
       }
     }
     sb.append(sampleBuilder)
         .append("  details:\n");
-    MeterStatisticsManager.statisticsOperationMap.values()
+    statisticsModelMap.values()
         .forEach(details -> sb.append(details.getFormatDetails()));
   }
 
@@ -179,8 +180,7 @@ public class DefaultLogPublisher implements MetricsInitializer {
       return;
     }
     sb.append(String.format(SIMPLE_HEADER, "producer"));
-    //clear old data
-    MeterStatisticsManager.statisticsOperationMap.clear();
+    Map<String, MeterDetailStatisticsModel> statisticsModelMap = new HashMap<>();
 
     StringBuilder sampleBuilder = new StringBuilder();
     //print sample
@@ -190,14 +190,14 @@ public class DefaultLogPublisher implements MetricsInitializer {
         sampleBuilder.append(printSamplePerf(perfGroup));
         //load details
         MeterStatisticsManager
-            .loadMeterDetailStatisticsModelFromPerfGroup(perfGroup, MeterStatisticsMeterType.PRODUCER);
+            .loadMeterDetailStatisticsModelFromPerfGroup(perfGroup, MeterStatisticsMeterType.PRODUCER,
+                statisticsModelMap);
       }
     }
     //print details
     sb.append(sampleBuilder)
         .append("  details:\n");
-    MeterStatisticsManager.statisticsOperationMap.values()
-        .forEach(details -> sb.append(details.getFormatDetails()));
+    statisticsModelMap.values().forEach(details -> sb.append(details.getFormatDetails()));
   }
 
 
diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/statistics/MeterDetailStatisticsModel.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/statistics/MeterDetailStatisticsModel.java
index 85a5400..c5b3f8e 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/statistics/MeterDetailStatisticsModel.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/statistics/MeterDetailStatisticsModel.java
@@ -38,7 +38,7 @@ public class MeterDetailStatisticsModel {
   //key : status .  tag -> value
   private Map<String, Map<String, String>> detailsStatistics = new HashMap<>();
 
-  //keep the sort
+  //keep the order
   private static Map<String, String> producerKeys = new LinkedHashMap<>();
 
   private static Map<String, String> consumersKeys = new LinkedHashMap<>();
diff --git a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/statistics/MeterStatisticsManager.java b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/statistics/MeterStatisticsManager.java
index 4130e06..ee3ee0a 100644
--- a/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/statistics/MeterStatisticsManager.java
+++ b/metrics/metrics-core/src/main/java/org/apache/servicecomb/metrics/core/publish/statistics/MeterStatisticsManager.java
@@ -1,6 +1,5 @@
 package org.apache.servicecomb.metrics.core.publish.statistics;
 
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -10,11 +9,9 @@ import org.apache.servicecomb.metrics.core.publish.model.invocation.PerfInfo;
 
 public class MeterStatisticsManager {
 
-  public static Map<String, MeterDetailStatisticsModel> statisticsOperationMap = new HashMap<>();
-
-
-  public static void loadMeterDetailStatisticsModelFromPerfGroup(OperationPerfGroup perfGroup,
-      MeterStatisticsMeterType type) {
+  public static void loadMeterDetailStatisticsModelFromPerfGroup(
+      OperationPerfGroup perfGroup,
+      MeterStatisticsMeterType type, Map<String, MeterDetailStatisticsModel> statisticsOperationMap) {
     List<OperationPerf> operationPerfs = perfGroup.getOperationPerfs();
 
     String status = perfGroup.getTransport() + "." + perfGroup.getStatus();
@@ -29,11 +26,6 @@ public class MeterStatisticsManager {
   }
 
 
-  /**
-   * 从 perfInfo 中获取 保留三位小数的字符串
-   * @param perfInfo
-   * @return
-   */
   public static String getDetailsFromPerf(PerfInfo perfInfo) {
     String result = "";
     if (perfInfo != null) {