chia7712 commented on code in PR #15722:
URL: https://github.com/apache/kafka/pull/15722#discussion_r1573445048


##########
clients/src/main/java/org/apache/kafka/common/network/Selector.java:
##########
@@ -1281,14 +1281,14 @@ private Meter createMeter(Metrics metrics, String 
groupName,  Map<String, String
 
         /**
          * This method generates `time-total` metrics but has a couple of 
deficiencies: no `-ns` suffix and no dash between basename
-         * and `time-toal` suffix.
+         * and `time-total` suffix.
          * @deprecated use {{@link #createIOThreadRatioMeter(Metrics, String, 
Map, String, String)}} for new metrics instead
          */
         @Deprecated
         private Meter createIOThreadRatioMeterLegacy(Metrics metrics, String 
groupName,  Map<String, String> metricTags,
                 String baseName, String action) {
             MetricName rateMetricName = metrics.metricName(baseName + 
"-ratio", groupName,
-                    String.format("*Deprecated* The fraction of time the I/O 
thread spent %s", action), metricTags);
+                    String.format("The fraction of time the I/O thread spent 
%s", action), metricTags);

Review Comment:
   Can we move the comments to here instead of modifying the method docs?



##########
clients/src/test/java/org/apache/kafka/common/network/SelectorTest.java:
##########
@@ -1012,6 +1013,28 @@ public void testChannelCloseWhileProcessingReceives() 
throws Exception {
         assertEquals(0, selector.completedReceives().size());
     }
 
+    /**
+     * Validate that correct subset of io metrics marked deprecated in docs
+     */
+    @Test
+    public void testIoMetricsHaveCorrectDoc() {
+        List<String> actual = asList("io-ratio", "io-wait-ratio");
+        List<String> deprecated = asList("iotime-total", "io-waittime-total");
+
+        // iterate through all metrics, since metrics.metric(metricName) 
requires 
+        // knowing metric group and tag set, which are not trivial dependencies
+        for (MetricName metricName : metrics.metrics().keySet()) {

Review Comment:
   Could we make sure both `actual` and `deprecated` get verified? For example, 
this pass can pass if we use incorrect metrics name. i.e `if 
(actual.contains(name))` and `if (deprecated.contains(name))` return false.



-- 
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: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to