Dashboards Overview
This section documents the two families of dashboards that exist for Playroll.
- OTEL Telemetry (SigNoz) — client-emitted telemetry. Live on the SigNoz instance at
https://otel.playroll.ggand stored in the SigNoz SQLite database (/var/lib/signoz/signoz.db, tabledashboard). Audience: engineering and operators. Answer "what did the client try to do?". - Supabase Views — server-authoritative SQL views in the
playroll_supa_newPostgres database,publicschema. Audience: VC reporting (*_vc_view) and tester support (support_*). Answer "what arrived on the server?".
The two families intentionally overlap on a few KPIs (DAU, sessions per day, upload throughput). When the numbers diverge, OTEL reflects client emission and Supabase reflects server ingestion — both are correct; they measure different things. See the VC View page for the recommended source of truth per KPI.
Status legend
Each dashboard page starts with pills that summarize three orthogonal axes.
Status — operational state of the dashboard right now.
- Active — production dashboard, queries return live data.
- Reference — structure is in place but the upstream data source is not live yet; the dashboard is a contract / placeholder.
- Draft — under construction, not ready for use.
- Sunset planned — scheduled to be removed; kept temporarily for validation or migration.
Lifecycle — expected lifetime.
- Permanent — intended to live in prod with undefined lifetime.
- Mutable — content/structure will change significantly (e.g. waiting on a server-side pipeline to go live).
- Sunset planned — has a planned end-of-life date.
Persistence — when the dashboard was created (informational).
OTEL Telemetry (SigNoz)
| Dashboard | Status | Lifecycle | Created |
|---|---|---|---|
| Audience | Active | Permanent | 2026-05-04 |
| Capture Pipeline (client) | Active | Permanent | 2026-05-04 |
| Errors & Auth | Active | Permanent | 2026-05-04 |
| Version Upgrades (slim) | Active | Permanent | 2026-05-04 |
| Game Library | Active | Permanent | 2026-05-04 |
| Pipeline Health | Reference | Mutable | 2026-05-02 |
Archive (pre-revamp dashboards kept for validation):
| Dashboard | Replaced by |
|---|---|
| Product Health | Audience |
| Retention Cohort | Audience |
| Engagement | Capture Pipeline (client) |
| Error Monitoring | Errors & Auth |
| Version Upgrades | Version Upgrades (slim) |
Supabase Views
| Page | Views included | Audience |
|---|---|---|
| VC View | investor_daily_recording_kpis_vc_view | Investors |
| Tester Views | support_recording_sessions, support_recording_files, support_player_upload_summary, playroll_users_view | Tester support |
The Supabase contract is also summarized on Database → Monitoring Views.
KPI overlap between the two families
| KPI | OTEL source | Supabase source | Authoritative for |
|---|---|---|---|
| Daily Active Players | Audience → DAU by Track | investor_daily_recording_kpis_vc_view.active_players | VC reporting → Supabase |
| Sessions per day | Capture Pipeline → Sessions by Version | investor_daily_recording_kpis_vc_view.total_sessions_seen | VC reporting → Supabase |
| Upload throughput (GB/day) | Capture Pipeline → Upload Throughput | investor_daily_recording_kpis_vc_view.uploaded_size_gb | VC reporting → Supabase |
| Upload funnel / completeness | Pipeline Health (reference) | valid_current_sessions, partial_upload_sessions, session_completion_status | Server reality → Supabase |
| Files by type (mp4/csv/json) | Capture Pipeline | *_files columns, daily_upload_stats | Server reality → Supabase |
KPIs only on OTEL: retention cohorts, new vs returning users, version distribution and upgrades, auth lifecycle (BUG #7/#8), per-service error rates, client-side capture funnel and window-probe failures, game-library detector runs, GPU capability.
KPIs only on Supabase: cumulative validated hours, payment-relevant known_valid_current_recorded_hours, duration coverage, per-session uploadability_status / block_reason, S3 keys per artifact, identity lookup across steam/discord/email.