Meteor APM: Real-Time Performance Monitoring for Meteor.js
SkySignal is purpose-built Application Performance Monitoring for Meteor.js. We trace Methods and publications the way Meteor actually runs them — so you see what generic APMs miss.
What is Meteor APM?
Application Performance Monitoring for Meteor.js is fundamentally different from APM for a generic Node.js or Express app. Meteor doesn't just serve HTTP — it runs DDP over WebSockets, maintains server-side reactive cursors via oplog or change streams, dispatches Methods with an implicit per-connection queue, and multiplexes publications across thousands of clients.
A Meteor APM has to speak all of that. It needs to trace a Method call through its Mongo operations, show you how many subscriptions are fanning out the same cursor, flag observers that outlive their client, and separate real leaks from normal autopublish behavior. That requires instrumentation that hooks into Meteor's own primitives — not just http.get timings.
Why standard APMs fall short for Meteor
Generic Node.js APM tools see every HTTP request your app handles — but Meteor apps don't live in HTTP. They live in DDP. The expensive request in a Meteor app usually isn't a REST endpoint; it's a subscription firing a MongoDB cursor that streams updates over a WebSocket for the next 40 minutes. A generic APM reports that as one long ws/ event and stops there.
Observer leaks are the same story. In Meteor, a forgotten subscription keeps a Mongo cursor alive and re-runs its handler on every matching write — silently pinning CPU and RAM. Generic APMs can't detect this because there's no request-per-leak to attribute it to. You need a tool that understands the observer lifecycle.
The same gap exists for Meteor Methods (no URL path, no stack from Express middleware), publication fan-out (one cursor, many clients), and the async-ification of Meteor 3 (Promise chains that generic tracers walk past).
How SkySignal works
Six differentiators no generic APM can match
Method tracing that understands async
Every Meteor Method call is traced with arguments, timings, and error stacks — including Promise chains and awaited MongoDB calls. Meteor 3's fully-async runtime means traces finally tell the whole story.
DDP & subscription telemetry
See document counts, fan-out, payload size, and response time for every publication. Spot the subscriptions that dominate server load before they hit your users.
Observer leak detection
A seven-signal confidence score flags observers that never stop — the #1 silent killer of Meteor apps. We distinguish real leaks from autopublish long-lifespan observers so you chase the right ones.
MongoDB insights & COLLSCAN flagging
Slow queries, collection scans, and multi-stage aggregation pipelines are captured with explain output. Missing indexes show up with Astra-generated fix suggestions.
AI-driven diagnostics via Astra
Astra reads your traces, flags N+1 patterns, proposes index changes, and can open a pull request against your repo. It's APM that moves from dashboards to fixes.
Error tracking with source maps
Captured errors include full stack traces resolved through source maps, grouped into patterns, and correlated with the method or publication that threw them.
Switching from MontiAPM?
You're not starting from zero. Our migration guide walks through agent swap, data mapping, and the features that behave differently — so you keep your muscle memory.
See the MontiAPM comparisonFrequently asked questions
What is Meteor APM?
Meteor APM (Application Performance Monitoring) is a category of tooling that instruments Meteor.js applications to measure the performance of Meteor Methods, DDP subscriptions, MongoDB queries, and the Node.js runtime. A good Meteor APM surfaces slow code paths, observer leaks, and error patterns that generic APMs miss because they don't understand Meteor's reactive primitives.
Is SkySignal compatible with Meteor 3?
Yes — and exclusively. SkySignal is purpose-built for Meteor 3.x with first-class support for async/await Methods, Promise-based publications, and the modernized Mongo driver. Meteor 2.x apps are not supported; if you're still on 2.x, finish the upgrade to Meteor 3 first.
How is this different from MontiAPM?
SkySignal is a modern rewrite focused on Meteor 3 async internals, observer-leak detection with confidence scoring, COLLSCAN flagging on MongoDB queries, publication-efficiency analysis, and AI-driven root-cause suggestions via our Astra agent. MontiAPM is the established option; SkySignal is the modern alternative — see our full comparison on the /vs/montiapm page.
Does it support Meteor Galaxy?
Yes. The SkySignal agent is an Atmosphere package installed with `meteor add skysignal:agent` and works identically whether you deploy to Meteor Galaxy, a self-hosted VPS, Kubernetes, or any other Node-compatible environment.
How long does setup take?
About five minutes. Run `meteor add skysignal:agent`, add your site's API key to Meteor settings, and redeploy. Metrics begin streaming immediately.
Does it work with self-hosted Meteor?
Yes. The agent is a drop-in Atmosphere package with no platform coupling. It ingests over HTTPS and works behind reverse proxies and in containerized environments.
Start monitoring your Meteor app in five minutes
Run one meteor add command. No infrastructure. No credit card.