feat(observability): Scrabble — Messages Grafana dashboard #78

Merged
developer merged 1 commits from feature/messages-dashboard into development 2026-06-17 10:05:16 +00:00
Owner

The deferred follow-up to the chat read-receipts feature: a Grafana Scrabble — Messages dashboard for the metrics that already shipped.

Panels (deploy/grafana/dashboards/messages.json, uid scrabble-messages)

  • Chat entries postedrate(chat_messages_total) by kind.
  • Unread backlogchat_unread_messages gauge.
  • Publish → read latency (avg by kind)rate(chat_read_duration_sum)/rate(chat_read_duration_count) (the owner's explicit ask).
  • Publish → read latency (p50 / p95)histogram_quantile over chat_read_duration_bucket (robust complement).

Mirrors game-domain.json (datasource/panel/target shape, unit: s on the latency panels). The file provider auto-discovers it (no provisioning change).

Verification

  • All dashboard JSON valid (jq); uid unique.
  • Confirmed chat_unread_messages is a live series in the contour Prometheus (the metrics deployed with the read-receipt merge); the activity-driven chat_messages_total / chat_read_duration_* are 0-series only because no chat has happened on the freshly-redeployed contour yet — names follow the confirmed game_move_duration_bucket convention.
  • Deploy-only change; no Go/UI build affected.

Docs

  • docs/ARCHITECTURE.md §11 (chat metrics → Messages dashboard), PRERELEASE.md CR row.
The deferred follow-up to the chat read-receipts feature: a Grafana **Scrabble — Messages** dashboard for the metrics that already shipped. ## Panels (`deploy/grafana/dashboards/messages.json`, uid `scrabble-messages`) - **Chat entries posted** — `rate(chat_messages_total)` by kind. - **Unread backlog** — `chat_unread_messages` gauge. - **Publish → read latency (avg by kind)** — `rate(chat_read_duration_sum)/rate(chat_read_duration_count)` (the owner's explicit ask). - **Publish → read latency (p50 / p95)** — `histogram_quantile` over `chat_read_duration_bucket` (robust complement). Mirrors `game-domain.json` (datasource/panel/target shape, `unit: s` on the latency panels). The file provider auto-discovers it (no provisioning change). ## Verification - All dashboard JSON valid (`jq`); `uid` unique. - Confirmed `chat_unread_messages` is a live series in the contour Prometheus (the metrics deployed with the read-receipt merge); the activity-driven `chat_messages_total` / `chat_read_duration_*` are 0-series only because no chat has happened on the freshly-redeployed contour yet — names follow the confirmed `game_move_duration_bucket` convention. - Deploy-only change; no Go/UI build affected. ## Docs - `docs/ARCHITECTURE.md` §11 (chat metrics → Messages dashboard), `PRERELEASE.md` CR row.
developer added 1 commit 2026-06-17 10:01:11 +00:00
feat(observability): add the Scrabble — Messages Grafana dashboard
CI / changes (pull_request) Successful in 1s
CI / unit (pull_request) Successful in 9s
CI / integration (pull_request) Successful in 14s
CI / ui (pull_request) Successful in 48s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 59s
c3b3cafcdd
Visualises the chat read-receipt metrics added with the read-receipt feature
(the dashboard was deferred there per the owner): posted rate by kind, the
unread backlog (chat_unread_messages gauge), and the publish-to-read latency
(chat_read_duration — average by kind plus overall p50/p95). Mirrors the
game-domain dashboard's structure; the file provider auto-discovers it.
owner approved these changes 2026-06-17 10:05:04 +00:00
developer merged commit 236152ea7b into development 2026-06-17 10:05:16 +00:00
developer deleted branch feature/messages-dashboard 2026-06-17 10:05:16 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: developer/scrabble-game#78