Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ISSUE 3585] [Part I] Avoid unnecessary StringBuffer resizing and Str… #3619

Merged
merged 1 commit into from
Dec 10, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
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