Release
v2.11.0
many eyes, one paneArgus now exports OpenTelemetry metrics, logs and traces for every run — opt-in through environment variables, mirroring k6 — and ships a versioned Grafana dashboard suite with org → subgroup → project drill-down. Fleet health, remediation outcomes and exact failures, all without downloading job artifacts.
Highlights
- 01
OpenTelemetry export, k6-style
ARGUS_OTEL=on turns on OTLP metrics, logs, and traces to your own collector. ARGUS-prefixed variables win over standard OTEL_* SDK variables; endpoint and headers stay standard (masked CI/CD variables). Export failures never fail or stall a run beyond a bounded 5s flush budget.
Read the guide → - 02
Grafana dashboard suite with drill-down
Four versioned dashboards ship with the release — Fleet Overview, Run Performance, Security Outcomes, and Investigation — sharing chained org → subgroup → project variables, semantic colours, fleet version-adoption panels, per-panel tooltips, and a MONITORING.md runbook: the 5-minute daily glance, four paste-ready alerts, and the triage flows.
- 03
Exact failures in Grafana
Structured failure events carry the last ~100 lines of the actual mvn/npm verify output and the precise GitLab API error, so 'why did this team's run fail' is answered from the Investigation dashboard — job artifacts stay for deep dives.
- 04
One trace per run
argus.run → a span per pipeline phase → per-artifact qualification and per-MR publication spans, with grand-slam outcomes and qualification modes as metrics — the 'why was this run slow' toolkit.
Full notes
Added
- OTLP export of 18 low-cardinality metrics (runs, phases, vulnerabilities found/remediated/residual, strategy mix, qualification verdicts by mode, grand-slam outcomes, MRs, upstream latency), run traces, and mirrored logs with structured failure events — opt-in via ARGUS_OTEL=on, configured entirely by environment variables (ADR-042).
- Identity on every signal: org (only from ARGUS_OTEL_ORG, never derived), project from CI_PROJECT_NAME (the display name), subgroup from CI_PROJECT_PATH, service.version, and custom ARGUS_OTEL_ATTRIBUTES — with no per-run identifiers on metrics, keeping Prometheus series bounded at one set per project.
- argus-grafana-dashboards-<version>.zip release asset: Fleet Overview, Run Performance, Security Outcomes, and Investigation dashboards with chained org → subgroup → project variables and per-panel tooltips, plus the required collector configuration (deltatocumulative + resource_to_telemetry_conversion).
- CI component inputs otel, otel_exporter, otel_attributes, otel_service_name, and otel_org; REG-064 exercises the full export path against an OTLP sink and proves console output stays byte-compatible.
Changed
- Job logs are Spring-Boot-style:
2026-07-06T21:38:21.123Z INFO --- [argus] [cli] : message. Message content is unchanged —timer/…andCVE: id=…remain the stable greppable forms. - The Simulation page is rebuilt as the Watchroom — a one-screen, keyboard-driven reconstruction of a run that shows Argus's reasoning phase by phase, including the telemetry flush to your OpenTelemetry collector.
- The diagnostic skill ships as
argus-diagnostic-skill.zip(previouslyargus-diagnostic.skill) — a plain zip opens everywhere without explanation. Earlier releases keep their original asset name.
Fixed
- Release asset permalinks (
/downloads/argus-diagnostic.skill, dashboards zip) no longer 404: the CI release step doubled the/downloads/prefix indirect_asset_path; existing releases back to 2.9.0 were repaired in place.