Skip to main content

Monitoring

Spice can be monitored using the Spice Prometheus-compatible Metrics Endpoint. Monitoring clients configuration:

Spice Metrics Endpoint Configuration​

The metrics endpoint uses port 9090 by default. The metrics endpoint configuration is logged at startup.

2024-11-28T19:48:10.942003Z  INFO runtime::metrics_server: Spice Runtime Metrics listening on 127.0.0.1:9090

Pass the --metrics parameter to bind to a specific port. For example, to bind to port 9091:

 spiced --metrics 0.0.0.0:9091

or when using Docker:

FROM spiceai/spiceai:latest

# Docker configuration ...

# Configure the metrics endpoint on port 9090
CMD ["--metrics", "0.0.0.0:9090"]
EXPOSE 9090

Configuration of the metrics endpoint can be verified using a HTTP GET request, for example:

curl http://localhost:9090/metrics

# HELP runtime_flight_server_started Indicates the runtime Flight server has started.
# TYPE runtime_flight_server_started counter
runtime_flight_server_started 1
# HELP runtime_http_server_started Indicates the runtime HTTP server has started.
# TYPE runtime_http_server_started counter
runtime_http_server_started 1

# HELP dataset_load_state Status of the dataset. 1=Initializing, 2=Ready, 3=Disabled, 4=Error, 5=Refreshing.
# TYPE dataset_load_state gauge
dataset_load_state{dataset="taxi_trips"} 2
dataset_load_state{dataset="taxi_trips_accelerated"} 2

# HELP dataset_active_count Number of currently loaded datasets.
# TYPE dataset_active_count gauge
dataset_active_count{engine="None"} 1
dataset_active_count{engine="duckdb"} 1
...

Metrics​

MetricDescription
accelerated_ready_state_federated_fallback
(count)
Number of times the federated table was queried due to the accelerated table loading the initial data.
catalog_load_errors
(count)
Number of errors loading the catalog provider.
catalog_load_state
(gauge)
Status of the catalog provider. 1=Initializing, 2=Ready, 3=Disabled, 4=Error, 5=Refreshing.
dataset_acceleration_last_refresh_time_ms
(gauge)
Unix timestamp in seconds when the last refresh completed.
dataset_acceleration_refresh_duration_ms
(histogram)
Duration in milliseconds to load a full or appended refresh data.
dataset_acceleration_refresh_errors
(count)
Number of errors refreshing the dataset.
dataset_active_count
(gauge)
Number of currently loaded datasets.
dataset_load_state
(gauge)
Status of the dataset. 1=Initializing, 2=Ready, 3=Disabled, 4=Error, 5=Refreshing.
dataset_unavailable_time_ms
(gauge)
Time dataset went offline in milliseconds.
embeddings_active_count
(gauge)
Number of currently loaded embeddings.
embeddings_load_errors
(count)
Number of errors loading the embedding.
embeddings_load_state
(gauge)
Status of the embedding. 1=Initializing, 2=Ready, 3=Disabled, 4=Error, 5=Refreshing.
flight_request_duration_ms
(histogram)
Measures the duration of Flight requests in milliseconds.
flight_requests
(count)
Total number of Flight requests.
http_requests_duration_ms
(histogram)
Measures the duration of HTTP requests in milliseconds.
http_requests_total
(count)
Total number of HTTP requests.
llm_load_state
(gauge)
Status of the LLM model. 1=Initializing, 2=Ready, 3=Disabled, 4=Error, 5=Refreshing.
model_active_count
(gauge)
Number of currently loaded models.
model_load_duration_ms
(histogram)
Duration in milliseconds to load the model.
model_load_errors
(count)
Number of errors loading the model.
model_load_state
(gauge)
Status of the model. 1=Initializing, 2=Ready, 3=Disabled, 4=Error, 5=Refreshing.
query_duration_ms
(histogram)
The total amount of time spent planning and executing queries in milliseconds.
query_execution_duration_ms
(histogram)
The total amount of time spent only executing queries (0 for cached queries).
query_executions
(count)
Number of query executions.
query_failures
(count)
Number of query failures.
query_processed_bytes
(count)
Number of bytes processed by the runtime.
query_returned_bytes
(count)
Number of bytes returned to query clients.
results_cache_max_size_bytes
(gauge)
Maximum allowed size of the cache in bytes.
results_cache_requests
(count)
Number of requests to get a key from the cache.
results_cache_hits
(count)
Cache hit count.
results_cache_items_count
(gauge)
Number of items currently in the cache.
results_cache_size_bytes
(gauge)
Size of the cache in bytes.
runtime_flight_server_started
(count)
Indicates the runtime Flight server has started.
runtime_http_server_started
(count)
Indicates the runtime HTTP server has started.
secrets_store_load_duration_ms
(histogram)
Duration in milliseconds to load the secret stores.
tool_active_count
(gauge)
Number of currently loaded LLM tools.
tool_load_errors
(count)
Number of errors loading the LLM tool.
tool_load_state
(gauge)
Status of the LLM tools. 1=Initializing, 2=Ready, 3=Disabled, 4=Error, 5=Refreshing.
view_load_errors
(count)
Number of errors loading the view.
view_load_state
(gauge)
Status of the views. 1=Initializing, 2=Ready, 3=Disabled, 4=Error, 5=Refreshing.