junrao commented on code in PR #16755:
URL: https://github.com/apache/kafka/pull/16755#discussion_r1699118122
##########
clients/src/test/java/org/apache/kafka/clients/consumer/internals/FetchMetricsManagerTest.java:
##########
@@ -66,14 +69,41 @@ public void tearDown() {
@Test
public void testLatency() {
- metricsManager.recordLatency(123);
+ metricsManager.recordLatency("", 123);
time.sleep(metrics.config().timeWindowMs() + 1);
- metricsManager.recordLatency(456);
+ metricsManager.recordLatency("", 456);
assertEquals(289.5, metricValue(metricsRegistry.fetchLatencyAvg),
EPSILON);
assertEquals(456, metricValue(metricsRegistry.fetchLatencyMax),
EPSILON);
}
+ @Test
+ public void testNodeLatency() {
+ String connectionId = "0";
+ MetricName nodeLatencyAvg = metrics.metricName("request-latency-avg",
"group");
+ MetricName nodeLatencyMax = metrics.metricName("request-latency-max",
"group");
+ registerNodeLatencyMetric(connectionId, nodeLatencyAvg,
nodeLatencyMax);
+
+ metricsManager.recordLatency(connectionId, 123);
+ time.sleep(metrics.config().timeWindowMs() + 1);
+ metricsManager.recordLatency(connectionId, 456);
+
+ assertEquals(289.5, metricValue(metricsRegistry.fetchLatencyAvg),
EPSILON);
+ assertEquals(456, metricValue(metricsRegistry.fetchLatencyMax),
EPSILON);
+
+ assertEquals(289.5, metricValue(nodeLatencyAvg), EPSILON);
+ assertEquals(456, metricValue(nodeLatencyMax), EPSILON);
+
+ // Record metric against another node.
+ metricsManager.recordLatency("1", 501);
+
+ assertEquals(360, metricValue(metricsRegistry.fetchLatencyAvg),
EPSILON);
+ assertEquals(501, metricValue(metricsRegistry.fetchLatencyMax),
EPSILON);
+ // Node specific metric should not be affected.
+ assertEquals(289.5, metricValue(nodeLatencyAvg), EPSILON);
+ assertEquals(456, metricValue(nodeLatencyMax), EPSILON);
Review Comment:
Could we further verify the metric value for node 1?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]