FlowFuse / FlowFuse/flowfuse

Audit PostHog + Sentry overlap

Open
#7,346 0 comments 0 reactions 1 assignee Claimed by @n-lark View on GitHub
Dominant language
JavaScript
Stars
400
Forks
89
Avg merge
1d 20h
Merged PRs (30d)
149

Description

# PostHog + Sentry Overlap

Both tools are wired in; their boundary was never explicitly designed. With Sentry trimmed to errors-only, worth deciding what each tool is *for*.

## Where they overlap (observed)

- `services/product.js#identify()` fans the same user payload out to **three** tools — PostHog, Sentry (`setUser`), and HubSpot (`_hsq`). One function, three destinations, drift-prone.
- `Sentry.setUser` lives in `services/product.js` (a file named for analytics), separate from `services/error-tracking.js` where the rest of Sentry lives.
- Localhost filtering is inconsistent: Sentry has a SDK-level `beforeSend` localhost guard; PostHog has none.
- PostHog ships its own Errors product; we don't use it. Sentry's Errors is the system of record.

## Questions

- Sentry-for-errors + PostHog-for-everything-else — right split, or accidental?
- Should `Sentry.setUser` move out of `services/product.js` into `services/error-tracking.js`?
- One `identify(user)` entry point that fans out, or keep explicit per-tool wiring?
- Is `posthog-node` (backend) actually used? For what?
- Who opens each tool's dashboard, and where do alerts land?

## Note from eng meeting 7/20

It must be able to trace spans across a WebSocket → MQTT boundary. We don't trace anything touching the broker today, and that path is central to where the platform is going.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.