You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by yu...@apache.org on 2021/12/10 14:03:19 UTC
[rocketmq] branch develop updated: [ISSUE 3585] [Part I] Avoid unnecessary StringBuffer resizing and String Formatting (#3619)
This is an automated email from the ASF dual-hosted git repository.
yuzhou pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git
The following commit(s) were added to refs/heads/develop by this push:
new dcbf276 [ISSUE 3585] [Part I] Avoid unnecessary StringBuffer resizing and String Formatting (#3619)
dcbf276 is described below
commit dcbf276e919709a160464fdf89dd8439dd9e0a77
Author: haozhijie9527 <47...@users.noreply.github.com>
AuthorDate: Fri Dec 10 22:03:08 2021 +0800
[ISSUE 3585] [Part I] Avoid unnecessary StringBuffer resizing and String Formatting (#3619)
Co-authored-by: haozhijie <ha...@163.com>
---
.../rocketmq/store/stats/BrokerStatsManager.java | 42 +++++++++++++++-------
1 file changed, 29 insertions(+), 13 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 b9e11fd..466bf5e 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
@@ -156,24 +156,24 @@ public class BrokerStatsManager {
}
public void incQueuePutNums(final String topic, final Integer queueId) {
- this.statsTable.get(QUEUE_PUT_NUMS).addValue(buildStatsKey(topic, String.valueOf(queueId)), 1, 1);
+ this.statsTable.get(QUEUE_PUT_NUMS).addValue(buildStatsKey(topic, queueId), 1, 1);
}
public void incQueuePutNums(final String topic, final Integer queueId, int num, int times) {
- this.statsTable.get(QUEUE_PUT_NUMS).addValue(buildStatsKey(topic, String.valueOf(queueId)), num, times);
+ this.statsTable.get(QUEUE_PUT_NUMS).addValue(buildStatsKey(topic, queueId), num, times);
}
public void incQueuePutSize(final String topic, final Integer queueId, final int size) {
- this.statsTable.get(QUEUE_PUT_SIZE).addValue(buildStatsKey(topic, String.valueOf(queueId)), size, 1);
+ this.statsTable.get(QUEUE_PUT_SIZE).addValue(buildStatsKey(topic, queueId), size, 1);
}
public void incQueueGetNums(final String group, final String topic, final Integer queueId, final int incValue) {
- final String statsKey = buildStatsKey(buildStatsKey(topic, String.valueOf(queueId)), group);
+ final String statsKey = buildStatsKey(topic, queueId, group);
this.statsTable.get(QUEUE_GET_NUMS).addValue(statsKey, incValue, 1);
}
public void incQueueGetSize(final String group, final String topic, final Integer queueId, final int incValue) {
- final String statsKey = buildStatsKey(buildStatsKey(topic, String.valueOf(queueId)), group);
+ final String statsKey = buildStatsKey(topic, queueId, group);
this.statsTable.get(QUEUE_GET_SIZE).addValue(statsKey, incValue, 1);
}
@@ -194,11 +194,27 @@ public class BrokerStatsManager {
this.statsTable.get(GROUP_GET_NUMS).addValue(statsKey, incValue, 1);
}
- public String buildStatsKey(String prefix, String suffix) {
- StringBuffer strBuilder = new StringBuffer();
- strBuilder.append(prefix);
- strBuilder.append("@");
- strBuilder.append(suffix);
+ public String buildStatsKey(String topic, String group) {
+ StringBuilder strBuilder = new StringBuilder(topic.length() + group.length() + 1);
+ strBuilder.append(topic).append("@").append(group);
+ return strBuilder.toString();
+ }
+
+ public String buildStatsKey(String topic, int queueId) {
+ StringBuilder strBuilder = new StringBuilder(topic.length() + 5);
+ strBuilder.append(topic).append("@").append(queueId);
+ return strBuilder.toString();
+ }
+
+ public String buildStatsKey(String topic, int queueId, String group) {
+ StringBuilder strBuilder = new StringBuilder(topic.length() + group.length() + 6);
+ strBuilder.append(topic).append("@").append(queueId).append("@").append(group);
+ return strBuilder.toString();
+ }
+
+ public String buildStatsKey(int queueId, String topic, String group) {
+ StringBuilder strBuilder = new StringBuilder(topic.length() + group.length() + 6);
+ strBuilder.append(queueId).append("@").append(topic).append("@").append(group);
return strBuilder.toString();
}
@@ -208,7 +224,7 @@ public class BrokerStatsManager {
}
public void incGroupGetLatency(final String group, final String topic, final int queueId, final int incValue) {
- final String statsKey = String.format("%d@%s@%s", queueId, topic, group);
+ final String statsKey = buildStatsKey(queueId, topic, group);
this.statsTable.get(GROUP_GET_LATENCY).addValue(statsKey, incValue, 1);
}
@@ -236,13 +252,13 @@ public class BrokerStatsManager {
public void recordDiskFallBehindTime(final String group, final String topic, final int queueId,
final long fallBehind) {
- final String statsKey = String.format("%d@%s@%s", queueId, topic, group);
+ final String statsKey = buildStatsKey(queueId, topic, group);
this.momentStatsItemSetFallTime.getAndCreateStatsItem(statsKey).getValue().set(fallBehind);
}
public void recordDiskFallBehindSize(final String group, final String topic, final int queueId,
final long fallBehind) {
- final String statsKey = String.format("%d@%s@%s", queueId, topic, group);
+ final String statsKey = buildStatsKey(queueId, topic, group);
this.momentStatsItemSetFallSize.getAndCreateStatsItem(statsKey).getValue().set(fallBehind);
}