This is an automated email from the ASF dual-hosted git repository.
rgoers pushed a commit to branch Prometheus-and-Jetty
in repository https://gitbox.apache.org/repos/asf/logging-flume.git
The following commit(s) were added to refs/heads/Prometheus-and-Jetty by this
push:
new 5f60bc4b6 Fix Prometheus
5f60bc4b6 is described below
commit 5f60bc4b6fdd1e0c95000f4a7213fa422f6905dc
Author: Ralph Goers <[email protected]>
AuthorDate: Wed Jun 10 17:55:18 2026 -0700
Fix Prometheus
---
flume-ng-core/pom.xml | 1 -
.../http/PrometheusHTTPMetricsServer.java | 12 ++++++-----
.../flume/tools/HTTPServerConstraintUtil.java | 2 +-
.../http/TestHTTPMetricsServer.java | 2 +-
.../http/TestPrometheusMetricsServer.java | 24 +++++++++++-----------
.../flume/node/TestHttpConfigurationSource.java | 12 +++++------
6 files changed, 27 insertions(+), 26 deletions(-)
diff --git a/flume-ng-core/pom.xml b/flume-ng-core/pom.xml
index a5a4d128e..8617cfc75 100644
--- a/flume-ng-core/pom.xml
+++ b/flume-ng-core/pom.xml
@@ -131,7 +131,6 @@
<artifactId>netty-all</artifactId>
</dependency>
-
<dependency>
<groupId>org.eclipse.jetty.ee11</groupId>
<artifactId>jetty-ee11-servlet</artifactId>
diff --git
a/flume-ng-core/src/main/java/org/apache/flume/instrumentation/http/PrometheusHTTPMetricsServer.java
b/flume-ng-core/src/main/java/org/apache/flume/instrumentation/http/PrometheusHTTPMetricsServer.java
index ea876b131..01b0e38c9 100644
---
a/flume-ng-core/src/main/java/org/apache/flume/instrumentation/http/PrometheusHTTPMetricsServer.java
+++
b/flume-ng-core/src/main/java/org/apache/flume/instrumentation/http/PrometheusHTTPMetricsServer.java
@@ -19,8 +19,8 @@ package org.apache.flume.instrumentation.http;
import com.google.common.base.Throwables;
import io.prometheus.metrics.core.metrics.Counter;
import io.prometheus.metrics.core.metrics.Gauge;
-import io.prometheus.metrics.model.registry.PrometheusRegistry;
import io.prometheus.metrics.exporter.servlet.jakarta.PrometheusMetricsServlet;
+import io.prometheus.metrics.model.registry.PrometheusRegistry;
import java.lang.management.ManagementFactory;
import java.lang.reflect.Method;
import java.util.ArrayList;
@@ -38,12 +38,12 @@ import javax.management.ObjectInstance;
import javax.management.ObjectName;
import javax.management.ReflectionException;
import org.apache.flume.instrumentation.MonitorService;
+import org.eclipse.jetty.ee11.servlet.ServletContextHandler;
+import org.eclipse.jetty.ee11.servlet.ServletHolder;
import org.eclipse.jetty.server.HttpConfiguration;
import org.eclipse.jetty.server.HttpConnectionFactory;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
-import org.eclipse.jetty.ee11.servlet.ServletContextHandler;
-import org.eclipse.jetty.ee11.servlet.ServletHolder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -109,7 +109,7 @@ public class PrometheusHTTPMetricsServer extends
HTTPMetricsServer implements Mo
if
(obj.getObjectName().toString().startsWith("org.apache.flume")) {
processFlumeMetric(obj);
} else if
((obj.getObjectName().toString().startsWith("kafka.consumer")
- ||
obj.getObjectName().toString().startsWith("kafka.producer"))
+ ||
obj.getObjectName().toString().startsWith("kafka.producer"))
&&
obj.getObjectName().toString().contains("metrics")) {
processKafkaMetric(obj);
}
@@ -185,7 +185,8 @@ public class PrometheusHTTPMetricsServer extends
HTTPMetricsServer implements Mo
TreeMap<String, String> properties = new TreeMap<>();
for (String key : objectName.getKeyPropertyList().keySet()) {
- properties.put(makeStringPromSafe(key),
objectName.getKeyPropertyList().get(key));
+ properties.put(
+ makeStringPromSafe(key),
objectName.getKeyPropertyList().get(key));
}
String metricKey = qualifiedType + "_" + String.join("_",
properties.keySet()) + "_";
@@ -244,6 +245,7 @@ public class PrometheusHTTPMetricsServer extends
HTTPMetricsServer implements Mo
Gauge gauge = Gauge.builder()
.name(gaugeName)
.help(gaugeName)
+ .labelNames("component")
.register();
gauges.put(gaugeName, gauge);
}
diff --git
a/flume-ng-core/src/main/java/org/apache/flume/tools/HTTPServerConstraintUtil.java
b/flume-ng-core/src/main/java/org/apache/flume/tools/HTTPServerConstraintUtil.java
index d1ba83bac..d059940f3 100644
---
a/flume-ng-core/src/main/java/org/apache/flume/tools/HTTPServerConstraintUtil.java
+++
b/flume-ng-core/src/main/java/org/apache/flume/tools/HTTPServerConstraintUtil.java
@@ -48,7 +48,7 @@ public class HTTPServerConstraintUtil {
// 3. Configure the ConstraintSecurityHandler
ConstraintSecurityHandler securityHandler = new
ConstraintSecurityHandler();
- securityHandler.setConstraintMappings(new
ConstraintMapping[]{traceMapping, optionsMapping});
+ securityHandler.setConstraintMappings(new ConstraintMapping[]
{traceMapping, optionsMapping});
return securityHandler;
}
diff --git
a/flume-ng-core/src/test/java/org/apache/flume/instrumentation/http/TestHTTPMetricsServer.java
b/flume-ng-core/src/test/java/org/apache/flume/instrumentation/http/TestHTTPMetricsServer.java
index 94b1ebe22..2a603badb 100644
---
a/flume-ng-core/src/test/java/org/apache/flume/instrumentation/http/TestHTTPMetricsServer.java
+++
b/flume-ng-core/src/test/java/org/apache/flume/instrumentation/http/TestHTTPMetricsServer.java
@@ -18,13 +18,13 @@ package org.apache.flume.instrumentation.http;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.lang.reflect.Type;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Map;
-import jakarta.servlet.http.HttpServletResponse;
import org.apache.flume.Context;
import org.apache.flume.instrumentation.MonitorService;
import org.apache.flume.instrumentation.util.JMXTestUtils;
diff --git
a/flume-ng-core/src/test/java/org/apache/flume/instrumentation/http/TestPrometheusMetricsServer.java
b/flume-ng-core/src/test/java/org/apache/flume/instrumentation/http/TestPrometheusMetricsServer.java
index f6b78b9eb..6c6d6308e 100644
---
a/flume-ng-core/src/test/java/org/apache/flume/instrumentation/http/TestPrometheusMetricsServer.java
+++
b/flume-ng-core/src/test/java/org/apache/flume/instrumentation/http/TestPrometheusMetricsServer.java
@@ -54,18 +54,18 @@ public class TestPrometheusMetricsServer extends
BaseHTTPMetricsTest {
}
reader.close();
String[] targetOutputs = {
- "ChannelSize{component=\"pmemChannel\",} 1.0\n",
- "Flume_ChannelSize{component=\"memChannel\",} 1.0\n",
- "Flume_ChannelCapacity{component=\"pmemChannel\",} 0.0\n",
- "Flume_ChannelCapacity{component=\"memChannel\",} 100.0\n",
- "Flume_EventPutAttemptCount_total{component=\"pmemChannel\",}
2.0\n",
- "Flume_EventPutAttemptCount_total{component=\"memChannel\",}
2.0\n",
- "Flume_EventTakeAttemptCount_total{component=\"pmemChannel\",}
1.0\n",
- "Flume_EventTakeAttemptCount_total{component=\"memChannel\",}
1.0\n",
- "Flume_EventPutSuccessCount_total{component=\"pmemChannel\",}
2.0\n",
- "Flume_EventPutSuccessCount_total{component=\"memChannel\",}
2.0\n",
- "Flume_EventTakeSuccessCount_total{component=\"pmemChannel\",}
1.0\n",
- "Flume_EventTakeSuccessCount_total{component=\"memChannel\",}
1.0\n"
+ "Flume_ChannelSize{component=\"pmemChannel\"} 1.0\n",
+ "Flume_ChannelSize{component=\"memChannel\"} 1.0\n",
+ "Flume_ChannelCapacity{component=\"pmemChannel\"} 0.0\n",
+ "Flume_ChannelCapacity{component=\"memChannel\"} 100.0\n",
+ "Flume_EventPutAttemptCount_total{component=\"pmemChannel\"}
2.0\n",
+ "Flume_EventPutAttemptCount_total{component=\"memChannel\"} 2.0\n",
+ "Flume_EventTakeAttemptCount_total{component=\"pmemChannel\"}
1.0\n",
+ "Flume_EventTakeAttemptCount_total{component=\"memChannel\"}
1.0\n",
+ "Flume_EventPutSuccessCount_total{component=\"pmemChannel\"}
2.0\n",
+ "Flume_EventPutSuccessCount_total{component=\"memChannel\"} 2.0\n",
+ "Flume_EventTakeSuccessCount_total{component=\"pmemChannel\"}
1.0\n",
+ "Flume_EventTakeSuccessCount_total{component=\"memChannel\"} 1.0\n"
};
for (String target : targetOutputs) {
diff --git
a/flume-ng-node/src/test/java/org/apache/flume/node/TestHttpConfigurationSource.java
b/flume-ng-node/src/test/java/org/apache/flume/node/TestHttpConfigurationSource.java
index 39c348649..058115fe6 100644
---
a/flume-ng-node/src/test/java/org/apache/flume/node/TestHttpConfigurationSource.java
+++
b/flume-ng-node/src/test/java/org/apache/flume/node/TestHttpConfigurationSource.java
@@ -16,6 +16,9 @@
*/
package org.apache.flume.node;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
@@ -24,18 +27,15 @@ import java.nio.file.Files;
import java.util.Base64;
import java.util.Enumeration;
import java.util.Properties;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.flume.conf.ConfigurationException;
import org.apache.flume.node.net.AuthorizationProvider;
import org.apache.flume.node.net.BasicAuthorizationProvider;
+import org.eclipse.jetty.ee11.servlet.DefaultServlet;
+import org.eclipse.jetty.ee11.servlet.ServletContextHandler;
+import org.eclipse.jetty.ee11.servlet.ServletHolder;
import org.eclipse.jetty.http.HttpHeader;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
-import org.eclipse.jetty.servlet.DefaultServlet;
-import org.eclipse.jetty.servlet.ServletContextHandler;
-import org.eclipse.jetty.servlet.ServletHolder;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.BeforeClass;