From dc902082bdb5578c197c24eaeeab54055eba329d Mon Sep 17 00:00:00 2001 From: mxsm Date: Thu, 12 Jan 2023 10:42:41 +0800 Subject: [PATCH] [ISSUE #5804] Optimize BrokerStatsManager#incTopicPutLatency create statsKey (#5805) --- .../rocketmq/store/stats/BrokerStatsManager.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/store/src/main/java/org/apache/rocketmq/store/stats/BrokerStatsManager.java b/store/src/main/java/org/apache/rocketmq/store/stats/BrokerStatsManager.java index ace8d4c20b..132ddc3331 100644 --- a/store/src/main/java/org/apache/rocketmq/store/stats/BrokerStatsManager.java +++ b/store/src/main/java/org/apache/rocketmq/store/stats/BrokerStatsManager.java @@ -68,7 +68,6 @@ public class BrokerStatsManager { @Deprecated public static final String COMMERCIAL_RCV_SIZE = Stats.COMMERCIAL_RCV_SIZE; @Deprecated public static final String COMMERCIAL_PERM_FAILURES = Stats.COMMERCIAL_PERM_FAILURES; - // Send message latency public static final String TOPIC_PUT_LATENCY = "TOPIC_PUT_LATENCY"; public static final String GROUP_ACK_NUMS = "GROUP_ACK_NUMS"; @@ -500,8 +499,14 @@ public class BrokerStatsManager { } public void incTopicPutLatency(final String topic, final int queueId, final int incValue) { - final String statsKey = String.format("%d@%s", queueId, topic); - this.statsTable.get(TOPIC_PUT_LATENCY).addValue(statsKey, incValue, 1); + StringBuilder statsKey; + if (topic != null) { + statsKey = new StringBuilder(topic.length() + 6); + } else { + statsKey = new StringBuilder(6); + } + statsKey.append(queueId).append("@").append(topic); + this.statsTable.get(TOPIC_PUT_LATENCY).addValue(statsKey.toString(), incValue, 1); } public void incBrokerPutNums() {