πŸ›’ Acme Store activity-logging demo

Live tracker stats

–page FPS (proves UI never blocks)
0events sent
0events/sec (burst)
/current SPA route

πŸ‘€ User & session

Logged in as: anonymous  Β·  Session: –

Log in attaches the username to every event (ual.setUser). New session rotates the session id (ual.newSession) β€” in Grafana/exports the activity shows up as a different session for the same user.

Products (component: storefront β€” every click is auto-tracked)

Search

Form submits are tracked by identity only β€” field values are never captured.

Custom events & errors

πŸ”“ Attack simulation (these light up the Grafana security dashboard)

⚑ Burst mode

One browser tab can't prove 20k/s β€” that's what the Docker load generator is for (docker compose --profile loadtest run --rm loadgen). This burst demonstrates that even at thousands of events/sec the tracker batches in idle time and the FPS counter stays smooth.