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
Add opt-in OpenTelemetry trace export for waza eval runs. Span hierarchy
is eval → task → turn → tool_call/model_call, with attributes following
the OpenTelemetry GenAI semantic conventions (gen_ai.system,
gen_ai.request.model, gen_ai.usage.input_tokens, gen_ai.tool.name, …).
Off by default — when --otel-exporter is not set the OTel SDK is not
initialized and there is no runtime overhead. Three exporters are
supported:
--otel-exporter otlp --otel-endpoint host:port [--otel-headers …]
--otel-exporter stdout
--otel-exporter file --otel-file path
Default redaction strips prompt/tool-arg/tool-result/completion content;
only sha256 and byte length are emitted. Pass --otel-include-payloads to
record full content for private debugging.
The implementation is a thin wrapper around the existing event emission
in internal/orchestration/runner.go; nothing about the runner's control
flow changed. internal/telemetry encapsulates Provider/Config/spans and
exposes no-op tracers when disabled, so callers can always wrap work in
spans without conditionals.
Tests cover span hierarchy, GenAI attribute names, redaction behavior,
header parsing, and the disabled-provider path without requiring a live
backend. Adds a docs/guides/otel.mdx walkthrough with a local OTel
Collector example and updates the CLI reference + README.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy file name to clipboardExpand all lines: README.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -331,6 +331,11 @@ Run an evaluation benchmark from a spec file.
331
331
|`--skip-graders`|| Skip grading (execution only); grade later with `waza grade`|
332
332
|`--keep-workspace`|| Preserve temp workspaces after execution for debugging |
333
333
|`--auto-file-issue`|| Auto-file or update a GitHub issue for failing runs (requires `gh` and `GITHUB_REPOSITORY`) |
334
+
|`--otel-exporter`|| Export OpenTelemetry traces using `otlp`, `stdout`, or `file`. Off by default. See [OpenTelemetry Tracing](https://microsoft.github.io/waza/guides/otel/). |
335
+
|`--otel-endpoint`|| OTLP endpoint (host:port or URL); only used with `--otel-exporter=otlp`|
336
+
|`--otel-headers`|| Comma-separated `key=value` OTLP headers (e.g. for auth) |
337
+
|`--otel-file`|| File path for span JSON when `--otel-exporter=file`|
338
+
|`--otel-include-payloads`|| Include prompt/tool-arg/tool-result/completion content in spans (default: redacted to `sha256`+length) |
@@ -157,6 +170,13 @@ You can also specify a skill name to run its eval:
157
170
cmd.Flags().BoolVar(&keepWorkspace, "keep-workspace", false, "Preserve temp workspace directories after execution for debugging")
158
171
cmd.Flags().BoolVar(&autoFileIssue, "auto-file-issue", false, "Auto-file or update a GitHub issue for failing runs (requires gh and GITHUB_REPOSITORY)")
0 commit comments