We received a critical performance alert:
Observer Leak: long lived stale
Observer on "users" has been active for 49.1h with only 0 updates/min.
This likely indicates a leaked subscription that was never stopped.
Metric: observer.long_lived_stale
Resource: users
We're on skysignal:agent@1.1.0, so the v1.0.20 auto-publish tagging (isAutoPublish, 72h vs 24h) should already be in effect. This observer fired at 49.1h, so the platform treated it as a named publication, not auto-publish.
In our app this is expected, not a leak:
- Logged-in sessions stay open for days (users leave a tab open).
- Several named, session-scoped publications observe
Meteor.users for the current user / org members (for example an app-root publication that reactively follows organizationId).
- Those user documents often don't change for a long time, so the observer is long-lived with
0 updates/min.
We don't want to rewrite these publications as name: null just to get the 72h exemption, and we don't want to drop Live Query monitoring.
Question: what is the supported way to silence this false positive?
Specifically:
- Can we exclude
observer.long_lived_stale for a collection (users) and/or named publications, while keeping the other leak heuristics (growing observer counts, orphaned observers)?
- Is there an agent or dashboard setting for this (allowlist, higher duration threshold, mute rule)? I couldn't find one in the agent config or docs.
- If this can only be done on the platform side today, is a publication/collection allowlist (or treating connection-scoped named pubs like auto-publish) something you'd consider?
Thanks!
We received a critical performance alert:
We're on
skysignal:agent@1.1.0, so the v1.0.20 auto-publish tagging (isAutoPublish, 72h vs 24h) should already be in effect. This observer fired at 49.1h, so the platform treated it as a named publication, not auto-publish.In our app this is expected, not a leak:
Meteor.usersfor the current user / org members (for example an app-root publication that reactively followsorganizationId).0 updates/min.We don't want to rewrite these publications as
name: nulljust to get the 72h exemption, and we don't want to drop Live Query monitoring.Question: what is the supported way to silence this false positive?
Specifically:
observer.long_lived_stalefor a collection (users) and/or named publications, while keeping the other leak heuristics (growingobserver counts,orphanedobservers)?Thanks!