-
Notifications
You must be signed in to change notification settings - Fork 0
features results and reporting
Active contributors: Douwe de Vries
Results and reporting turn a running k6 process into live UI feedback, a final result, and an exportable HTML report. The runtime gathers live metrics in src-tauri/src/k6/process/live_metrics.rs, parses final summary output in src-tauri/src/k6/summary.rs, and renders reports in src-tauri/src/k6/report.rs.
src/features/test/useTestHarness.ts
src/app/components/LiveRunMonitorCard.tsx
src/app/components/LatestResultCard.tsx
src-tauri/src/k6/process/live_metrics.rs
src-tauri/src/k6/summary.rs
src-tauri/src/k6/summary_format.rs
src-tauri/src/k6/report.rs
| Abstraction | File | Description |
|---|---|---|
LiveMetrics |
src/lib/loadrift/types.ts, src-tauri/src/models.rs
|
Active VUs, request counts, error rate, latency, and throughput |
LiveMetricsAggregator |
src-tauri/src/k6/process/live_metrics.rs |
Reads k6 JSON metric lines and computes live snapshots |
TestResult |
src/lib/loadrift/types.ts, src-tauri/src/models.rs
|
Final status, metrics, and threshold results |
TestCompletion |
src/lib/loadrift/types.ts, src-tauri/src/models.rs
|
Terminal event payload emitted after process completion |
graph LR
K6[k6 process] --> Output[stdout and stderr]
K6 --> Metrics[metrics.json lines]
K6 --> Summary[summary.json]
Output --> Events[k6:output]
Metrics --> Aggregator[LiveMetricsAggregator]
Aggregator --> MetricsEvent[k6:metrics]
Summary --> Parser[parse_summary]
Parser --> Complete[k6:complete]
Complete --> Report[HTML export]
src-tauri/src/k6/process/runtime.rs starts output forwarders for stdout and stderr, starts a metrics forwarder for JSON metric output, waits for k6 to exit, then parses summary.json. If the summary is missing or unsupported, the runtime builds a final result from the latest live metrics and records a summary issue.
src-tauri/src/k6/report.rs writes the latest result as an HTML document with overview cards, threshold rows, structured metrics, raw summary JSON, and the final console summary.
The frontend run hook in src/features/test/useTestHarness.ts listens for k6:output, k6:metrics, k6:complete, and k6:error. Event details are documented in Events, and process behavior is documented in k6 runtime.
Change live metric aggregation in src-tauri/src/k6/process/live_metrics.rs. Change final summary parsing in src-tauri/src/k6/summary.rs. Change report HTML in src-tauri/src/k6/report.rs.
| File | Purpose |
|---|---|
src/features/test/useTestHarness.ts |
Frontend run state and event listeners |
src-tauri/src/k6/process/live_metrics.rs |
Live metric aggregation |
src-tauri/src/k6/summary.rs |
Final summary parsing and fallback result creation |
src-tauri/src/k6/summary_format.rs |
k6 summary normalization helpers |
src-tauri/src/k6/report.rs |
HTML report export |