Skip to content

Add generic performance metrics support to Allure reports - #719

Open
formaceft-93 wants to merge 7 commits into
mainfrom
metric-dashboard
Open

Add generic performance metrics support to Allure reports#719
formaceft-93 wants to merge 7 commits into
mainfrom
metric-dashboard

Conversation

@formaceft-93

Copy link
Copy Markdown
Contributor

The main use case of the feature is performance measurements, but the format is intentionally not tied to Allure’s own benchmark phases, so other projects can publish their own numeric metrics through perf.json.
The report now reads explicit metric samples, adapts the current allure-perf-metrics.json format, and can also flatten arbitrary numeric JSON values into metric keys. Metrics are stored separately from test results, exported to widgets/metrics.json, attached as raw input for audit/debugging, and included in report history as stable key -> value pairs for trend views.
On the UI side, Awesome gets a dedicated Metrics section with grouped summary rows, current values, deltas, trends, and a selected history metric. Dashboard gets a compact metrics widget. The internal perf writer also emits an allure.total summary metric so the default history view can show an end-to-end report generation number instead of a project-specific phase.

Example perf.json:

{
  "version": 1,
  "name": "Build performance",
  "display": {
    "historyMetricKey": "build.total.avgMs"
  },
  "metrics": [
    {
      "key": "build.total.avgMs",
      "name": "Build total",
      "group": "Build",
      "value": 12450,
      "unit": "ms",
      "better": "lower"
    }
  ]
}

@github-actions

github-actions Bot commented Jun 18, 2026

Copy link
Copy Markdown

Allure Report Summary

Name Duration Stats New Flaky Retry Report
Allure 3 Report 41m 53s Passed tests 9947   Skipped tests 15   Unknown tests 21 81 0 33 View
My Dashboard 41m 53s Passed tests 9947   Skipped tests 15   Unknown tests 21 81 0 33 View

@github-actions

Copy link
Copy Markdown

Allure perf metrics

Generated at: 2026-06-18T10:12:30.527Z

Phase Count Total Avg Min Max
restoreState.total 1 2762.1 ms 2762.1 ms 2762.1 ms 2762.1 ms
restoreState.dump 3 2761.6 ms 920.5 ms 874.7 ms 948.6 ms
restoreState.attachments 3 2174.2 ms 724.7 ms 709.1 ms 739.2 ms
restoreState.storeRestore 3 170.9 ms 57.0 ms 50.8 ms 64.8 ms
generate.total 1 697400.3 ms 697400.3 ms 697400.3 ms 697400.3 ms
generate.plugins.done 1 8703.8 ms 8703.8 ms 8703.8 ms 8703.8 ms
publish.upload.total 1 392721.1 ms 392721.1 ms 392721.1 ms 392721.1 ms
summary.generate 2 14.6 ms 7.3 ms 7.0 ms 7.6 ms
generate.plugin.done.agent 1 0.3 ms 0.3 ms 0.3 ms 0.3 ms
generate.plugin.done.awesome 1 6993.9 ms 6993.9 ms 6993.9 ms 6993.9 ms
generate.plugin.done.dashboard 1 1065.2 ms 1065.2 ms 1065.2 ms 1065.2 ms
generate.plugin.done.log 1 3.7 ms 3.7 ms 3.7 ms 3.7 ms
generate.plugin.done.testops 1 640.1 ms 640.1 ms 640.1 ms 640.1 ms
publish.upload.plugin.awesome 1 383185.2 ms 383185.2 ms 383185.2 ms 383185.2 ms
publish.upload.plugin.dashboard 1 2165.8 ms 2165.8 ms 2165.8 ms 2165.8 ms

Artifacts: allure-perf-metrics

@formaceft-93
formaceft-93 marked this pull request as ready for review June 19, 2026 06:42
@formaceft-93
formaceft-93 requested a review from epszaw August 7, 2026 07:18
@formaceft-93
formaceft-93 force-pushed the metric-dashboard branch 2 times, most recently from d994ee5 to ed72351 Compare August 12, 2026 07:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant