Metrics
IDE Services provides the /api/metrics
endpoint to monitor the state of your infrastructure. It relies on Prometheus to expose database connections, CPU usage, uptime, and more.
The response will look similar to this example:
# HELP logback_events_total Number of log events that were enabled by the effective log level
# TYPE logback_events_total counter
logback_events_total{level="warn",} 525.0
logback_events_total{level="debug",} 7623664.0
logback_events_total{level="error",} 209.0
logback_events_total{level="trace",} 0.0
logback_events_total{level="info",} 25771.0
# HELP process_start_time_seconds Start time of the process since unix epoch.
# TYPE process_start_time_seconds gauge
process_start_time_seconds 1.721631848911E9
# HELP process_cpu_usage The "recent cpu usage" for the Java Virtual Machine process
# TYPE process_cpu_usage gauge
process_cpu_usage 0.040625
# HELP cache_size The number of entries in this cache. This may be an approximation, depending on the type of cache.
# TYPE cache_size gauge
cache_size{cache="allowed-tool-list",cache_manager="allowedToolListCacheConfig",name="allowed-tool-list",} 3.0
cache_size{cache="toolbox-raw-feeds",cache_manager="tbeRawFeeds",name="toolbox-raw-feeds",} 9.0
# HELP r2dbc_pool_idle_connections Size of idle connections in the pool.
# TYPE r2dbc_pool_idle_connections gauge
r2dbc_pool_idle_connections{name="connectionFactory",} 10.0
# HELP r2dbc_pool_allocated_connections Size of allocated connections in the pool which are in active use or idle.
# TYPE r2dbc_pool_allocated_connections gauge
r2dbc_pool_allocated_connections{name="connectionFactory",} 10.0
# HELP r2dbc_pool_pending_connections Size of pending to acquire connections from the underlying connection factory.
# TYPE r2dbc_pool_pending_connections gauge
r2dbc_pool_pending_connections{name="connectionFactory",} 0.0
# HELP process_uptime_seconds The uptime of the Java virtual machine
# TYPE process_uptime_seconds gauge
process_uptime_seconds 18763.83
# HELP application_started_time_seconds Time taken to start the application
# TYPE application_started_time_seconds gauge
application_started_time_seconds{main_application_class="com.jetbrains.tbe.TBERunnerKt",} 24.465
# HELP disk_free_bytes Usable space for path
# TYPE disk_free_bytes gauge
disk_free_bytes{path="/home/app/.",} 7.9072796672E10
# HELP cwm_lobby_current_sessions
# TYPE cwm_lobby_current_sessions gauge
cwm_lobby_current_sessions 0.0
# HELP system_cpu_count The number of processors available to the Java virtual machine
# TYPE system_cpu_count gauge
system_cpu_count 4.0
...
For better system observability, you can use the following metrics:
- process_start_time_seconds
Defines the start time of the process since unix epoch in seconds.
- process_uptime_seconds
Defines the uptime of the Java virtual machine.
- r2dbc_pool_pending_connections
Defines the size of pending to acquire connections from the underlying connection factory.
- r2dbc_pool_allocated_connections
Defines the size of allocated connections in the pool which are in active use or idle.
- r2dbc_pool_idle_connections
Defines the size of idle connections in the pool.
- executor_pool_core_threads
Defines the core number of threads for the pool.
- cwm_lobby_current_sessions
Defines the number of Code With Me sessions currently running.
- cwm_lobby_client_join_counter_events_total
Defines the number of client join events.
- system_cpu_usage
Defines the recent CPU usage of the system the application is running in.
- process_cpu_usage
Defines the recent CPU usage for the Java Virtual Machine process.
- spring_cloud_gateway_requests_seconds_count
Defines the count of HTTP response codes.
Last modified: 26 November 2024