Use OpenTelemetry at the edge
Applications, cloud services and infrastructure send vendor-neutral telemetry through the OpenTelemetry Collector or compatible exporters
OTLP · remote writePulsusDB receives logs, metrics, traces and profiles through OpenTelemetry, stores them in query-optimised ClickHouse® database models and exposes the PromQL, LogQL and TraceQL interfaces engineers already know
PulsusDB concentrates on the data path between the collectors and frontends you already run. Collection, storage layout, query compilation and database execution are designed as one system
Applications, cloud services and infrastructure send vendor-neutral telemetry through the OpenTelemetry Collector or compatible exporters
OTLP · remote writeLogs, metrics, spans and profiles use separate ordering keys, indexes, codecs and materialised views instead of a generic event table
Query-optimised schemasPromQL, LogQL and TraceQL expressions become typed plans before filters, joins and eligible aggregation are lowered into SQL
Language semantics retainedClickHouse prunes, scans and aggregates stored columns, then sends a reduced result back across the stateless database boundary
SQL pushdownUnified does not mean identical. Each telemetry signal keeps the shape, indexes and query surface that make it useful while sharing one operational database layer
Prometheus-compatible metrics with label-aware series resolution, compressed samples and automatic routing to the most efficient eligible rollup
Stream selection, word-indexed search and multi-stage pipelines over retained logs stored in a columnar model built for selective reads
Search spans through indexed resource and span attributes while ClickHouse performs parallel filtering and trace reconstruction across large datasets
Retain profiling telemetry beside logs, metrics and traces through the OpenTelemetry profiles ingestion path and compatible client APIs
The compiler resolves the signal model and time range, selects raw data or an eligible rollup, then pushes complex filters, joins, grouping and aggregation into the ClickHouse database. The stateless tier receives only the rows needed to finish the language semantics
Explore query compilation →histogram_quantile(0.99,
sum by (le, service) (
rate(http_request_duration_seconds_bucket[5m])
)
)SELECT service, le, sum(rate_value)
FROM metric_rollup_60s
PREWHERE metric_name = $metric
GROUP BY service, lePulsusDB adds observability protocols, signal-aware schemas and query compilers above a database engine designed for fast analytical queries, sustained ingestion and horizontal growth
Read only the fields required by the query and process values in vectorised batches
Use Delta, DoubleDelta, Gorilla and general codecs where each telemetry column benefits
Order signal tables around their common time, identity and attribute access patterns
Pre-aggregate metric windows, then route eligible range queries to the most efficient resolution
Shard data and execute partial work in parallel while distributed tables combine the result
Move older parts to lower-cost object storage while the same ClickHouse tables remain queryable
See how data models, compression, indexes, rollups and distributed execution fit together
Explore the architecture →Start with a single PulsusDB process, then separate reader and writer workloads as demand grows. PulsusDB instances can be restarted, replicated and load-balanced because durable telemetry and distributed execution remain in the ClickHouse database tier
Connect cloud and application telemetry through OpenTelemetry, then use Grafana® software, Perses and compatible API clients without replacing the query languages your teams know