Metrics Reference
FrogDB exports Prometheus metrics on the HTTP endpoint (default port 9090) at /metrics. Enable it with http.enabled = true in configuration. Every table below is generated from frogdb_telemetry::ALL_METRICS, the same typed registry the server uses to render the endpoint, so it cannot list a metric the binary doesn’t actually export.
System
Section titled “System”| Metric | Type | Labels | Description |
|---|---|---|---|
frogdb_cpu_system_seconds_total | gauge | — | Cumulative system CPU time in seconds (monotonic; sampled from getrusage) |
frogdb_cpu_user_seconds_total | gauge | — | Cumulative user CPU time in seconds (monotonic; sampled from getrusage) |
frogdb_info | gauge | versionmode | Server information (constant 1, labeled with version and mode) |
frogdb_task_dropped_count | gauge | task | Number of instrumented tasks dropped in the last interval |
frogdb_task_instrumented_count | gauge | task | Number of tasks instrumented by this monitor in the last interval |
frogdb_task_mean_poll_duration_seconds | gauge | task | Mean task poll duration in seconds over the last interval |
frogdb_task_total_idle_duration_seconds | gauge | task | Total time tasks spent idle in seconds over the last interval |
frogdb_task_total_poll_duration_seconds | gauge | task | Total task poll duration in seconds over the last interval |
frogdb_task_total_scheduled_duration_seconds | gauge | task | Total time tasks spent scheduled (runnable but waiting) in seconds over the last interval |
frogdb_uptime_seconds | gauge | — | Server uptime in seconds |
Connections
Section titled “Connections”| Metric | Type | Labels | Description |
|---|---|---|---|
frogdb_connections_current | gauge | — | Current number of connected clients |
frogdb_connections_max | gauge | — | Maximum configured connections |
frogdb_connections_rejected_total | counter | reason: maxclients, auth_required, shutdown | Total rejected connections |
frogdb_connections_total | counter | — | Total connections accepted |
frogdb_tls_handshake_errors_total | counter | reason: handshake_error, timeout | Total TLS handshake failures |
Commands
Section titled “Commands”| Metric | Type | Labels | Description |
|---|---|---|---|
frogdb_commands_duration_seconds | histogram | command | Command execution duration in seconds |
frogdb_commands_errors_total | counter | commanderror | Total command errors |
frogdb_commands_total | counter | command | Total commands executed |
Keyspace
Section titled “Keyspace”| Metric | Type | Labels | Description |
|---|---|---|---|
frogdb_fields_expired_total | counter | shard | Total hash fields expired |
frogdb_keys_expired_total | counter | shard | Total keys expired |
frogdb_keys_total | gauge | shard | Number of keys per shard |
frogdb_keys_with_expiry | gauge | shard | Number of keys with expiry set per shard |
frogdb_keyspace_hits_total | counter | — | Total keyspace cache hits |
frogdb_keyspace_misses_total | counter | — | Total keyspace cache misses |
frogdb_keyspace_notifications_dropped_total | counter | shard | Total keyspace notifications dropped (coordinator channel full) |
Shards
Section titled “Shards”| Metric | Type | Labels | Description |
|---|---|---|---|
frogdb_shard_keys | gauge | shard | Number of keys per shard |
frogdb_shard_memory_bytes | gauge | shard | Memory usage per shard in bytes |
frogdb_shard_queue_depth | gauge | shard | Queue depth per shard |
frogdb_shard_queue_latency_seconds | histogram | shard | Shard queue latency in seconds |
Persistence
Section titled “Persistence”| Metric | Type | Labels | Description |
|---|---|---|---|
frogdb_flush_compact_completed_total | counter | shard | reclamation passes still running or a stuck compaction. |
frogdb_flush_compact_started_total | counter | shard | same shard/tier does not increment this. |
frogdb_persistence_errors_total | counter | error_type: wal_write, wal_sync, snapshot, recovery | Total persistence errors |
frogdb_snapshot_duration_seconds | histogram | — | Snapshot duration in seconds |
frogdb_snapshot_epoch | gauge | — | Monotonic epoch of the most recent snapshot attempt |
frogdb_snapshot_in_progress | gauge | — | Whether a snapshot is currently in progress |
frogdb_snapshot_last_timestamp | gauge | — | Timestamp of last successful snapshot (unix seconds) |
frogdb_snapshot_size_bytes | gauge | — | Snapshot size in bytes |
frogdb_wal_bytes_total | counter | shard | Total WAL bytes written |
frogdb_wal_durability_lag_ms | gauge | shard | WAL durability lag in milliseconds |
frogdb_wal_flush_duration_seconds | histogram | shard | WAL flush duration in seconds |
frogdb_wal_flush_failures_total | counter | shard | Total failed WAL flush attempts |
frogdb_wal_last_flush_ok | gauge | shard | Whether the most recent WAL flush attempt succeeded (1 = ok) |
frogdb_wal_last_flush_timestamp | gauge | shard | Timestamp of last WAL flush (unix milliseconds) |
frogdb_wal_lost_bytes_total | counter | shard | Total estimated bytes dropped in failed WAL flushes |
frogdb_wal_lost_ops_total | counter | shard | Total WAL entries dropped in failed flushes (permanent losses) |
frogdb_wal_merge_operands_total | counter | — | full value Put). |
frogdb_wal_pending_bytes | gauge | shard | Number of pending WAL bytes |
frogdb_wal_pending_ops | gauge | shard | Number of pending WAL operations |
frogdb_wal_rollbacks_total | counter | — | Total store mutations rolled back after a WAL append failure |
frogdb_wal_writes_total | counter | shard | Total WAL writes |
Pub/Sub
Section titled “Pub/Sub”| Metric | Type | Labels | Description |
|---|---|---|---|
frogdb_pubsub_channels | gauge | shard | Number of active pub/sub channels per shard |
frogdb_pubsub_messages_total | counter | shard | Total pub/sub messages published |
frogdb_pubsub_patterns | gauge | shard | Number of active pub/sub patterns per shard |
frogdb_pubsub_shard_limit_warnings_total | counter | resource: total_subscriptions, unique_channels, unique_patterns | Total warnings for pub/sub resources approaching per-shard limits |
frogdb_pubsub_subscribers | gauge | shard | Total pub/sub subscribers per shard |
Memory / Eviction
Section titled “Memory / Eviction”| Metric | Type | Labels | Description |
|---|---|---|---|
frogdb_eviction_bytes_total | counter | shard | Total bytes evicted |
frogdb_eviction_keys_total | counter | shardpolicy | Total keys evicted |
frogdb_eviction_oom_total | counter | shard | Total out-of-memory rejections |
frogdb_eviction_samples_total | counter | shardpolicy | Total keys sampled by the eviction policy |
frogdb_memory_fragmentation_ratio | gauge | — | Memory fragmentation ratio (RSS / used) |
frogdb_memory_maxmemory_bytes | gauge | — | Maximum memory limit in bytes |
frogdb_memory_peak_bytes | gauge | shard | Peak memory usage in bytes per shard |
frogdb_memory_rss_bytes | gauge | — | Resident set size memory in bytes |
frogdb_memory_used_bytes | gauge | shard | Currently used memory in bytes per shard |
frogdb_tiered_bytes_spilled_total | counter | shard | Total bytes freed by spilling keys to the cold tier |
frogdb_tiered_spills_total | counter | shardpolicy | Total keys spilled to the cold tier instead of evicted |
Blocking
Section titled “Blocking”| Metric | Type | Labels | Description |
|---|---|---|---|
frogdb_blocked_clients | gauge | shard | Number of currently blocked clients per shard |
frogdb_blocked_keys | gauge | shard | Number of keys being watched for blocking per shard |
frogdb_blocked_migration_moved_total | counter | shard | Total blocked clients redirected with -MOVED after slot migration |
frogdb_blocked_satisfied_total | counter | shard | Total blocking commands satisfied |
frogdb_blocked_timeout_total | counter | shard | Total blocking commands timed out |
Lua Scripting
Section titled “Lua Scripting”| Metric | Type | Labels | Description |
|---|---|---|---|
frogdb_lua_scripts_cache_hits_total | counter | shard | Total Lua script cache hits |
frogdb_lua_scripts_cache_misses_total | counter | shard | Total Lua script cache misses |
frogdb_lua_scripts_duration_seconds | histogram | shardkind: eval, evalsha | Lua script execution duration in seconds |
frogdb_lua_scripts_errors_total | counter | sharderror: not_available, execution, noscript | Total Lua script errors |
frogdb_lua_scripts_total | counter | shardkind: eval, evalsha | Total Lua scripts executed |
Transactions
Section titled “Transactions”| Metric | Type | Labels | Description |
|---|---|---|---|
frogdb_transactions_duration_seconds | histogram | outcome | Transaction duration in seconds |
frogdb_transactions_queued_commands | histogram | outcome | Number of queued commands in transactions |
frogdb_transactions_total | counter | outcome | Total transactions by outcome |
Scatter-Gather
Section titled “Scatter-Gather”| Metric | Type | Labels | Description |
|---|---|---|---|
frogdb_scatter_gather_duration_seconds | histogram | command | Scatter-gather operation duration in seconds |
frogdb_scatter_gather_shards | histogram | command | Number of shards involved in scatter-gather |
frogdb_scatter_gather_total | counter | commandstatus | Total scatter-gather operations |
Split-Brain
Section titled “Split-Brain”| Metric | Type | Labels | Description |
|---|---|---|---|
frogdb_split_brain_events_total | counter | — | Total split-brain events detected |
frogdb_split_brain_ops_discarded_total | counter | — | Total operations discarded during split-brain recovery |
frogdb_split_brain_recovery_pending | gauge | — | Whether an unprocessed split-brain log file exists (1 = yes, 0 = no) |
Latency
Section titled “Latency”| Metric | Type | Labels | Description |
|---|---|---|---|
frogdb_latency_band_requests_total | gauge | le | from the band tracker at scrape time |
Version / Rolling Upgrade
Section titled “Version / Rolling Upgrade”| Metric | Type | Labels | Description |
|---|---|---|---|
frogdb_active_version | gauge | version | Current active (finalized) version (info gauge, always 1) |
frogdb_binary_version | gauge | version | Binary version of this node (info gauge, always 1) |
frogdb_cluster_mixed_version | gauge | — | Whether nodes report different binary versions (1 = mixed, 0 = uniform) |
frogdb_version_gate_active | gauge | gate | Whether a specific version gate is active (1) or suppressed (0) |
See also
Section titled “See also” Observability OTLP export, tracing, DTrace probes
Diagnostics Slowlog, LATENCY tooling, hot-key detection, server status, and the debug web UI