You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
h5m has full backend support for change detection (RelativeDifference, StdDevAnomaly, EDivisive, FixedThreshold) but the web UI has no visualization for it. Users cannot see performance regressions, change points, or time-series trends through the UI.
This is the primary value proposition of the tool — without it, users must inspect raw values via the CLI or API to identify regressions.
What Horreum provides (reference)
Horreum's "Changes" tab per test includes:
Time-series line charts (Recharts LineChart) showing metric values over time
Change point annotations — dots on the chart colored by confirmation status (red=unconfirmed, green=confirmed)
End date picker — navigate to a specific point in time
Line type selection — steps, straight, curve
Fingerprint filtering — select which configuration (fingerprint) to view when a test has multiple configurations
Change table — tabular list of change points with timestamp, linked dataset, confirmation status, description
Confirm/Delete/Edit actions on change points
Proposed h5m implementation
Data requirements
The backend already provides the necessary data:
GET /api/folder/{id}/labelValues — returns grouped values per upload, sortable by a domain node (e.g., timestamp)
GET /api/value/node/{nodeId}/grouped — returns values grouped by node
Change detection values are stored as ValueEntity instances with JSON data containing fields like index, pvalue, meanBefore, meanAfter, magnitude, hazardLevel, fingerprint, domainvalue
A new or extended endpoint may be needed to efficiently serve time-series data:
Option A: Use existing labelValues with node filtering — one request per chart
Option B: Create a dedicated endpoint that returns time-series data optimized for charting (pre-structured as {x: domain[], y: value[], changePoints: []})
UI components needed
ChangesTab — new tab on the FolderPage alongside Data, Nodes, Graph
TimeSeriesChart — line chart component (using Recharts or a similar library)
Problem
h5m has full backend support for change detection (RelativeDifference, StdDevAnomaly, EDivisive, FixedThreshold) but the web UI has no visualization for it. Users cannot see performance regressions, change points, or time-series trends through the UI.
This is the primary value proposition of the tool — without it, users must inspect raw values via the CLI or API to identify regressions.
What Horreum provides (reference)
Horreum's "Changes" tab per test includes:
Proposed h5m implementation
Data requirements
The backend already provides the necessary data:
GET /api/folder/{id}/labelValues— returns grouped values per upload, sortable by a domain node (e.g., timestamp)GET /api/value/node/{nodeId}/grouped— returns values grouped by nodeValueEntityinstances with JSON data containing fields likeindex,pvalue,meanBefore,meanAfter,magnitude,hazardLevel,fingerprint,domainvalueA new or extended endpoint may be needed to efficiently serve time-series data:
labelValueswith node filtering — one request per chart{x: domain[], y: value[], changePoints: []})UI components needed
Chart library recommendation
Related
meanBefore,meanAfter,magnitude,pvalue,hazardLevel,fingerprint,domainvalue,rangeValueIdfields