Skip to content

Commit

Permalink
[improve][broker] Add metric prefix for topic_load_times (#20472)
Browse files Browse the repository at this point in the history
  • Loading branch information
Technoboy- authored Jun 29, 2023
1 parent 7bf8fd1 commit 8d7b633
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ public class BrokerOperabilityMetrics {
private static final Counter TOPIC_LOAD_FAILED = Counter.build("topic_load_failed", "-").register();
private final List<Metrics> metricsList;
private final String localCluster;
private final DimensionStats oldTopicLoadStats;
private final DimensionStats topicLoadStats;
private final String brokerName;
private final LongAdder connectionTotalCreatedCount;
Expand All @@ -44,7 +45,8 @@ public class BrokerOperabilityMetrics {
public BrokerOperabilityMetrics(String localCluster, String brokerName) {
this.metricsList = new ArrayList<>();
this.localCluster = localCluster;
this.topicLoadStats = new DimensionStats("topic_load_times", 60);
this.oldTopicLoadStats = new DimensionStats("topic_load_times", 60);
this.topicLoadStats = new DimensionStats("pulsar_topic_load_times", 60);
this.brokerName = brokerName;
this.connectionTotalCreatedCount = new LongAdder();
this.connectionCreateSuccessCount = new LongAdder();
Expand All @@ -59,6 +61,7 @@ public List<Metrics> getMetrics() {
}

private void generate() {
metricsList.add(getOldTopicLoadMetrics());
metricsList.add(getTopicLoadMetrics());
metricsList.add(getConnectionMetrics());
}
Expand All @@ -85,8 +88,13 @@ Map<String, String> getDimensionMap(String metricsName) {
return dimensionMap;
}

Metrics getOldTopicLoadMetrics() {
Metrics metrics = getDimensionMetrics("topic_load_times", "topic_load", oldTopicLoadStats);
return metrics;
}

Metrics getTopicLoadMetrics() {
Metrics metrics = getDimensionMetrics("topic_load_times", "topic_load", topicLoadStats);
Metrics metrics = getDimensionMetrics("pulsar_topic_load_times", "topic_load", topicLoadStats);
metrics.put("brk_topic_load_failed_count", TOPIC_LOAD_FAILED.get());
return metrics;
}
Expand All @@ -109,10 +117,12 @@ Metrics getDimensionMetrics(String metricsName, String dimensionName, DimensionS

public void reset() {
metricsList.clear();
oldTopicLoadStats.reset();
topicLoadStats.reset();
}

public void recordTopicLoadTimeValue(long topicLoadLatencyMs) {
oldTopicLoadStats.recordDimensionTimeValue(topicLoadLatencyMs, TimeUnit.MILLISECONDS);
topicLoadStats.recordDimensionTimeValue(topicLoadLatencyMs, TimeUnit.MILLISECONDS);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ public DimensionStats(String name, long updateDurationInSec) {
defaultRegistry.register(summary);
} catch (IllegalArgumentException ie) {
// it only happens in test-cases when try to register summary multiple times in registry
log.warn("{} is already registred {}", name, ie.getMessage());
log.warn("{} is already registered {}", name, ie.getMessage());
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,14 @@ public void testMetricsTopicCount() throws Exception {
assertEquals(item.value, 3.0);
}
});
Collection<Metric> topicLoadTimesMetrics = metrics.get("topic_load_times");
Collection<Metric> topicLoadTimesCountMetrics = metrics.get("topic_load_times_count");
assertEquals(topicLoadTimesMetrics.size(), 6);
assertEquals(topicLoadTimesCountMetrics.size(), 1);
Collection<Metric> pulsarTopicLoadTimesMetrics = metrics.get("pulsar_topic_load_times");
Collection<Metric> pulsarTopicLoadTimesCountMetrics = metrics.get("pulsar_topic_load_times_count");
assertEquals(pulsarTopicLoadTimesMetrics.size(), 6);
assertEquals(pulsarTopicLoadTimesCountMetrics.size(), 1);
}

@Test
Expand Down

0 comments on commit 8d7b633

Please sign in to comment.