Skip to main content

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.gg and stored in the SigNoz SQLite database (/var/lib/signoz/signoz.db, table dashboard). Audience: engineering and operators. Answer "what did the client try to do?".
  • Supabase Views — server-authoritative SQL views in the playroll_supa_new Postgres database, public schema. 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.

ActiveReferenceDraftSunset planned
  • 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.

PermanentMutableSunset planned
  • 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).

Since YYYY-MM-DD

OTEL Telemetry (SigNoz)

DashboardStatusLifecycleCreated
AudienceActivePermanent2026-05-04
Capture Pipeline (client)ActivePermanent2026-05-04
Errors & AuthActivePermanent2026-05-04
Version Upgrades (slim)ActivePermanent2026-05-04
Game LibraryActivePermanent2026-05-04
Pipeline HealthReferenceMutable2026-05-02

Archive (pre-revamp dashboards kept for validation):

DashboardReplaced by
Product HealthAudience
Retention CohortAudience
EngagementCapture Pipeline (client)
Error MonitoringErrors & Auth
Version UpgradesVersion Upgrades (slim)

Supabase Views

PageViews includedAudience
VC Viewinvestor_daily_recording_kpis_vc_viewInvestors
Tester Viewssupport_recording_sessions, support_recording_files, support_player_upload_summary, playroll_users_viewTester support

The Supabase contract is also summarized on Database → Monitoring Views.

KPI overlap between the two families

KPIOTEL sourceSupabase sourceAuthoritative for
Daily Active PlayersAudience → DAU by Trackinvestor_daily_recording_kpis_vc_view.active_playersVC reporting → Supabase
Sessions per dayCapture Pipeline → Sessions by Versioninvestor_daily_recording_kpis_vc_view.total_sessions_seenVC reporting → Supabase
Upload throughput (GB/day)Capture Pipeline → Upload Throughputinvestor_daily_recording_kpis_vc_view.uploaded_size_gbVC reporting → Supabase
Upload funnel / completenessPipeline Health (reference)valid_current_sessions, partial_upload_sessions, session_completion_statusServer reality → Supabase
Files by type (mp4/csv/json)Capture Pipeline*_files columns, daily_upload_statsServer 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.