Real-time metrics, the moment they happen.
DataPulseStream ingests millions of events per second and makes them queryable in milliseconds — so your dashboards, alerts, and traces are never a step behind production.
npm i @datapulse/stream
Everything you need to watch production in real time.
Built by engineers who got tired of dashboards that lag a minute behind the incident. No batching delay, no sampling surprises — just the truth, as it streams in.
Ingest at any scale
Drop-in agents, native OpenTelemetry, and SDKs for every runtime. From one container to ten thousand pods — no config rewrite.
Query in milliseconds
A columnar engine purpose-built for time series. Slice billions of points across any dimension without watching a spinner.
Alerts that fire on the stream
Rules evaluate on the live pipeline, not a cron. Page the right person within a second of the spike — before customers feel it.
Engineer-first by design
Everything is an API. Version your dashboards, script your alerts, drop it all in CI. No clicking through onboarding wizards.
Three steps from emit to insight.
No collectors to babysit, no warehouse to provision. Point your services at one endpoint and start querying within minutes.
Emit
Your services push events over the SDK or any OTLP endpoint. One line of code, fire-and-forget.
Stream
We ingest, deduplicate, and index on the fly. No batching window, no warehouse load job standing between you and the data.
Observe
Query, chart, and alert on data that's milliseconds old. Build dashboards or wire it into your own tools.
Instrument in the language you already ship.
Typed SDKs, sensible defaults, and an HTTP API when you want raw control. Send your first event before your coffee's cold.
import { Pulse } from "@datapulse/stream"; const pulse = new Pulse({ apiKey: process.env.DPS_KEY }); pulse.emit("checkout.completed", { amount_cents: 4200, region: "eu-west-1", latency_ms: 38, });
from datapulse import Pulse pulse = Pulse(api_key=os.environ["DPS_KEY"]) pulse.emit("checkout.completed", { "amount_cents": 4200, "region": "eu-west-1", "latency_ms": 38, })
pulse := datapulse.New(os.Getenv("DPS_KEY")) pulse.Emit("checkout.completed", datapulse.Fields{ "amount_cents": 4200, "region": "eu-west-1", "latency_ms": 38, })
curl -X POST https://api.datapulsestream.com/v1/ingest \ -H "Authorization: Bearer $DPS_KEY" \ -d '{"event":"checkout.completed", "amount_cents":4200,"region":"eu-west-1"}'
Zero-config batching
The SDK buffers, compresses, and retries for you. Backpressure handled — your hot path stays fast.
Typed end to end
Schemas inferred from your events and enforced at query time. Catch a renamed field in CI, not at 3am.
OpenTelemetry native
Already on OTel? Point your exporter at our endpoint and keep your existing instrumentation.
Start streaming in under five minutes.
Create a key, send your first event, watch it land on a live chart. No credit card, no sales call — just you and your data.