Prometheus Metrics
This page provides an overview of all available Prometheus metrics in Kestra.
Overview
Prometheus metrics are enabled by default in Kestra, in contrast to OpenTelemetry, which must be explicitly enabled in the configuration file.
Each Prometheus metric is described with its purpose and the type of data it represents. You can access these metrics via the http://localhost:8081/prometheus
endpoint in Kestra.
Example output from the Prometheus endpoint:
# HELP executor_active_threads The approximate number of threads actively executing tasks# TYPE executor_active_threads gaugeexecutor_active_threads 4
For deeper details on Micrometer metrics integration, see the Micronaut Micrometer documentation.
Cache Metrics
cache_size
(gauge): Current number of entries in the cache. Approximate depending on cache type.
Java Executor Pool Metrics
executor_active_threads
(gauge): Number of threads actively executing tasks.executor_completed_tasks_total
(counter): Total number of tasks that have completed execution.executor_idle_seconds
(summary): Time threads have spent idle in the executor pool.executor_idle_seconds_max
(gauge): Maximum idle time observed for a thread.executor_pool_core_threads
(gauge): Core (minimum) number of threads in the executor pool.executor_pool_max_threads
(gauge): Maximum allowed number of threads in the executor pool.executor_pool_size_threads
(gauge): Current number of threads in the executor pool.executor_queue_remaining_tasks
(gauge): Remaining queue capacity before blocking.executor_queued_tasks
(gauge): Number of tasks currently queued for execution.executor_seconds
(summary): Time tasks have spent executing.executor_seconds_max
(gauge): Maximum execution time observed for a task.
HikariCP Connection Pool Metrics
hikaricp_connections
(gauge): Total number of connections in the pool.hikaricp_connections_acquire_seconds
(summary): Time taken to acquire connections.hikaricp_connections_acquire_seconds_max
(gauge): Maximum time observed for acquiring a connection.hikaricp_connections_active
(gauge): Number of currently active connections.hikaricp_connections_creation_seconds
(summary): Time taken to create new connections.hikaricp_connections_creation_seconds_max
(gauge): Maximum observed connection creation time.hikaricp_connections_idle
(gauge): Number of idle connections.hikaricp_connections_max
(gauge): Maximum connections allowed in the pool.hikaricp_connections_min
(gauge): Minimum connections maintained in the pool.hikaricp_connections_pending
(gauge): Threads waiting to acquire a connection.hikaricp_connections_timeout_total
(counter): Total count of connection timeouts.hikaricp_connections_usage_seconds
(summary): Time connections are in use.hikaricp_connections_usage_seconds_max
(gauge): Maximum observed connection usage time.
HTTP Client Metrics
http_client_requests_seconds
(summary): Duration of HTTP client requests.http_client_requests_seconds_max
(gauge): Maximum observed client request duration.
HTTP Server Metrics
http_server_requests_seconds
(summary): Duration of HTTP server requests.http_server_requests_seconds_max
(gauge): Maximum observed server request duration.
JVM Buffer Pool Metrics
jvm_buffer_count_buffers
(gauge): Estimated number of buffers in a memory pool.jvm_buffer_memory_used_bytes
(gauge): Estimated memory used by a buffer pool in bytes.jvm_buffer_total_capacity_bytes
(gauge): Total capacity of buffers in a memory pool in bytes.
JVM Class Loading Metrics
jvm_classes_loaded_classes
(gauge): Number of classes currently loaded in the JVM.jvm_classes_unloaded_classes_total
(counter): Total number of classes unloaded.
JVM Garbage Collection (GC) Metrics
jvm_gc_concurrent_phase_time_seconds
(summary): Time spent in concurrent GC phases.jvm_gc_concurrent_phase_time_seconds_max
(gauge): Maximum observed concurrent GC phase time.jvm_gc_live_data_size_bytes
(gauge): Size of long-lived heap memory pool after GC.jvm_gc_max_data_size_bytes
(gauge): Maximum size of long-lived heap memory pool.jvm_gc_memory_allocated_bytes_total
(counter): Total memory allocated between GCs.jvm_gc_memory_promoted_bytes_total
(counter): Memory promoted from young to old generation pools.jvm_gc_pause_seconds
(summary): Time spent in GC pauses.jvm_gc_pause_seconds_max
(gauge): Maximum observed GC pause time.
JVM Memory Metrics
jvm_memory_committed_bytes
(gauge): Memory committed for JVM use.jvm_memory_max_bytes
(gauge): Maximum usable JVM memory.jvm_memory_used_bytes
(gauge): Currently used JVM memory.
JVM Thread Metrics
jvm_threads_daemon_threads
(gauge): Number of live daemon threads.jvm_threads_live_threads
(gauge): Number of live threads (daemon + non-daemon).jvm_threads_peak_threads
(gauge): Peak live thread count since JVM start/reset.jvm_threads_started_threads_total
(counter): Total number of threads started.jvm_threads_states_threads
(gauge): Number of threads in each state.
Kestra Executor Metrics
kestra_executor_execution_delay_created_count_total
(counter): Execution delays created.kestra_executor_execution_duration_seconds
(summary): Execution durations.kestra_executor_execution_duration_seconds_max
(gauge): Maximum execution duration observed.kestra_executor_execution_end_count_total
(counter): Executions ended.kestra_executor_execution_message_process_seconds
(summary): Duration of single execution message processing.kestra_executor_execution_message_process_seconds_max
(gauge): Maximum observed message processing time.kestra_executor_execution_started_count_total
(counter): Executions started.kestra_executor_flowable_execution_count_total
(counter): Flowable tasks executed.kestra_executor_taskrun_created_count_total
(counter): Tasks created.kestra_executor_taskrun_ended_count_total
(counter): Tasks ended.kestra_executor_taskrun_ended_duration_seconds
(summary): Task durations.kestra_executor_taskrun_ended_duration_seconds_max
(gauge): Maximum task duration observed.kestra_executor_thread_count
(gauge): Number of executor threads.
Kestra Indexer Metrics
kestra_indexer_message_in_count_total
(counter): Records received.kestra_indexer_message_out_count_total
(counter): Records indexed.kestra_indexer_request_count_total
(counter): Batches of records received.kestra_indexer_request_duration_seconds
(summary): Duration of batch processing.kestra_indexer_request_duration_seconds_max
(gauge): Maximum observed batch processing time.
Kestra JDBC Metrics
kestra_jdbc_query_duration_seconds
(summary): Duration of database queries.kestra_jdbc_query_duration_seconds_max
(gauge): Maximum observed query duration.
Kestra Queue Metrics
kestra_queue_big_message_count_total
(counter): Big messages in the queue.kestra_queue_poll_size
(gauge): Size of a single poll (batch size).kestra_queue_produce_count_total
(counter): Messages produced to the queue.kestra_queue_receive_duration_seconds
(summary): Duration to receive and consume messages.kestra_queue_receive_duration_seconds_max
(gauge): Maximum observed receive duration.
Kestra Scheduler Metrics
kestra_scheduler_evaluate_count_total
(counter): Triggers evaluated.kestra_scheduler_evaluation_loop_duration_seconds
(summary): Duration of trigger evaluation loops.kestra_scheduler_evaluation_loop_duration_seconds_max
(gauge): Maximum observed evaluation loop duration.kestra_scheduler_loop_count_total
(counter): Evaluation loops executed.
Kestra Worker Metrics
kestra_worker_ended_count_total
(counter): Tasks ended.kestra_worker_ended_duration_seconds
(summary): Task run durations.kestra_worker_ended_duration_seconds_max
(gauge): Maximum observed task run duration.kestra_worker_job_pending
(gauge): Pending jobs waiting to be run.kestra_worker_job_running
(gauge): Jobs currently running.kestra_worker_job_thread
(gauge): Number of worker threads.kestra_worker_queued_duration_seconds
(summary): Task queued durations.kestra_worker_queued_duration_seconds_max
(gauge): Maximum observed queued duration.kestra_worker_running_count
(gauge): Number of tasks currently running.kestra_worker_started_count_total
(counter): Tasks started.
Logback Metrics
logback_events_total
(counter): Log events enabled by the effective log level.
Process Metrics
process_cpu_time_ns_total
(counter): CPU time used by the JVM process (ns).process_cpu_usage
(gauge): Recent CPU usage for the JVM process (0.0–1.0).process_files_max_files
(gauge): Maximum number of file descriptors.process_files_open_files
(gauge): Current number of open file descriptors.process_start_time_seconds
(gauge): JVM process start time since Unix epoch (s).process_uptime_seconds
(gauge): JVM uptime (s).
System Metrics
system_cpu_count
(gauge): Number of processors available to JVM.system_cpu_usage
(gauge): Recent CPU usage of the system (0.0–1.0).system_load_average_1m
(gauge): System load average over the last 1 minute.