Skip to Content
OperateMetrics

Metrics

Overview

Every Golem service exposes Prometheus metrics on its HTTP interface. The metrics are available at the /metrics endpoint for scraping.

Beside the service-specific metrics each service exports a single counter called version_info in which the labels hold service-specific information. The currently available labels are:

LabelDescription
versionThe version of the service

Service-specific metrics

Component Service

Component service exposes the following Prometheus metrics:

MetricTypeLabelsDescription
poem_request_countcounterhttp.request.method, url.full, [http.path_pattern], http.response.status_code, exception.messageCounts every request on the HTTP interface
poem_errors_countcounterhttp.request.method, url.full, [http.path_pattern], http.response.status_code, exception.messageCounts failed requests on the HTTP interface
poem_request_duration_mshistogramhttp.request.method, url.full, [http.path_pattern], http.response.status_code, exception.messageMeasures the duration of handling requests on the HTTP interface
api_success_secondshistogramapi, api_typeMeasures the duration of successfully serving API requests (both HTTP and gRPC)
api_failure_secondshistogramapi, api_typeMeasures the duration of failed API requests (both HTTP and gRPC)
grpc_api_active_streamsgaugeNumber of open incoming gRPC streams
http_api_active_streamsgaugeNumber of open incoming HTTP streams

Component Compilation Service

Component compilation service exposes the following Prometheus metrics:

MetricTypeLabelsDescription
cache_sizegaugecacheCurrent maximal capacity of the cache
cache_hit_totalcountercacheNumber of cache hits
cache_miss_totalcountercacheNumber of cache misses
cache_eviction_totalcountercache, triggerNumber of cache evictions
component_compilation_queue_lengthgaugeNumber of compilation requests enqueued
compilation_time_secondshistogramTime to compile a WASM component to native code

Shard Manager

Shard manager exposes the following Prometheus metrics:

MetricTypeLabelsDescription
api_success_secondshistogramapi, api_typeMeasures the duration of successfully serving API requests (both HTTP and gRPC)
api_failure_secondshistogramapi, api_typeMeasures the duration of failed API requests (both HTTP and gRPC)
grpc_api_active_streamsgaugeNumber of open incoming gRPC streams
http_api_active_streamsgaugeNumber of open incoming HTTP streams
external_call_success_secondshistogramtarget, opDuration of successful outgoing calls
external_call_response_size_byteshistogramtarget, opSize of the response of outgoing calls
external_call_retry_totalcountertarget, opNumber of failed outgoing calls that got retried
external_call_failure_totalcountertarget, opNumber of failed outgoing calls not to be retried
redis_success_secondshistogramsvc, api, cmdDuration of successful Redis calls
redis_failure_totalcountersvc, api, cmdNumber of failed Redis calls
redis_serialized_size_byteshistogramsvc, entitySize of serialized Redis entities
redis_deserialized_size_byteshistogramsvc, entitySize of deserialized Redis entities
shard_manager_is_leadergauge1 while this replica holds the etcd leadership lease, 0 while it stands by (distributed mode only)
shard_manager_leader_since_epochgaugeUnix seconds at which this replica was elected, 0 while it stands by (distributed mode only)
shard_manager_campaign_attempt_failures_totalcounterAttempts to reach etcd on the way to leadership that failed retriably and were retried (distributed mode only)

Worker Executor

Worker executors expose the following Prometheus metrics:

MetricTypeLabelsDescription
api_success_secondshistogramapi, api_typeMeasures the duration of successfully serving API requests (both HTTP and gRPC)
api_failure_secondshistogramapi, api_typeMeasures the duration of failed API requests (both HTTP and gRPC)
grpc_api_active_streamsgaugeNumber of open incoming gRPC streams
http_api_active_streamsgaugeNumber of open incoming HTTP streams
external_call_success_secondshistogramtarget, opDuration of successful outgoing calls
external_call_response_size_byteshistogramtarget, opSize of the response of outgoing calls
external_call_retry_totalcountertarget, opNumber of failed outgoing calls that got retried
external_call_failure_totalcountertarget, opNumber of failed outgoing calls not to be retried
redis_success_secondshistogramsvc, api, cmdDuration of successful Redis calls
redis_failure_totalcountersvc, api, cmdNumber of failed Redis calls
redis_serialized_size_byteshistogramsvc, entitySize of serialized Redis entities
redis_deserialized_size_byteshistogramsvc, entitySize of deserialized Redis entities
cache_sizegaugecacheCurrent maximal capacity of the cache
cache_hit_totalcountercacheNumber of cache hits
cache_miss_totalcountercacheNumber of cache misses
cache_eviction_totalcountercache, triggerNumber of cache evictions
compilation_time_secondshistogramTime to compile a WASM component to native code
event_totalcountereventNumber of events produced by workers
event_broadcast_totalcountereventNumber of events broadcasted by the executor
worker_executor_call_totalcounterapiNumber of calls to the worker layer
promises_count_totalcounterNumber of promises created
promises_scheduled_complete_totalcounterNumber of scheduled promise completions
assigned_shard_countgaugeNumber of assigned shards
stale_shard_delivery_totalcounterdeliveryShard deliveries dropped for naming a revision older than the last one applied; delivery is register, assign, revoke or renewal. One is normal when a push and a renewal cross; a sustained rate is not
create_worker_secondshistogramTime to create a new worker
create_worker_failure_totalcountererrorNumber of failed worker creations
invocation_totalcountermode, outcomeNumber of invocations
invocation_consumption_totalhistogramAmount of fuel consumed by an invocation
allocated_memory_byteshistogramAmount of memory allocated by a single memory.grow instruction
host_function_call_totalcounterinterface, nameNumber of calls to specific host functions
resume_worker_secondshistogramTime taken to resume a worker
replayed_functions_counthistogramNumber of functions replayed per forker resumption
oplog_svc_call_totalcounterapiNumber of calls to the oplog layer

Durable Stream Sessions

MetricTypeLabelsDescription
golem_durable_stream_lifecycle_totalcountereventRegistered and terminal durable stream transitions
golem_durable_stream_opengaugeOpen streams owned by loaded producers
golem_durable_stream_producer_operation_totalcounteroperation, outcomeProducer commits and replay no-ops
golem_durable_stream_catch_up_distance_eventshistogramCommitted events read before joining a live tail
golem_durable_stream_live_join_totalcounteroutcomeAccepted and rejected live-tail joins
golem_durable_stream_active_readersgaugeAttached live-tail readers
golem_durable_stream_backpressure_totalcounterFan-outs that waited on a full reader queue
golem_durable_stream_attempt_totalcounteroperation, outcomeStart, resume, and takeover attempts
golem_durable_stream_attachment_epochhistogramAccepted attachment epochs
golem_durable_stream_journal_lag_eventshistogramSource events not yet recorded in the value-only consumer journal
golem_durable_stream_attachment_operation_totalcounteroperation, outcomePrepare, activate, renew, and finalize attachment operations
golem_durable_stream_lease_remaining_secondshistogramLease headroom observed during attachment work
golem_durable_stream_reconciliation_totalcounteroutcomeReconciler decisions and failures
golem_durable_stream_cascade_totalcounteroutcomeDurable producer-deletion cascade outcomes
golem_durable_stream_limit_violation_totalcounterlimitRejections by bounded protocol-v1 limit category

For configuration, recovery, and deletion diagnostics, see Operating Durable Stream Sessions.

Filesystem Snapshots

MetricTypeLabelsDescription
filesystem_snapshot_capture_secondshistogramoutcomeTime that a capture of an agent filesystem, or a check of its initial files on an executor without filesystem snapshots, stops the file calls
filesystem_snapshot_upload_secondshistogramkind, outcomeTime of an upload of a filesystem snapshot, with its retries
filesystem_snapshot_uploaded_bytes_totalcounterkindFile sizes of the trees of the uploaded filesystem snapshots
filesystem_snapshot_uploads_in_progressgaugeRuns of uploads that hold a slot now
filesystem_snapshot_restore_secondshistogramoutcomeTime of a restore of a filesystem snapshot, with the wait for a restore slot and the retries
filesystem_snapshot_dropped_confirmations_totalcounterreasonUploaded filesystem snapshots that no confirmation record names
filesystem_snapshot_leaked_cleanups_totalcounteroperationClean-ups of filesystem snapshots that left snapshots in blob storage
filesystem_snapshot_cleanups_pendinggaugeAgents with clean-up work of filesystem snapshots that waits or runs
filesystem_snapshot_copy_secondshistogramoutcomeTime of a copy of the filesystem snapshots of a fork source
filesystem_snapshot_failed_space_reclaims_totalcounterDeletes of filesystem snapshots after which the release of unused storage failed

For the label values and what to watch, see Filesystem Snapshots.

Worker Service

Worker service exposes the following Prometheus metrics:

MetricTypeLabelsDescription
poem_request_countcounterhttp.request.method, url.full, [http.path_pattern], http.response.status_code, exception.messageCounts every request on the HTTP interface
poem_errors_countcounterhttp.request.method, url.full, [http.path_pattern], http.response.status_code, exception.messageCounts failed requests on the HTTP interface
poem_request_duration_mshistogramhttp.request.method, url.full, [http.path_pattern], http.response.status_code, exception.messageMeasures the duration of handling requests on the HTTP interface
api_success_secondshistogramapi, api_typeMeasures the duration of successfully serving API requests (both HTTP and gRPC)
api_failure_secondshistogramapi, api_typeMeasures the duration of failed API requests (both HTTP and gRPC)
grpc_api_active_streamsgaugeNumber of open incoming gRPC streams
http_api_active_streamsgaugeNumber of open incoming HTTP streams
external_call_success_secondshistogramtarget, opDuration of successful outgoing calls
external_call_response_size_byteshistogramtarget, opSize of the response of outgoing calls
external_call_retry_totalcountertarget, opNumber of failed outgoing calls that got retried
external_call_failure_totalcountertarget, opNumber of failed outgoing calls not to be retried
cache_sizegaugecacheCurrent maximal capacity of the cache
cache_hit_totalcountercacheNumber of cache hits
cache_miss_totalcountercacheNumber of cache misses
cache_eviction_totalcountercache, triggerNumber of cache evictions

For application-level observability with traces, logs, and metrics exported via OpenTelemetry, see the Observability page.