Live dashboards
Push metrics, alerts, and data updates to clients in real time. No polling. No stale data.
The problem
Polling is a compromise. Every poll interval is a window where data is stale. Every poll request is a round-trip that returns nothing when there's nothing to return. At scale, polling creates unnecessary load on both your backend and your database.
The alternative:server-sent events or WebSockets:requires infrastructure. And if that infrastructure is billed per connection held open, idle connections waiting for the next data push become an unexpected cost.
How Celeris solves it
Push from your server the moment data changes. Subscribers receive it immediately:no poll interval, no staleness window. When nothing changes, no traffic flows. You're not paying for connections waiting around idle; you're paying for messages actually delivered.
Metered billing means cost scales with actual activity, not with how many dashboard users have the page open. A user with a dashboard tab open but no data updates costs connection minutes only, not per-message charges.
The dashboard test tool lets you verify delivery before writing frontend code. Open the dashboard, publish a test metric update, confirm it arrives in the metrics tab. Once you know delivery works, write the subscription code.
Subscribing to a metrics channel
const client = createClient({ credentialProvider });
const channel = client.channel("metrics-production");
const metrics = channel.segment("metrics");
metrics.onMessage((payload) => {
const update = readJson(payload);
updateChart(update.metric, update.value, update.timestamp);
});
metrics.subscribe();
await channel.connect();
Publish from your backend whenever a metric crosses a threshold, a job completes, or a system alert fires. All subscribers update immediately.
Relevant features
- Metered billing
per message delivered, not per connection held open - Dashboard testing
delivery from the Celeris dashboard before writing client code - Multi-region
and EU regions with global routing designed to reduce network delays - No polling
push means no staleness window and no unnecessary backend load