Method timings
Avg, P95, P99, error rate, and call-volume per method — searchable, sortable, and grouped by route.
Methods, publications, MongoDB, jobs, outbound HTTP, app logs — and the only APM that surfaces your LiveQuery driver mix and observer leaks in real time. Drop in one Atmosphere package and watch the slowest method on your app appear in 30 seconds.
DDP messages, observers, and ready time.
Avg, P95, P99, error rate, and call-volume per method — searchable, sortable, and grouped by route.
See which subscriptions are blocking the client. DDP message timing surfaced the moment users feel it.
Live LiveQuery driver mix per collection — change_stream vs oplog vs polling — with reactive efficiency scoring no other Meteor APM surfaces.
Catch growing observer counts, stale subscriptions, and orphaned multiplexers — the quiet killer of long-running Meteor servers.
Per-collection P95, slow-query fingerprints, and live connection-pool tracking with wait-queue alerts. Without enabling the profiler.
sjobs and compatible queues auto-instrumented. Job latency, error rates, and per-name trends in the same UI as your methods.
Every fetch() and HTTP.call instrumented automatically. Find the slow third-party API in seconds — no manual spans.
console.*, Meteor Log, and a structured addLog() API — searchable, level-filtered, and correlated with your traces.
Method → Mongo → external API spans, including Fibers and async/await. Find the slow span in seconds.
If your event loop stalls, every method is slow. We surface lag spikes alongside method timings so the cause is obvious.
Multi-region HTTP(s) checks. No second tool, no extra invoice — alerts share the same channels as your APM.
Branded incident pages with auto-updates, custom domains, and subscriber notifications.
First-class support for Fibers and the modern async runtime. Meteor 3 was a rewrite — your APM should be too.
One Atmosphere package, three lines of config — that's it.
Two keys, two scopes. The uc_srv_ server key stays on the server. The uc_pub_ public key is safe to ship to browsers — it only accepts RUM events from origins you allow-list.
meteor add uptimeclarity:agent{
"private": {
"uptimeClarity": {
"serverKey": "uc_srv_xxxxxxxxxxxxxxxx"
}
},
"public": {
"uptimeClarity": {
"clientKey": "uc_pub_xxxxxxxxxxxx",
"appName": "my-app"
}
}
}// server/main.js
import { Meteor } from 'meteor/meteor';
import { UptimeClarity } from 'meteor/uptimeclarity:agent';
Meteor.startup(() => {
UptimeClarity.start({
// private settings — never reach the browser
apiKey: Meteor.settings.private.uptimeClarity.serverKey,
appName: Meteor.settings.public.uptimeClarity.appName,
});
});// client/main.js
import { Meteor } from 'meteor/meteor';
import { UptimeClarity } from 'meteor/uptimeclarity:agent';
Meteor.startup(() => {
UptimeClarity.start({
// public settings — safe to ship to the browser
clientKey: Meteor.settings.public.uptimeClarity.clientKey,
rum: {
pageTiming: true, // navigation + paint timing (LCP, FCP, TTFB)
longTasks: true, // > 50ms main-thread blocks
blazeRender: true, // Blaze template render + layout timing
methods: true, // Meteor.call latency & errors
subscriptions: true, // pub/sub ready time + payload size
},
});
});meteor run --settings settings.jsonStart free. Most teams land on Pro for MongoDB insights and longer retention.
Join developers who ship with confidence. Free forever plan, no credit card required, set up in under a minute.