See which model call or tool dominates the request
Use TraceQL to isolate slow model invocations, agent steps and downstream service calls in detailed traces
Store OpenTelemetry spans, metrics and logs from model calls and agent workflows beside the services, databases and infrastructure they depend on. Query the result on a ClickHouse® database backend
PulsusDB keeps the collection and query surfaces open. The ClickHouse database handles high-volume storage and analytical execution while the signal-specific query language preserves the workflow your team already knows
Use TraceQL to isolate slow model invocations, agent steps and downstream service calls in detailed traces
Aggregate OpenTelemetry GenAI measurements by model, provider, operation and service using PromQL
Search structured logs and traces from the agent, model gateway, vector store and application service in the same platform
PulsusDB compiles familiar observability queries into efficient database work, pushes filters and aggregation toward the ClickHouse database tier and returns only the result needed by the client
sum by (gen_ai_request_model) (
rate(gen_ai_client_token_usage_total[5m])
) Compare token volume by requested model using standard metric queries
{service_name="support-agent",
deployment_environment="production"}
| json
| event="tool_error" Search structured agent logs without sending them to a separate AI-specific store
{ span.gen_ai.system = "openai"
&& duration > 2s } Find slow model invocations and retain the surrounding application trace
Metrics, logs, traces and profiles do not have the same read path. PulsusDB gives each one a purpose-built physical model, then exposes a consistent OpenTelemetry ingest layer and familiar query APIs above it
Explore the architecture →Ordering keys, indexes, codecs and projections follow the dominant query shape for each signal
Scale ingest and query processes independently while durable state remains in the database tier
Compression, materialised rollups and object storage tiering reduce the cost of detailed operational history
Use OpenTelemetry for ingest and PromQL, LogQL or TraceQL for investigation
Start with the workload in front of you, then add the rest of the estate without adding another observability backend