uplink stable/meteor 2 + 3/node 14 – 22/

We don’t just say it’s slow.
We show you the method, the publication,
the observer, and the query.

The only Meteor & Node APM that surfaces your LiveQuery driver mix and observer leaks in real time — alongside methods, publications, MongoDB, jobs, outbound HTTP, app logs, uptime, and status pages. One install. One dashboard. Zero sidecars.

Free forever plan · 30-second setup · 25k events/day · cancel anytime

diagnosis1 leaking observer in posts.byUser switch to the oplog driver.

A dashboard that answers questions

Methods, publications, queries, and uptime — together in one view. No more bouncing between tools when the pager goes off.

Everything you need to answer:
“What just broke?”

Methods & Publications

Avg, P95, error rates, and per-name time-series for every Meteor method and publication. First-class Meteor 2.x and 3.x async support.

Reactive ObservabilityNew

See your LiveQuery driver mix in real time — change_stream vs oplog vs polling — per collection, with reactive efficiency scoring nobody else surfaces.

Observer Leak DetectionNew

Catch growing observer counts, stale subscriptions, and orphaned multiplexers before they take down your app. The thing that bites everyone, finally observable.

MongoDB Insights

Slow query fingerprinting, per-collection P95, and live connection-pool tracking with wait-queue alerts. The full picture of your database — not just queries.

Background JobsNew

Auto-instruments sjobs and compatible queues. Job latency, error rates, and per-name trends alongside your method telemetry.

Outbound HTTPNew

Every fetch() and HTTP.call instrumented automatically. Find which third-party API is slowing your app — no manual spans required.

Application LogsNew

console.*, Meteor Log, and a structured addLog() API — searchable, level-filtered, and correlated with your traces. No second tool, no extra invoice.

Custom MetricsNew

A one-line API for your own timings: checkout flows, queue depth, anything. Same dashboards, same alerts, same retention.

Uptime + Status Pages

Multi-region HTTP(s) checks, branded status pages, and incident updates — sharing the same alerting backbone as your APM.

Smart Alerts

Email, Slack, webhook, and SMS with smart de-duplication. Get paged when it matters, not when it doesn’t.

Errors & Releases

Source-mapped stack traces, fingerprinted error grouping, and release tracking so you know which deploy regressed performance.

Drop-in SDK

A single Atmosphere package for Meteor and a tiny Node SDK. Install in 30 seconds — no agents, no sidecars.

Install in 30 seconds

A single package on the server, no agents or sidecars. Server APM and browser RUM share the same dashboard.

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.

1. Install
meteor add uptimeclarity:agent
2. settings.json
settings.json
{
  "private": {
    "uptimeClarity": {
      "serverKey": "uc_srv_xxxxxxxxxxxxxxxx"
    }
  },
  "public": {
    "uptimeClarity": {
      "clientKey": "uc_pub_xxxxxxxxxxxx",
      "appName": "my-app"
    }
  }
}
3. Server init
server/main.js
// 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,
  });
});
4. Client init (RUM)
client/main.js
// 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
    },
  });
});
5. Run with settings
meteor run --settings settings.json

From zero to insight in three steps

Install the SDK

Add the Atmosphere package or `npm i @uptimeclarity/sdk`. One line of config and you're live.

Add your monitors

Drop in your URLs and pick alert channels. Optional Meteor instrumentation activates automatically.

See answers, not graphs

Open the dashboard. Slow methods, hot collections, and failing checks surface immediately — no digging required.

Coming from Monti APM?

Built for Meteor 3 — with uptime, status pages, and RUM in the same dashboard

A respectful side-by-side, migration guide, and what each tool focuses on.

See the comparison

Simple, predictable pricing

Start free. Upgrade only when you outgrow it. No hidden fees, no surprise overage bills.

Free
$0
forever
  • 25K events / day
  • 7 day retention
  • 5 uptime monitors (5-min checks)
  • 1 status page
  • Up to 100 email alerts / month
  • Up to 100 webhook alerts / month
  • No credit card required
Start Free
Starter
$19
/month
  • 250K events / day
  • 14 day retention
  • 25 uptime monitors (1-min checks)
  • 5 status pages
  • 1,000 email + 1,000 webhook alerts / month
  • Slack alerts included
  • Up to 3 team members
Start 14-day Trial
Scale
$399
/month
  • 25M events / day
  • 90 day retention
  • 1,000 uptime monitors (30-sec checks)
  • 100 status pages
  • 500 SMS + 100K email + 100K webhook alerts / month
  • Pay-as-you-go after included quota
  • SSO / SAML
  • Dedicated Slack channel
  • Priority support & SLA
  • Unlimited team members
Start 14-day Trial

Frequently asked questions

Do I need to run an agent or sidecar?
No. Drop the package into your Meteor app or import the Node SDK and you're done. Telemetry streams over HTTPS — there's nothing to operate.
Which Meteor versions are supported?
UptimeClarity is tested against Meteor 2.x and 3.x, including Fibers and the modern async runtime. Node 14+ is supported via the SDK.
Will instrumentation slow my app down?
Overhead is negligible (under 1% in typical workloads). Sampling is automatic, payloads are batched, and the SDK never blocks your event loop.
Where is my data processed?
On a globally distributed, horizontally scaled platform engineered for low-latency ingestion. Data is encrypted in transit and at rest.
Is there a free plan?
Yes — 25,000 events/day forever, with 5 monitors, a status page, and 7-day retention. No credit card required. Upgrade only when you outgrow it.
Can I cancel anytime?
Absolutely. Plans are month-to-month and you can downgrade or cancel at any time from your dashboard.
Can I bring my own domain for status pages?
Yes. Pro and Scale plans support unlimited custom domains with automatic TLS via Cloudflare for SaaS.
Do you support SSO / SAML?
SSO and SAML are included on Scale plans. SCIM provisioning is available on request.
How is pricing calculated when I exceed my plan limits?
Free, Starter, and Scale tiers cap at their limits. Pro plans bill predictable pay-as-you-go overages for SMS, email, and webhook alerts at published rates.
Can I migrate from Monti APM (Kadira)?
Yes. We have a guided migration with a similar mental model — methods, publications, traces. See the comparison.

Stop guessing. Start knowing.

Join developers who ship with confidence. Free forever plan, no credit card required, set up in under a minute.