SnapOtter and GitHub
e1b8c24e5d
feat(analytics): instance census, full capture, richer error context ( #511 )
...
Add a once-per-boot instance_started event (arch, os, deploy_mode,
gpu_present) so the fleet architecture mix is measurable. It reuses the
existing per-instance instance_id and is exempt from the volume sample
rate, since a census that fires once per boot must not be thinned.
Restore useful capture depth now that the sponsored plan removes the
quota pressure behind the earlier hardening:
- PostHog sample rate 0.1 to 1.0 (full analytics when enabled); the
property allowlist still blocks file data.
- Sentry per-instance ceiling 20 to 500/hr, breadcrumb trail restored
(sanitized: urls/paths redacted, data payloads dropped), full stack
paths kept; local vars, request bodies, and PII still dropped. Both
api and web.
Honor ANALYTICS_ENABLED=false as an opt-out alias: it was documented on
the Docker Hub README but never wired in 2.x, so anyone who set it was
still tracked.
All capture stays behind the analytics opt-out gate.
2026-07-13 14:23:16 +08:00
..
2026-07-10 21:41:49 +08:00
2026-06-29 22:06:24 +08:00
2026-07-07 12:18:28 +08:00
2026-06-29 22:06:24 +08:00
2026-05-13 14:18:49 +08:00
2026-06-14 16:50:35 +08:00
2026-07-13 14:23:16 +08:00
2026-07-13 14:23:16 +08:00
2026-06-28 18:57:53 +08:00
2026-07-13 14:23:16 +08:00
2026-07-11 19:53:00 +08:00
2026-06-13 10:15:23 +08:00
2026-06-29 17:54:12 +08:00
2026-05-09 09:02:29 +08:00
2026-07-11 19:53:00 +08:00
2026-06-13 10:19:00 +08:00
2026-07-01 12:32:33 +08:00
2026-06-13 10:19:06 +08:00
2026-06-14 16:50:35 +08:00
2026-05-09 09:02:29 +08:00
2026-06-14 16:50:35 +08:00
2026-06-13 10:15:23 +08:00
2026-06-13 10:15:23 +08:00
2026-06-14 16:50:35 +08:00
2026-07-10 21:41:49 +08:00
2026-06-13 10:15:23 +08:00
2026-06-20 23:35:37 +08:00
2026-05-09 07:35:27 +08:00
2026-06-13 10:19:47 +08:00
2026-06-13 10:15:23 +08:00
2026-06-20 05:07:46 +08:00
2026-06-20 05:07:46 +08:00
2026-06-20 05:07:46 +08:00
2026-06-20 04:20:17 +08:00
2026-06-15 12:53:06 +08:00
2026-07-11 16:18:26 +08:00
2026-06-14 16:50:35 +08:00
2026-07-04 05:46:52 +00:00
2026-07-13 14:23:16 +08:00
2026-06-28 21:49:14 +08:00
2026-06-29 22:06:24 +08:00
2026-06-13 17:07:39 +08:00
2026-06-14 16:50:35 +08:00
2026-06-15 12:53:06 +08:00
2026-06-14 14:53:44 +08:00
2026-07-11 16:18:26 +08:00
2026-07-03 09:54:02 +08:00
2026-06-13 10:36:01 +08:00
2026-06-20 04:20:17 +08:00
2026-06-29 17:54:12 +08:00
2026-05-09 09:02:29 +08:00
2026-06-06 19:37:29 +08:00
2026-07-10 21:41:49 +08:00
2026-06-16 18:04:48 +08:00
2026-06-13 10:15:23 +08:00
2026-06-22 09:54:04 +08:00
2026-06-20 04:20:17 +08:00
2026-06-28 18:57:53 +08:00
2026-07-10 07:32:48 +00:00
2026-06-20 23:35:37 +08:00
2026-06-15 22:26:24 +08:00
2026-06-15 12:53:06 +08:00
2026-06-20 05:07:46 +08:00
2026-05-08 16:01:46 +08:00
2026-06-13 22:49:00 +08:00
2026-07-07 12:18:28 +08:00
2026-06-13 10:17:13 +08:00
2026-07-11 13:01:55 +08:00
2026-06-20 04:20:17 +08:00
2026-04-23 17:12:02 +08:00
2026-06-13 10:18:55 +08:00
2026-06-20 05:07:46 +08:00
2026-06-13 10:15:23 +08:00
2026-06-29 17:54:12 +08:00
2026-06-13 10:17:13 +08:00
2026-06-13 10:17:13 +08:00
2026-06-13 10:17:13 +08:00
2026-06-13 17:07:39 +08:00
2026-07-10 21:41:49 +08:00
2026-06-29 17:54:12 +08:00
2026-07-13 14:23:16 +08:00
2026-06-14 16:50:35 +08:00
2026-06-13 10:15:23 +08:00
2026-06-15 12:53:06 +08:00
2026-07-10 21:41:49 +08:00
2026-06-14 16:50:35 +08:00
2026-07-10 21:41:49 +08:00
2026-06-29 17:54:12 +08:00
2026-07-03 19:32:25 +08:00
2026-06-14 16:50:35 +08:00
2026-06-22 16:58:59 +08:00
2026-06-13 10:19:47 +08:00
2026-05-09 07:35:27 +08:00
2026-07-13 14:23:16 +08:00
2026-05-09 09:02:29 +08:00
2026-05-09 07:35:27 +08:00
2026-07-10 07:32:48 +00:00
2026-06-13 10:15:23 +08:00
2026-07-07 12:18:28 +08:00
2026-06-15 12:53:06 +08:00
2026-06-13 10:15:23 +08:00
2026-04-22 18:10:04 +08:00
2026-06-29 17:54:12 +08:00
2026-07-02 13:12:23 +08:00
2026-06-13 10:19:06 +08:00
2026-06-29 17:54:12 +08:00