🔬 SquirrelDB Time Series Database exposed Prometheus Metrics
SquirrelDB exposes Prometheus metrics on /metrics.
API​
| Metric name | Description | 
|---|---|
| squirreldb_api_requests_seconds | Total processing time in seconds (including sending response to client) | 
Batch​
Batch keeps recent points in fast storage for efficient access and is in charge of writing batch of metrics to Cassandra.
| Metric name | Description | 
|---|---|
| squirreldb_batch_background_seconds | Total background processing time in seconds | 
| squirreldb_batch_conflict_write_memorystore_total | Total number of write conflicts during purge of old points in the memory store | 
| squirreldb_batch_duplicated_points_total | Total duplicated points eliminated by batcher during write request | 
| squirreldb_batch_new_points_during_tsdb_write_total | Total number of points arrived during TSDB write (which required a 2nd write in memory store) | 
| squirreldb_batch_non_owner_write_total | Total number of metrics written to TSDB by a SquirrelDB not owner of the metric | 
| squirreldb_batch_requests_seconds | Total processing time in seconds | 
| squirreldb_batch_transfer_owner_total | Total number of metrics whose ownership was transferred to another SquirrelDB. | 
Cluster​
Cluster is the component in charge of the communication between SquirrelDBs in a cluster.
| Metric name | Description | 
|---|---|
| squirreldb_cluster_message_processing_seconds | Total processing time spent to send/receive messages | 
Index​
The index provides efficient indexing of metrics by their labels.
| Metric name | Description | 
|---|---|
| squirreldb_index_cache_access_total | Total number of access of each cache | 
| squirreldb_index_cache_size | Total number of entries in the in-memory cache | 
| squirreldb_index_cassandra_queries_seconds | Total processing time spent in Cassandra in seconds | 
| squirreldb_index_create_seconds | Total metric creation time in seconds (excluding time to take the lock) | 
| squirreldb_index_expire_conflict_total | Total number of conflicts in expiration updates | 
| squirreldb_index_expire_ghost_metrics_total | Total number of "ghost" metrics deleted by the expiration task (partially created metrics) | 
| squirreldb_index_expire_lock_seconds | Total processing time with the new-metric lock held by the task in seconds. This is a global lock across all SquirrelDB. | 
| squirreldb_index_expire_metrics_delete_total | Total number of metrics deleted by the expiration task | 
| squirreldb_index_expire_metrics_total | Total number of metrics processed by the expiration task (deleted or not) | 
| squirreldb_index_expire_move_seconds | Total processing time to move metrics ID from one expiration list to another in seconds | 
| squirreldb_index_expire_seconds | Total processing time of the expiration task in seconds | 
| squirreldb_index_lookup_id_concurrent_new_total | Total number of concurrent creation of the same metric | 
| squirreldb_index_lookup_id_new_total | Total number of metrics created | 
| squirreldb_index_lookup_id_refresh_total | Total lookup for metric ID that caused a refresh of TTL | 
| squirreldb_index_lookup_id_request_seconds | Total lookup request for metric IDs (from labels) time in seconds | 
| squirreldb_index_lookup_labels_seconds | Total lookup for labels (from ID) time in seconds | 
| squirreldb_index_search_metrics_seconds | Total time spent searching for metrics (from labels selector) | 
| squirreldb_index_search_metrics_total | Total number of metrics matching a search from labels selector | 
| squirreldb_index_update_postings_seconds | Total postings updates time in seconds (including time to take the lock) | 
Locks​
Locks is a component in charge of acquiring locks to prevent data races.
| Metric name | Description | 
|---|---|
| squirreldb_locks_cassandra_queries_seconds | Total processing time spent in Cassandra in seconds | 
| squirreldb_locks_lock_pending | Number of goroutine trying to acquire a lock | 
| squirreldb_locks_lock_seconds | Total time spent to acquire a lock (including waiting time) in seconds | 
| squirreldb_locks_lock_success_total | Total number of successfully acquired locks | 
| squirreldb_locks_unlock_seconds | Total time spent to release a lock in seconds | 
Mutable labels​
Mutable labels metrics.
| Metric name | Description | 
|---|---|
| squirreldb_mutable_cache_access_total | Total number of access to the cache | 
| squirreldb_mutable_cache_size | Number of entries stored in the cache | 
PromQL​
PromQL query metrics.
| Metric name | Description | 
|---|---|
| squirreldb_queryable_cached_points_total | Total points read from cache. The cache only work within the same PromQL query | 
| squirreldb_queryable_requests_points | Total points processed by PromQL queries | 
| squirreldb_queryable_series_evaluated | Total series evaluated by PromQL queries | 
Redis​
SquirrelDB uses Redis for short term storage.
| Metric name | Description | 
|---|---|
| squirreldb_redis_operations_points_total | Total points processed by Redis operation | 
| squirreldb_redis_operations_seconds | Total processing time of Redis operations in seconds | 
Remote write​
Prometheus remote write metrics.
| Metric name | Description | 
|---|---|
| squirreldb_remote_storage_write_requests_points | Total number of points written | 
TSDB​
The TSDB provides long term storage using Cassandra.
| Metric name | Description | 
|---|---|
| squirreldb_tsdb_aggregated_until_seconds | Most recent timestamp for which all shard are aggregated | 
| squirreldb_tsdb_aggregation_seconds | Total processing time spent for aggregating each shard | 
| squirreldb_tsdb_cassandra_queries_seconds | Total processing time spent in Cassandra itself in seconds | 
| squirreldb_tsdb_requests_points_total | Total points processed by persistent TSDB | 
| squirreldb_tsdb_requests_seconds | Total processing time in seconds | 
Go​
Metrics are exposed by the Go Prometheus collector.
| Metric name | Description | 
|---|---|
| go_goroutines | Number of goroutines that currently exist | 
| go_info | Information about the Go environment | 
| go_memstats_alloc_bytes | Number of bytes allocated and still in use | 
| go_memstats_heap_alloc_bytes | Number of heap bytes allocated and still in use | 
| go_memstats_sys_bytes | Number of bytes obtained from system | 
| go_threads | Number of OS threads created | 
Process​
Metrics are exposed by the Prometheus process collector.
| Metric name | Description | 
|---|---|
| process_cpu_seconds_total | Total user and system CPU time spent in seconds | 
| process_max_fds | Maximum number of open file descriptors | 
| process_open_fds | Number of open file descriptors | 
| process_resident_memory_bytes | Resident memory size in bytes | 
| process_start_time_seconds | Start time of the process since unix epoch in seconds | 
| process_virtual_memory_bytes | Virtual memory size in bytes | 
| process_virtual_memory_max_bytes | Maximum amount of virtual memory available in bytes |