HarborHarbor
DocumentationGuidesPlugins
Concepts

Runs & Traces

Every Harbor execution leaves a durable trace.

Every hrbr exec, Function invocation, App route hit, and workflow step creates run/trace data. The dashboard is the canonical browsing UI; the CLI exposes a small real lookup surface through hrbr inspect.

What gets traced

ActionRun?Trace tree
hrbr execYesRoot span plus plugin/runtime child spans.
Function executionYesSame runtime span shape.
App route hitYesHTTP route plus backing work.
Workflow stepYesOne child span per durable step.
Plugin install/OAuthAudit log insteadNo execution trace.

Run lifecycle

StateMeaning
pendingQueued, not yet started.
runningIn flight.
completedFinished and return value captured.
failedThrew an exception; error captured.
cancelledCancelled through dashboard or SDK control-plane flow.

CLI lookup

hrbr inspect 'return await hrbr.runs.list({ limit: 10 })'
hrbr inspect 'return await hrbr.runs.get({ run_id: "<run-id>" })'
hrbr inspect 'return await hrbr.runs.graph({ run_id: "<run-id>" })'

The public CLI does not expose a separate runs subcommand family. Use inspect for lookup, and use the dashboard or SDK clients for artifacts, replay, export, and richer run events.

Span shape

Each span captures name, kind, start time, duration, input, output, and error. Spans nest naturally when a runtime primitive or tool call happens inside another operation.

Artifacts

Artifacts written during a run are linked in the dashboard. SDK clients expose artifact APIs for programmatic download.

Filtering

The Traces page supports filters across member, source kind, Function/App, status, duration, plugin, and time range. Dashboard URLs are shareable.

Retention

  • Cloud: trace, span, and artifact retention depends on plan.
  • Open source/local: retention depends on local storage and cleanup policy.