Skip to content

feat(traces): UX guidance + Spotlight as default tab (PR G)#49

Merged
coccyx merged 1 commit into
masterfrom
feat/traces-ux-guidance
May 29, 2026
Merged

feat(traces): UX guidance + Spotlight as default tab (PR G)#49
coccyx merged 1 commit into
masterfrom
feat/traces-ux-guidance

Conversation

@coccyx
Copy link
Copy Markdown
Contributor

@coccyx coccyx commented May 29, 2026

Summary

PR G of the v0.9.0 faceted-nav thread (sibling of #46/#47/#48 — all merged). The faceted-nav surface works, but the Traces page felt experts-only. This pass makes it novice-friendly without adding any new capability.

What changes for the user

  • Spotlight is now the default rail tab. Facets is one click away. For someone debugging, Spotlight is the higher-value primitive — Facets tells them what they already implicitly know, Spotlight surfaces what they didn't.

  • Rich empty state on the rail replaces the one-line hint:

    • Explains what Facets vs Spotlight do
    • Three sample-filter chips (`HTTP 5xx errors`, `POST requests`, `gRPC calls`) that one-click seed a filter row
    • Brand-new users can see the panel light up without guessing attribute names
  • Per-panel captions explain what the bars mean:

    • Spotlight: "For each attribute, the colored bar shows your selection's share of values; the gray bar shows the rest of the time window's share. A big gap means that attribute is a strong differentiator."
    • Facets: "Top values for each attribute in your selection. Click any value to add it as a filter and narrow further."
  • Loading states explain themselves — "Loading facets — querying each attribute in parallel; values appear as queries return…" so users understand the streaming behavior they're seeing.

  • Sidebar hints — Filters section leads with "Narrow the spans your search and the side rail will analyze."

  • Center banner is richer — explicitly tells the user that the Spotlight rail works independently of the trace results.

Screenshots

Empty state with explanatory copy + example chips + Spotlight as default tab:
00

Clicking "HTTP 5xx errors" chip seeds a filter and Spotlight populates:
01

Facets tab with new caption + streaming-load message:
02

Test plan

  • `npx tsc --noEmit` — clean
  • `npm run lint` — 0 errors
  • `npm test` — 101/101 passing
  • `npm run deploy` — packed + uploaded + provisioned on staging
  • Playwright capture spec (`tests/traces-ux-screenshots.spec.ts`) succeeds
  • PR F's smoke spec (`tests/faceted-nav.spec.ts`) still passes

Validate on staging

  1. Open the Traces page with no service/filter set
  2. Verify the right rail shows the rich empty state with three sample chips
  3. Click "HTTP 5xx errors" — filter row appears, Spotlight (default tab) starts streaming
  4. Switch to Facets — caption visible, loading message explains the streaming
  5. Center banner explains how to find traces AND that the rail works independently

What's next

  • PR H: Spotlight on Errors page (per-ErrorClass differential)
  • PR I: Spotlight on Service Detail
  • After all merge → cut v0.9.0

Session log

`docs/sessions/2026-05-28-traces-ux.md`

🤖 Generated with Claude Code

PR G of the v0.9.0 faceted-nav thread. The data layer, UI primitives,
and Search-page integration shipped in PRs D/E/F (#46/#47/#48), but
the page felt experts-only — no explanatory copy, no guidance on
how to use the new rail, Facets defaulted ahead of the higher-
value Spotlight tab. This makes the page novice-friendly without
adding any new capability.

- Spotlight becomes the default rail tab. Facets is one click away;
  for someone debugging, Spotlight is the higher-value primitive.
- Rich empty-state replaces the one-line "Pick a service…" hint.
  Explains what Facets vs Spotlight do, plus three sample-filter
  chips (HTTP 5xx errors, POST requests, gRPC calls) that one-click
  seed a filter row so brand-new users can see the panel light up
  without guessing attribute names.
- Both panels lead with a caption explaining what the bars mean.
  Spotlight's tells the user "the colored bar shows your selection's
  share of values; the gray bar shows the rest of the time window's
  share. A big gap means that attribute is a strong differentiator."
  Replaces the prior unexplained sel/base color coding.
- Loading states explain themselves — "Loading facets — querying
  each attribute in parallel; values appear as queries return…"
  so users understand the streaming behavior.
- Filters sidebar section leads with "Narrow the spans your search
  and the side rail will analyze."
- Center banner adds a second line: "The Spotlight rail on the right
  works independently — it explains what makes your filtered spans
  unusual without needing the trace list to load."

Validated on staging via Playwright; screenshots in
docs/sessions/screenshots/2026-05-28-traces-ux/. Session log at
docs/sessions/2026-05-28-traces-ux.md.

Pre-merge: tsc clean, lint 0 errors (1 pre-existing
DependencyGraph warning), 101/101 unit tests, build green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@coccyx coccyx merged commit fe66bd8 into master May 29, 2026
3 checks passed
@coccyx coccyx deleted the feat/traces-ux-guidance branch May 29, 2026 06:34
coccyx added a commit that referenced this pull request May 29, 2026
Faceted trace search + Spotlight + Settings page reorganization.

- Faceted-nav data layer + UI primitives (#46, #47)
- Search-page integration with Spotlight rail (#48, #49)
- Spotlight on Errors page + Service Detail (#50, #51, #53)
- Small-multiples / readable-card / rate-bar Spotlight redesigns
  driven by manual validation feedback (#52, #54, #55)
- Settings page reorganization with Setup status card, sticky
  nav, and grouped sections (#56)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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