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) {