Skip to content

Commit 3aff825

Browse files
committed
Configure Jetty thread usage for Prometheus support
[#158209647] References #42
1 parent ab9752e commit 3aff825

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

src/main/java/com/rabbitmq/perf/PrometheusMetrics.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,13 @@
2121
import io.micrometer.prometheus.PrometheusMeterRegistry;
2222
import org.apache.commons.cli.Option;
2323
import org.apache.commons.cli.Options;
24+
import org.eclipse.jetty.server.Connector;
2425
import org.eclipse.jetty.server.Request;
2526
import org.eclipse.jetty.server.Server;
27+
import org.eclipse.jetty.server.ServerConnector;
2628
import org.eclipse.jetty.server.handler.AbstractHandler;
2729
import org.eclipse.jetty.server.handler.ContextHandler;
30+
import org.eclipse.jetty.util.thread.QueuedThreadPool;
2831

2932
import javax.servlet.http.HttpServletRequest;
3033
import javax.servlet.http.HttpServletResponse;
@@ -55,8 +58,14 @@ public void configure(CommandLineProxy cmd, CompositeMeterRegistry meterRegistry
5558
int prometheusHttpEndpointPort = intArg(cmd, "mpp", 8080);
5659
String prometheusHttpEndpoint = strArg(cmd, "mpe", "metrics");
5760
prometheusHttpEndpoint = prometheusHttpEndpoint.startsWith("/") ? prometheusHttpEndpoint : "/" + prometheusHttpEndpoint;
58-
// FIXME configure Jetty (threads, etc)
59-
server = new Server(prometheusHttpEndpointPort);
61+
QueuedThreadPool threadPool = new QueuedThreadPool();
62+
// difference between those 2 should be high enough to avoid a warning
63+
threadPool.setMinThreads(2);
64+
threadPool.setMaxThreads(12);
65+
server = new Server(threadPool);
66+
ServerConnector connector = new ServerConnector(server);
67+
connector.setPort(prometheusHttpEndpointPort);
68+
server.setConnectors(new Connector[] { connector });
6069

6170
ContextHandler context = new ContextHandler();
6271
context.setContextPath(prometheusHttpEndpoint);

0 commit comments

Comments
 (0)