Skip to content

Commit 2f31b96

Browse files
committed
Reduce number of core threads in HTTPServer to one
Signed-off-by: Fabian Stäber <[email protected]>
1 parent 4ce41e1 commit 2f31b96

File tree

1 file changed

+10
-8
lines changed
  • simpleclient_httpserver/src/main/java/io/prometheus/client/exporter

1 file changed

+10
-8
lines changed

simpleclient_httpserver/src/main/java/io/prometheus/client/exporter/HTTPServer.java

+10-8
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
package io.prometheus.client.exporter;
22

3+
import com.sun.net.httpserver.Authenticator;
4+
import com.sun.net.httpserver.HttpContext;
5+
import com.sun.net.httpserver.HttpExchange;
6+
import com.sun.net.httpserver.HttpHandler;
7+
import com.sun.net.httpserver.HttpServer;
38
import com.sun.net.httpserver.HttpsConfigurator;
49
import com.sun.net.httpserver.HttpsServer;
510
import io.prometheus.client.CollectorRegistry;
6-
import io.prometheus.client.SampleNameFilter;
711
import io.prometheus.client.Predicate;
12+
import io.prometheus.client.SampleNameFilter;
813
import io.prometheus.client.Supplier;
914
import io.prometheus.client.exporter.common.TextFormat;
1015

@@ -25,15 +30,10 @@
2530
import java.util.concurrent.Executors;
2631
import java.util.concurrent.FutureTask;
2732
import java.util.concurrent.ThreadFactory;
33+
import java.util.concurrent.ThreadPoolExecutor;
2834
import java.util.concurrent.atomic.AtomicInteger;
2935
import java.util.zip.GZIPOutputStream;
3036

31-
import com.sun.net.httpserver.Authenticator;
32-
import com.sun.net.httpserver.HttpContext;
33-
import com.sun.net.httpserver.HttpExchange;
34-
import com.sun.net.httpserver.HttpHandler;
35-
import com.sun.net.httpserver.HttpServer;
36-
3737
/**
3838
* Expose Prometheus metrics using a plain Java HttpServer.
3939
* <p>
@@ -452,7 +452,9 @@ private HTTPServer(ExecutorService executorService, HttpServer httpServer, Colle
452452
if (executorService != null) {
453453
this.executorService = executorService;
454454
} else {
455-
this.executorService = Executors.newFixedThreadPool(5, NamedDaemonThreadFactory.defaultThreadFactory(daemon));
455+
ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(5, NamedDaemonThreadFactory.defaultThreadFactory(daemon));
456+
executor.setCorePoolSize(1);
457+
this.executorService = executor;
456458
}
457459
server.setExecutor(this.executorService);
458460
start(daemon);

0 commit comments

Comments
 (0)