Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

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