Skip to content

Commit

Permalink
[ISSUE 3585] [Part I] Avoid unnecessary StringBuffer resizing and Str…
Browse files Browse the repository at this point in the history
…ing Formatting (apache#3619)

Co-authored-by: haozhijie <haozhijie_9527@163.com>
  • Loading branch information
2 people authored and 上河 committed Mar 3, 2022
1 parent cca0f41 commit 8c2c71f
Showing 1 changed file with 29 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -156,24 +156,24 @@ public void onGroupDeleted(final String group) {
}

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);
}

Expand All @@ -194,11 +194,27 @@ public void incGroupGetNums(final String group, final String topic, final int in
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();
}

Expand All @@ -208,7 +224,7 @@ public void incGroupGetSize(final String group, final String topic, final int in
}

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);
}

Expand Down Expand Up @@ -236,13 +252,13 @@ public double tpsGroupGetNums(final String group, final String topic) {

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);
}

Expand Down

0 comments on commit 8c2c71f

Please sign in to comment.