-XX:[+|-]JITServerMetrics
This option enables the provision of JITServer performance metrics to a monitoring agent that follows the OpenMetrics standard.
When you enable this option, the following JITServer metrics are provided:
- The CPU utilization of the JITServer
- The physical memory that is available to the JITServer
- The number of clients that are connected to the JITServer
- The number of active compilation threads in the JITServer
Note: You can use the -XX:JITServerMetricsSSLKey
and -XX:JITServerMetricsSSLCert
options for encrypting the data with SSL or TLS.
Syntax
-XX:[+|-]JITServerMetrics
Setting | Effect | Default |
---|---|---|
-XX:+JITServerMetrics |
Enable | |
-XX:-JITServerMetrics |
Disable | yes |
Explanation
When you enable this option, the JITServer process opens a TCP port, which can be used by monitoring agents (like Prometheus) to collect the custom metrics exported by the JITServer. Monitoring agents must issue HTTP GET
requests to a URL of the form: http://<jitserveraddress>:<port>/metrics
. The path for the HTTP request must be /metrics
.
The default value of <port>
is 38500. You can change this value by using the -XX:JITServerMetricsPort
command line option.
The format for the metrics returned by the JITServer follows the OpenMetrics protocol.
Example
The following example shows an HTTP request from a Prometheus monitoring agent and the response from the JITServer:
HTTP request:
GET /metrics HTTP/1.1
Host: 127.0.0.1:9403
User-Agent: Prometheus/2.31.1
Accept: application/openmetrics-text; version=0.0.1,text/plain;version=0.0.4;q=0.5,*/*;q=0.1
Accept-Encoding: gzip
X-Prometheus-Scrape-Timeout-Seconds: 3
JITServer response:
# HELP jitserver_cpu_utilization Cpu utilization of the JITServer
# TYPE jitserver_cpu_utilization gauge
jitserver_cpu_utilization 12.000000
# HELP jitserver_available_memory Available memory for JITServer
# TYPE jitserver_available_memory gauge
jitserver_available_memory 32036204544.000000
# HELP jitserver_connected_clients Number of connected clients
# TYPE jitserver_connected_clients gauge
jitserver_connected_clients 1.000000
# HELP jitserver_active_threads Number of active compilation threads
# TYPE jitserver_active_threads gauge
jitserver_active_threads 1.000000