Share a Nextflow execution report

-with-report produces the thing that makes pipeline tuning possible: per-process CPU, memory, I/O and wall time, with the task table underneath. It is how you find out that the process you have been optimizing takes four minutes and the one you never look at takes six hours.

It writes to the launch directory, which on most setups is on a cluster head node that the person paying for the compute cannot reach.

Publish it

nextflow run main.nf \
  -with-report report.html \
  -with-timeline timeline.html || true

curl -fsS -X PATCH \
  "https://commareports.com/api/v1/reports/$COMMA_REPORT_ID" \
  -H "Authorization: Bearer $COMMA_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d "$(jq -n --rawfile html report.html \
        --arg title "Pipeline — $PIPELINE — run $RUN_ID" \
        '{title: $title, html: $html}')"

Or drag report.html into the app. The charts stay interactive — scripts run inside a sandboxed iframe (allow-scripts, no allow-same-origin).

|| true because a failed run is the one people most want to look at. Keep the timeline as a second report id; it answers a different question than the resource report and deserves its own URL and history.

What the URL changes

  • Notes on the process. "This is I/O bound on the shared filesystem, not CPU" pinned to the row. See commenting on HTML.
  • Run-over-run comparison. Before and after a memory directive change, at one URL. See revisions and diffs.
  • Readable without cluster access — by a PI, a platform owner, or whoever signs off the compute budget.
  • Private by default — see the sharing model.

Limits

  • HTML body: 5 MB. A run with tens of thousands of tasks embeds a large task table and can exceed it; publish the report for a representative run, or attach the full trace file as an asset.
  • 60 requests/minute per token.

Try it

Comma is free — unlimited reports, unlimited commenters, unlimited revision history.

Create your first report →

Related