PingGateway 2024.11

Metrics at the Prometheus Scrape Endpoint

PingGateway exposes a monitoring endpoint where Prometheus can scrape metrics in a standard Prometheus format. Learn more from the Prometheus website.

When PingGateway is set up as described in the Quick install, the Prometheus Scrape Endpoint is available at the following endpoints:

  • http://ig.example.com:8080/openig/metrics/prometheus/0.0.4

  • http://ig.example.com:8080/openig/metrics/prometheus (deprecated)

Learn to query the Prometheus Scrape Endpoint in Monitor the Prometheus Scrape Endpoint.

Some ig_jvm_* metrics depend on the JVM version and configuration. In particular, GC-related metrics depend on the garbage collector that the server uses. The GC metric names are unstable and can change even in a minor JVM release.

Name Type Description

ig_cache_evictions_count{cause,content,fully_qualified_name,heap,name,route,router}

Summary

Distribution of 'COLLECTED' eviction events

ig_cache_evictions_sum{cause,content,fully_qualified_name,heap,name,route,router}

Summary

Distribution of 'COLLECTED' eviction events

ig_cache_gets_total{content,fully_qualified_name,heap,name,result,route,router}

Counter

Number of times the cache has been asked for a value and a value was found

ig_cache_loads_seconds_count{content,fully_qualified_name,heap,name,result,route,router}

Summary

Track time spent loading entries unsuccessfully; the 'content' label is one of: 'access_token', 'policy_decision', 'session', 'user_profile'

ig_cache_loads_seconds_sum{content,fully_qualified_name,heap,name,result,route,router}

Summary

Track time spent loading entries unsuccessfully; the 'content' label is one of: 'access_token', 'policy_decision', 'session', 'user_profile'

ig_cache_loads_seconds{content,fully_qualified_name,heap,name,result,route,router,quantile}

Summary

Track time spent loading entries unsuccessfully; the 'content' label is one of: 'access_token', 'policy_decision', 'session', 'user_profile'

ig_http_client_active_connections{local,remote}

Gauge

Number of connections to the remote host currently open

ig_http_client_active_requests{local,method,remote}

Gauge

Number of requests waiting for a response

ig_http_client_active_ws_connections{local,remote}

Gauge

Number of websockets currently open

ig_http_client_bytes_read_total{local,remote}

Counter

Number of bytes received from the remote host

ig_http_client_bytes_read{local,remote}

Counter

[Deprecated] Number of bytes received from the remote host

ig_http_client_bytes_written_total{local,remote}

Counter

Number of bytes sent to the remote host

ig_http_client_bytes_written{local,remote}

Counter

[Deprecated] Number of bytes sent to the remote host

ig_http_client_queue_pending{local,remote}

Gauge

Number of pending elements in queue

ig_http_client_queue_time_seconds_count{local,remote}

Summary

Time spent in queue before being processed

ig_http_client_queue_time_seconds_sum{local,remote}

Summary

Time spent in queue before being processed

ig_http_client_queue_time_seconds{local,remote,quantile}

Summary

Time spent in queue before being processed

ig_http_client_request_bytes_count{local,method,remote}

Summary

Size of requests in bytes

ig_http_client_request_bytes_sum{local,method,remote}

Summary

Size of requests in bytes

ig_http_client_requests_total{local,method,remote}

Counter

Number of requests sent

ig_http_client_requests{local,method,remote}

Counter

[Deprecated] Number of requests sent

ig_http_client_response_bytes_count{code,local,method,remote}

Summary

Size of responses in bytes

ig_http_client_response_bytes_sum{code,local,method,remote}

Summary

Size of responses in bytes

ig_http_client_response_time_seconds_count{code,local,method,remote}

Summary

Response time

ig_http_client_response_time_seconds_sum{code,local,method,remote}

Summary

Response time

ig_http_client_response_time_seconds{code,local,method,remote,quantile}

Summary

Response time

ig_http_client_responses_total{code,local,method,remote}

Counter

Response count with codes

ig_http_client_responses{code,local,method,remote}

Counter

[Deprecated] Response count with codes

ig_http_server_active_connections{local}

Gauge

Number of open connections to the server

ig_http_server_active_requests{local}

Gauge

Number of requests being processed

ig_http_server_active_ws_connections{local}

Gauge

Number of websockets currently open

ig_http_server_bytes_read_total{local}

Counter

Number of bytes received by the server

ig_http_server_bytes_read{local}

Counter

[Deprecated] Number of bytes received by the server

ig_http_server_bytes_written_total{local}

Counter

Number of bytes sent by the server

ig_http_server_bytes_written{local}

Counter

[Deprecated] Number of bytes sent by the server

ig_http_server_request_bytes_count{local,method}

Summary

Size of requests in bytes

ig_http_server_request_bytes_sum{local,method}

Summary

Size of requests in bytes

ig_http_server_request_resets_total{local,method}

Counter

Number of request resets

ig_http_server_request_resets{local,method}

Counter

[Deprecated] Number of request resets

ig_http_server_requests_total{local,method}

Counter

Number of processed requests

ig_http_server_requests{local,method}

Counter

[Deprecated] Number of processed requests

ig_http_server_response_bytes_count{code,local,method}

Summary

Size of responses in bytes

ig_http_server_response_bytes_sum{code,local,method}

Summary

Size of responses in bytes

ig_http_server_response_time_seconds_count{code,local,method}

Summary

Request processing time

ig_http_server_response_time_seconds_sum{code,local,method}

Summary

Request processing time

ig_http_server_response_time_seconds{code,local,method,quantile}

Summary

Request processing time

ig_jvm_available_cpus

Gauge

Number of processors available to the Java virtual machine

ig_jvm_class_loading_loaded_total

Counter

Number of classes loaded since the Java virtual machine started

ig_jvm_class_loading_unloaded_total

Counter

Number of classes unloaded since the Java virtual machine started

ig_jvm_free_used_memory_bytes

Gauge

Bytes of free memory allocated to the Java virtual machine

ig_jvm_garbage_collector_count_total{name}

Counter

Total number of garbage collections since startup

ig_jvm_garbage_collector_time_total{name}

Counter

Approximate accumulated garbage collection elapsed time in milliseconds

ig_jvm_max_memory_bytes

Gauge

Maximum amount of memory that the Java virtual machine will attempt to use

ig_jvm_memory_usage_committed{location}

Gauge

Amount of memory guaranteed to be available to the Java virtual machine

ig_jvm_memory_usage_init{location}

Gauge

Amount of memory the Java virtual machine requested during startup

ig_jvm_memory_usage_max{location}

Gauge

Maximum amount of memory the Java virtual machine can use for memory management

ig_jvm_memory_usage_pools_committed{name}

Gauge

Amount of memory guaranteed to be available to this memory pool

ig_jvm_memory_usage_pools_init{name}

Gauge

Amount of memory the memory pool requested during startup

ig_jvm_memory_usage_pools_max{name}

Gauge

Maximum amount of memory the memory pool can use for memory management

ig_jvm_memory_usage_pools_used_after_gc{name}

Gauge

Amount of memory the memory pool uses after the most recent garbage collection

ig_jvm_memory_usage_pools_used{name}

Gauge

Amount of memory the memory pool currently uses

ig_jvm_memory_usage_used{location}

Gauge

Maximum amount of memory the Java virtual machine currently uses

ig_jvm_thread_state_daemon

Gauge

Number of live daemon threads

ig_jvm_thread_state{state}

Gauge

Number of threads in the specified state

ig_jvm_used_memory_bytes

Gauge

Amount of memory used by the Java virtual machine

ig_pool_completed_total{pool_name,pool_type}

Counter

Number of elements done with the resource

ig_pool_completed{pool_name,pool_type}

Counter

[Deprecated] Number of elements done with the resource

ig_pool_in_use{pool_name,pool_type}

Gauge

Number of resources used

ig_pool_max_size{pool_name,pool_type}

Gauge

Number of resources used

ig_pool_queue_pending{pool_name,pool_type}

Gauge

Number of pending elements in queue

ig_pool_queue_time_seconds_count{pool_name,pool_type}

Summary

Time spent in queue before being processed

ig_pool_queue_time_seconds_sum{pool_name,pool_type}

Summary

Time spent in queue before being processed

ig_pool_queue_time_seconds{pool_name,pool_type,quantile}

Summary

Time spent in queue before being processed

ig_pool_ratio{pool_name,pool_type}

Gauge

Pool usage ratio, only meaningful if maximum pool size could be determined

ig_pool_usage_seconds_count{pool_name,pool_type}

Summary

Time using a resource

ig_pool_usage_seconds_sum{pool_name,pool_type}

Summary

Time using a resource

ig_pool_usage_seconds{pool_name,pool_type,quantile}

Summary

Time using a resource

ig_reverseproxyhandler_ws_proxy_application_side_read_total{frame_type,fully_qualified_name,heap,name,route,router}

Counter

Number of application side websocket proxy frames received1

ig_reverseproxyhandler_ws_proxy_application_side_read_total{frame_type,fully_qualified_name,heap,name}

Counter

Number of application side websocket proxy frames received1

ig_reverseproxyhandler_ws_proxy_application_side_write_total{frame_type,fully_qualified_name,heap,name,route,router}

Counter

Number of application side websocket proxy frames sent1

ig_reverseproxyhandler_ws_proxy_application_side_write_total{frame_type,fully_qualified_name,heap,name}

Counter

Number of application side websocket proxy frames sent1

ig_reverseproxyhandler_ws_proxy_client_side_read_total{frame_type,fully_qualified_name,heap,name,route,router}

Counter

Number of client side websocket proxy frames received1

ig_reverseproxyhandler_ws_proxy_client_side_read_total{frame_type,fully_qualified_name,heap,name}

Counter

Number of client side websocket proxy frames received1

ig_reverseproxyhandler_ws_proxy_client_side_write_total{frame_type,fully_qualified_name,heap,name,route,router}

Counter

Number of client side websocket proxy frames sent1

ig_reverseproxyhandler_ws_proxy_client_side_write_total{frame_type,fully_qualified_name,heap,name}

Counter

Number of client side websocket proxy frames sent1

ig_reverseproxyhandler_ws_proxy_tunnels_active{fully_qualified_name,heap,name,route,router}

Gauge

Number of active websocket proxy tunnels1

ig_reverseproxyhandler_ws_proxy_tunnels_active{fully_qualified_name,heap,name}

Gauge

Number of active websocket proxy tunnels1

ig_reverseproxyhandler_ws_proxy_tunnels_created_total{fully_qualified_name,heap,name,route,router}

Counter

Number of created websocket proxy tunnels1

ig_reverseproxyhandler_ws_proxy_tunnels_created_total{fully_qualified_name,heap,name}

Counter

Number of created websocket proxy tunnels1

ig_route_request_active{name,route,router}

Gauge

Number of requests being processed

ig_route_request_total{name,route,router}

Counter

Number of requests processed by the router or route since it was deployed

ig_route_response_error_total{name,route,router}

Counter

Number of responses that threw an exception

ig_route_response_null_total{name,route,router}

Counter

Number of responses that were not handled by the route

ig_route_response_status_total{family,name,route,router}

Counter

Number of responses by HTTP status code family. The 'family' label depends on the HTTP status code

ig_route_response_time_seconds_count{name,route,router}

Summary

Response time observations

ig_route_response_time_seconds_sum{name,route,router}

Summary

Response time observations

ig_route_response_time_seconds{name,route,router,quantile}

Summary

Response time observations

ig_router_deployed_routes{fully_qualified_name,heap,name}

Gauge

Number of routes deployed in the configuration

ig_startup_seconds_count{class,id,kind,level,parentId,parentKind,parent_id,parent_kind}

Summary

Top-level startup metrics2

ig_startup_seconds_count{id,kind,level,parentId,parentKind,parent_id,parent_kind}

Summary

Top-level startup metrics2

ig_startup_seconds_sum{class,id,kind,level,parentId,parentKind,parent_id,parent_kind}

Summary

Top-level startup metrics2

ig_startup_seconds_sum{id,kind,level,parentId,parentKind,parent_id,parent_kind}

Summary

Top-level startup metrics2

ig_startup_seconds{class,id,kind,level,parentId,parentKind,parent_id,parent_kind,quantile}

Summary

Top-level startup metrics2

ig_startup_seconds{id,kind,level,parentId,parentKind,parent_id,parent_kind,quantile}

Summary

Top-level startup metrics2

ig_timerdecorator_filter_downstream_seconds_count{decorated_object,heap,name}

Summary

Time to process the request and response in the decorated filter (downstream time)

ig_timerdecorator_filter_downstream_seconds_sum{decorated_object,heap,name}

Summary

Time to process the request and response in the decorated filter (downstream time)

ig_timerdecorator_filter_downstream_seconds{decorated_object,heap,name,quantile}

Summary

Time to process the request and response in the decorated filter (downstream time)

ig_timerdecorator_filter_elapsed_seconds_count{decorated_object,heap,name}

Summary

Time to process the request and response in the decorated filter (elapsed time)

ig_timerdecorator_filter_elapsed_seconds_sum{decorated_object,heap,name}

Summary

Time to process the request and response in the decorated filter (elapsed time)

ig_timerdecorator_filter_elapsed_seconds{decorated_object,heap,name,quantile}

Summary

Time to process the request and response in the decorated filter (elapsed time)

ig_timerdecorator_filter_internal_seconds_count{decorated_object,heap,name}

Summary

Time to process the request and response in the decorated filter (internal time)

ig_timerdecorator_filter_internal_seconds_sum{decorated_object,heap,name}

Summary

Time to process the request and response in the decorated filter (internal time)

ig_timerdecorator_filter_internal_seconds{decorated_object,heap,name,quantile}

Summary

Time to process the request and response in the decorated filter (internal time)

ig_timerdecorator_handler_elapsed_seconds_count{decorated_object,heap,name}

Summary

Time to process the request and response in the decorated handler

ig_timerdecorator_handler_elapsed_seconds_sum{decorated_object,heap,name}

Summary

Time to process the request and response in the decorated handler

ig_timerdecorator_handler_elapsed_seconds{decorated_object,heap,name,quantile}

Summary

Time to process the request and response in the decorated handler

1 The "reverseproxyhandler" in the metric name reflects the name of the ReverseProxyHandler component in the PingGateway configuration.

2 The present implementation includes the deprecated parentId and parentKind dimensions. Use the equivalent parent_id and parent_kind dimensions instead.