Skip to content

Add RUM audience breakdowns and reusable segments - #740

Merged
tonyalaribe merged 7 commits into
masterfrom
feat/rum-audience-segments
Oct 26, 2026
Merged

tonyalaribe merged 7 commits into
masterfrom
feat/rum-audience-segments

Conversation

@tonyalaribe

@tonyalaribe tonyalaribe commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

RUM Audience previously combined browser, operating-system, and device counts in one table. This change separates those breakdowns, adds traffic share and session error rates, and keeps missing user agents visible as Unknown. Sessions are counted once even when they contain repeated events.

Application, browser, OS, device, and session-health filters carry into Errors and Sessions. Teams can save named filter combinations as project segments. The identified-user table searches the full selected audience before applying its 200-result display limit and links each user to session history.

The layout keeps three breakdown tables where they fit, stacks them on narrower canvases, and uses compact totals on mobile. It also preserves the earlier requested blue selection styling for visualization tabs.

Validation:

  • 78 dashboard-widget integration examples passed under the live test watcher.
  • Confirmed the new audience test fails against the original template.
  • Checked live TimeFusion user queries, server search, and desktop/mobile layout in Chromium.
  • Haskell distillation, constraint-evasion, locality-of-behavior, and final simplification reviews completed; formatting and HLint passed.
  • Local CI passed: build, 336 unit examples, CLI tests, all integration shards against TimeFusion (two pre-existing pending examples), 1,855 doctests, 1,028 UI tests, 157 browser tests, HLint, unused-code and release checks. Browser suite passed with one worker after timeouts in the parallel run.
  • Native linux/amd64 production image built and published successfully for 4d5201c; manifest-to-binary asset check passed.
  • CI now prepares shared npm dependencies before parallel integration/browser/UI lanes, preventing npm ci from deleting files under running workers; regression verified with ci-selftest.

Adds the append-only 0254_rum_segments.sql migration for project-scoped saved filters. The shared numeric prefix is supported: runPendingMigrations sorts and records full filenames (src/System/Config.hs:638–644), and the integration database applied both 0254 migrations successfully. The migration was already applied locally and remains unchanged under the append-only rule. Geography, first-touch acquisition, and retention remain the brief's later phase, pending reliable attribution and identity contracts.

@monoscope-bot

monoscope-bot Bot commented Oct 26, 2026

Copy link
Copy Markdown

Monoscope production impact · Worth checking

Project 87576849-4941-49d3-a15d-680fef88a1a8 · reviewed 4d5201c826513ca1107468c2c4db3785f57aa016 · advisory

Evidence window (UTC): 2026-10-19 16:31:12.790168741 UTC → 2026-10-26 16:31:12.790168741 UTC

static/migrations/0254_rum_segments.sql:1 (Head)

Inferred: The new migration reuses a numeric migration version that is already present in the migration set. If migration discovery keys ordering or applied state by this prefix, deployment can reject the migration, apply migrations ambiguously, or skip the segment table, causing the new RUM segment routes to fail at runtime.

Next check: Assign the migration the next unused version, then run the project's migration listing and an upgrade test from an existing database snapshot.

telemetry evidence · Observed: 9045472 events · 0 errors · service: srv-captain--monoscope

Coverage: Evidence is capped at 20 service/environment groups, monitors and dashboard queries. Telemetry describes the mapped service, not a proven changed-path or deployed-revision match. Monitor and dashboard references are project-wide; their relationship to the mapped service is unverified. Diff coverage is incomplete: only the first 30 files and 2000 characters per patch are inspected. No migration-runner output or upgrade test evidence was provided to confirm how duplicate migration versions are handled. Telemetry is aggregate service data and is not matched to the changed revision, migration execution, or RUM segment request path.

Review history and settings

@tonyalaribe
tonyalaribe merged commit f3a3a9c into master Oct 26, 2026
14 checks passed
@tonyalaribe
tonyalaribe deleted the feat/rum-audience-segments branch October 26, 2026 16:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant