MODEL TO INFRASTRUCTURE

AI and LLM monitoring
Without a telemetry silo

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

ai-llm.observabilityOTEL IN · OPEN QUERIES OUT
AI APPLICATION GenAI instrumentationAgent frameworksModel gatewaysApplication services
STATELESS PULSUSDB
Ingest APIsnormalise · batch · route
Query compilersPromQL · LogQL · TraceQL
STATEFUL DATABASE ClickHouse® database signal-aware schemas
rollups · tiering · scale
Complex work is pushed down to the dataReduced results return
01Model call traces02Token metrics03Agent logs04Service telemetry
What this lets you investigate

Keep the operational question
Close to the data

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

01 / LATENCY

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

02 / USAGE

Track tokens and model traffic with metrics

Aggregate OpenTelemetry GenAI measurements by model, provider, operation and service using PromQL

03 / FAILURES

Keep agent errors connected to the real stack

Search structured logs and traces from the agent, model gateway, vector store and application service in the same platform

Three signals Three query languages

Ask the question
In its native language

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

PromQL01 / TOKEN RATE
sum by (gen_ai_request_model) (
  rate(gen_ai_client_token_usage_total[5m])
)

Compare token volume by requested model using standard metric queries

LogQL02 / TOOL FAILURES
{service_name="support-agent",
 deployment_environment="production"}
| json
| event="tool_error"

Search structured agent logs without sending them to a separate AI-specific store

TraceQL03 / SLOW MODEL CALLS
{ span.gen_ai.system = "openai"
  && duration > 2s }

Find slow model invocations and retain the surrounding application trace

One architecture underneath

Optimised for the signal
Unified at the platform

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 →
01

Signal-specific models

Ordering keys, indexes, codecs and projections follow the dominant query shape for each signal

02

Stateless application tier

Scale ingest and query processes independently while durable state remains in the database tier

03

Efficient long retention

Compression, materialised rollups and object storage tiering reduce the cost of detailed operational history

04

Open client workflows

Use OpenTelemetry for ingest and PromQL, LogQL or TraceQL for investigation

OPEN SOURCE · AGPLV3

Bring the telemetry
Keep the query language

Start with the workload in front of you, then add the rest of the estate without adding another observability backend

View on GitHub ↗Read the documentation