Skip to content

Plot and compare Hermes and provider-key usage when both sources exist #16

Description

@newbish

Objective

Allow the dashboard to plot both Hermes/plugin usage data and provider-API-key usage data when both are available.

Why

If the app can ingest more than one source, operators need to see both clearly. Hiding one source, collapsing them naively, or forcing users to guess where a number came from will make the dashboard less trustworthy.

Scope

  • Add query/filter support for multi-source analytics
  • Plot per-source series side by side or overlaid where appropriate
  • Let users compare totals, trends, and drift between sources
  • Keep the UI readable on desktop and mobile

Tasks

  • Add source-aware query helpers for overview and drilldown routes
  • Support source filters such as all, Hermes, provider API
  • Update charts/tables to show both series when both are available
  • Add labeling/legend treatment that makes source attribution obvious
  • Define how KPI cards behave when both sources exist (combined, primary, or split)
  • Add empty/error states for partial-source availability
  • Verify responsive behavior for dual-source charts and tables

Acceptance criteria

  • Users can tell which source produced which data
  • When both sources exist, the dashboard can plot and compare both without collapsing them invisibly
  • Source filters and legends remain understandable on mobile and desktop
  • The chosen KPI behavior is documented and consistent across the app
  • Comparison views reconcile back to the underlying stored data

Notes

This likely builds on Slice 4 and Slice 5. It should be treated as comparison UX, not just another color on a chart.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1Important next sliceanalyticsMetrics, rollups, and usage logicdesign-systemVisual system, density, and component polishfrontendUI and route-layer work

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions