import io.prometheus.client.Summary;
import io.prometheus.client.Counter;
import io.prometheus.client.Gauge;
import io.prometheus.client.exporter.HTTPServer;
public class SimpleClientExample {
static final Summary requestLatency = Summary.build()
.name("http_request_latency_seconds")
.help("Request latency in seconds.")
.register();
static final Counter requestsTotal = Counter.build()
.name("http_requests_total")
.help("Total number of requests.")
.register();
static final Gauge inProgressRequests = Gauge.build()
.name("http_in_progress_requests")
.help("Number of in-progress requests.")
.register();
public static void main(String[] args) throws Exception {
HTTPServer server = new HTTPServer(8080);
while (true) {
double latency = Math.random();
requestLatency.observe(latency);
requestsTotal.inc();
inProgressRequests.inc();
Thread.sleep((long) (latency * 1000));
inProgressRequests.dec();
}
}
}
<dependencies>
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient_common</artifactId>
<version>0.18.1</version>
</dependency>
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient_httpserver</artifactId>
<version>0.18.1</version>
</dependency>
</dependencies>