You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by ch...@apache.org on 2025/08/14 12:35:27 UTC
(kafka) branch trunk updated: MINOR: Use lambda expressions instead of ImmutableValue for Gauges (#20351)
This is an automated email from the ASF dual-hosted git repository.
chia7712 pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/kafka.git
The following commit(s) were added to refs/heads/trunk by this push:
new c4fb1008c48 MINOR: Use lambda expressions instead of ImmutableValue for Gauges (#20351)
c4fb1008c48 is described below
commit c4fb1008c4856c8cf9594269c86323753e6860ce
Author: Ming-Yen Chung <mi...@gmail.com>
AuthorDate: Thu Aug 14 20:35:21 2025 +0800
MINOR: Use lambda expressions instead of ImmutableValue for Gauges (#20351)
Refactor metric gauges instantiation to use lambda expressions instead
of ImmutableValue.
Reviewers: Ken Huang <s7...@gmail.com>, TengYao Chi
<ki...@gmail.com>, Chia-Ping Tsai <ch...@gmail.com>
---
.../apache/kafka/common/utils/AppInfoParser.java | 20 +++---------------
.../kafka/tools/PushHttpMetricsReporterTest.java | 24 +++++-----------------
2 files changed, 8 insertions(+), 36 deletions(-)
diff --git a/clients/src/main/java/org/apache/kafka/common/utils/AppInfoParser.java b/clients/src/main/java/org/apache/kafka/common/utils/AppInfoParser.java
index f9ebd82ea11..e23bda36d5f 100644
--- a/clients/src/main/java/org/apache/kafka/common/utils/AppInfoParser.java
+++ b/clients/src/main/java/org/apache/kafka/common/utils/AppInfoParser.java
@@ -18,7 +18,6 @@ package org.apache.kafka.common.utils;
import org.apache.kafka.common.MetricName;
import org.apache.kafka.common.metrics.Gauge;
-import org.apache.kafka.common.metrics.MetricConfig;
import org.apache.kafka.common.metrics.Metrics;
import org.slf4j.Logger;
@@ -96,9 +95,9 @@ public class AppInfoParser {
private static void registerMetrics(Metrics metrics, AppInfo appInfo) {
if (metrics != null) {
- metrics.addMetric(metricName(metrics, "version"), new ImmutableValue<>(appInfo.getVersion()));
- metrics.addMetric(metricName(metrics, "commit-id"), new ImmutableValue<>(appInfo.getCommitId()));
- metrics.addMetric(metricName(metrics, "start-time-ms"), new ImmutableValue<>(appInfo.getStartTimeMs()));
+ metrics.addMetric(metricName(metrics, "version"), (Gauge<String>) (config, now) -> appInfo.getVersion());
+ metrics.addMetric(metricName(metrics, "commit-id"), (Gauge<String>) (config, now) -> appInfo.getCommitId());
+ metrics.addMetric(metricName(metrics, "start-time-ms"), (Gauge<Long>) (config, now) -> appInfo.getStartTimeMs());
}
}
@@ -143,17 +142,4 @@ public class AppInfoParser {
}
}
-
- static class ImmutableValue<T> implements Gauge<T> {
- private final T value;
-
- public ImmutableValue(T value) {
- this.value = value;
- }
-
- @Override
- public T value(MetricConfig config, long now) {
- return value;
- }
- }
}
diff --git a/tools/src/test/java/org/apache/kafka/tools/PushHttpMetricsReporterTest.java b/tools/src/test/java/org/apache/kafka/tools/PushHttpMetricsReporterTest.java
index 00215d6c7ee..bc7d91e6333 100644
--- a/tools/src/test/java/org/apache/kafka/tools/PushHttpMetricsReporterTest.java
+++ b/tools/src/test/java/org/apache/kafka/tools/PushHttpMetricsReporterTest.java
@@ -20,7 +20,6 @@ import org.apache.kafka.common.MetricName;
import org.apache.kafka.common.config.ConfigException;
import org.apache.kafka.common.metrics.Gauge;
import org.apache.kafka.common.metrics.KafkaMetric;
-import org.apache.kafka.common.metrics.MetricConfig;
import org.apache.kafka.common.utils.MockTime;
import org.apache.kafka.common.utils.Time;
@@ -186,35 +185,35 @@ public class PushHttpMetricsReporterTest {
KafkaMetric metric1 = new KafkaMetric(
new Object(),
new MetricName("name1", "group1", "desc1", Map.of("key1", "value1")),
- new ImmutableValue<>(1.0),
+ (Gauge<Double>) (config, now) -> 1.0,
null,
time
);
KafkaMetric newMetric1 = new KafkaMetric(
new Object(),
new MetricName("name1", "group1", "desc1", Map.of("key1", "value1")),
- new ImmutableValue<>(-1.0),
+ (Gauge<Double>) (config, now) -> -1.0,
null,
time
);
KafkaMetric metric2 = new KafkaMetric(
new Object(),
new MetricName("name2", "group2", "desc2", Map.of("key2", "value2")),
- new ImmutableValue<>(2.0),
+ (Gauge<Double>) (config, now) -> 2.0,
null,
time
);
KafkaMetric metric3 = new KafkaMetric(
new Object(),
new MetricName("name3", "group3", "desc3", Map.of("key3", "value3")),
- new ImmutableValue<>(3.0),
+ (Gauge<Double>) (config, now) -> 3.0,
null,
time
);
KafkaMetric metric4 = new KafkaMetric(
new Object(),
new MetricName("name4", "group4", "desc4", Map.of("key4", "value4")),
- new ImmutableValue<>("value4"),
+ (Gauge<String>) (config, now) -> "value4",
null,
time
);
@@ -333,17 +332,4 @@ public class PushHttpMetricsReporterTest {
verify(httpOut).flush();
verify(httpOut).close();
}
-
- static class ImmutableValue<T> implements Gauge<T> {
- private final T value;
-
- public ImmutableValue(T value) {
- this.value = value;
- }
-
- @Override
- public T value(MetricConfig config, long now) {
- return value;
- }
- }
}