Skip to content

fix(telemetry-receiver): dashboard ranges end on today - #631

Merged
ValgulNecron merged 2 commits into
masterfrom
fix/receiver-dashboard-today
Oct 8, 2026
Merged

ValgulNecron merged 2 commits into
masterfrom
fix/receiver-dashboard-today

Conversation

@ValgulNecron

@ValgulNecron ValgulNecron commented Oct 8, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

The receiver dashboard built every view up to yesterday (the latest complete UTC day). A new provider saw "No reports yet" for up to a day after its first accepted report, and today's reports never showed until the day closed. Ruled as OD-6 (2026-10-08): the dashboard shows all data.

  • telemetry-receiver/views.go: asOf is today (UTC, in progress), and every 7/30/90/365-day range ends on it. The empty state appears only when the range has no report at all. Today's lapsed-installs value stays 0 until the lifecycle job finalises the day.
  • Unchanged: GET /v1/summary (still the latest complete day) and the lifecycle rollover.
  • Copy, designed first in telemetry-dashboard.pen (i0xK1E, Z079vK, y49Ie) and exported (JSON checked equal to Pencil by length + FNV-1a hash, PNGs at 2x):
    • "Data through … (UTC, today in progress)"
    • "Reports, today" and "Active installs, today", each with "(UTC, in progress)"
    • a new empty-state text
    • the reports-per-day caption
    • the lapsed note
  • Spec 022 (specs/done_022-…): data-model.md, spec.md and contracts/receiver-http.md updated; tasks.md T065/T071 get "superseded" notes; OD-6 added to OPEN-DECISIONS.md.

Test sign-offs (system override 1)

Signed off 2026-10-08 ("Approve test updates", "Approve e2e change"):

  • views_test.go, dashboard_test.go, population_test.go: the fixed clocks move back one day, so every assertion and expected date is unchanged.
  • charts_test.go: comment only.
  • New TestBuildViewsIncludesTodayInProgress: a report accepted today is the last reportsPerDay entry, leaves the empty state, and its totals are the latest-day row.
  • test/e2e/telemetry_e2e_test.go dashboard_shows_reports: expects asOf = today instead of yesterday (same check). requireViewsUnchanged is unchanged, because same-day reports from the install are duplicates and don't change the views.

Test plan

  • go build ./... (telemetry-receiver), type check including _test.go files (telemetry-receiver, test/e2e with e2e tag), gofmt clean
  • CI green

Note: master (with the #624 archive) is merged in, so the spec edits now live in specs/done_022-default-telemetry-dashboard/.

🤖 Generated with Claude Code

https://claude.ai/code/session_019f17vxYJKVGNFSgucHnuhu

The dashboard built every view up to yesterday, the latest complete UTC
day, so a new provider saw "No reports yet" for up to a day after its first
accepted report, and today's reports never showed until the day closed.
Ruled as OD-6 (2026-10-08): the dashboard shows all data.

- views.go: asOf is today (UTC, in progress); every range ends on it.
  Today's lapsed-installs value stays 0 until the lifecycle job finalises
  the day. /v1/summary and the lifecycle rollover are unchanged.
- Copy (designed first in telemetry-dashboard.pen i0xK1E, Z079vK, y49Ie,
  exported): "Data through ... (UTC, today in progress)", "Reports, today",
  "Active installs, today", a new empty-state text, the reports-per-day
  caption and the lapsed note.
- Tests (signed off 2026-10-08): the views, dashboard and population test
  clocks move back one day so every assertion is unchanged; new
  TestBuildViewsIncludesTodayInProgress; the e2e dashboard check expects
  asOf = today.
- Spec 022: data-model, spec, receiver-http contract, tasks (superseded
  notes) and OD-6.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019f17vxYJKVGNFSgucHnuhu
Signed-off-by: valgulnecron <39313199+ValgulNecron@users.noreply.github.com>
@ValgulNecron ValgulNecron added area: e2e kind-based end-to-end suite area: optional-components sentinel, capture-sidecar, mcp-server, tunnel, audit-syslog-bridge, telemetry-receiver area: specs spec-kit feature specs and design docs type: fix Bug fix labels Oct 8, 2026
Brings in the spec 022 archive (#624). Git's rename detection carries this
branch's OD-6 edits to specs/done_022-default-telemetry-dashboard/; GitHub's
mergeability check did not detect the rename and reported a conflict.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019f17vxYJKVGNFSgucHnuhu
Signed-off-by: valgulnecron <39313199+ValgulNecron@users.noreply.github.com>
@ValgulNecron
ValgulNecron merged commit 66e1dc1 into master Oct 8, 2026
1 check passed
@github-actions

github-actions Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

CI Report - 93d15ac

run 37784923057 - attempt 1

0 failed - 18 passed - 7 skipped - 40m27s elapsed

Coverage

no coverage/* commit statuses found on 93d15ac

Changed

Area Files +/-
telemetry-receiver/ 18 +95/-54
specs/ 5 +18/-9
test/ 1 +6/-6

Slowest jobs

Job Duration
e2e telemetry / arm64 (kind) 22m59s
e2e telemetry / amd64 (kind) 22m47s
e2e multicluster / amd64 (kind x2) 9m56s
e2e game bot / TestGameServer_GarrysModBot_Query (kind) 9m35s
e2e multicluster / arm64 (kind x2) 9m10s

e2e buckets run

api-agent, api-auth, api-mods, api-rbac, api-roles, bot-fast, multicluster, operator, ratelimit, telemetry, upgrade

@ValgulNecron
ValgulNecron deleted the fix/receiver-dashboard-today branch October 8, 2026 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: e2e kind-based end-to-end suite area: optional-components sentinel, capture-sidecar, mcp-server, tunnel, audit-syslog-bridge, telemetry-receiver area: specs spec-kit feature specs and design docs type: fix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant