Repository navigation
OpenTelemetry Export 2026 10 30
github-actions[bot] edited this page Nov 4, 2026
·
2 revisions
Part of the mainstream-adoption work (Specs & ADRs).
Teams that already run Datadog, Grafana (Tempo), Honeycomb or Jaeger want test runs next to the services they test, in the tool they already open. All of them take OpenTelemetry traces over OTLP. QASight kept runs only in its own history and UI, and Compared With Other Tools told Datadog teams to look elsewhere.
-
One trace per run. A root span for the run, a child span per stage, and a child span per test under its stage. Tests keep their real start and stop times from the stored results (Allure
start/stop); a stage spans its tests, or is laid out from its recordedduration_swhen it has none. Failed and broken tests, red stages and red runs get statusERROR, with the failure message on tests. -
Built from run history.
qasight/services/otel_export.pyreads the stored run (CompletedRunView) and its snapshot, so any recorded run can be sent: right afterqasight runby theotelreporter, or later byqasight otel --cycle/--run-id(afterqasight ingestorpytest --qasighttoo). This is the same split as the Slack and Teams alerts. -
Attributes follow the OpenTelemetry semantic conventions where they exist (
test.suite.name,test.suite.run.status,test.case.name,test.case.result.status,vcs.ref.head.name,vcs.ref.head.revision,vcs.ref.base.name), plustesto.*for the rest (run id, cycle, stage, framework, raw status, counts).service.nameisqasightunlessservice_name/--service-nameorOTEL_SERVICE_NAMEsay otherwise. -
Standard configuration. Endpoint, headers and protocol come from the usual
OTEL_EXPORTER_OTLP_*variables, so a collector already set up for the services works unchanged. The reporter can override them;qasight oteltakes--endpointand--protocolbut never headers, because they usually hold API keys (same rule as webhook URLs). -
Off by default, optional dependency. Nothing is sent unless the
otelreporter is configured orqasight otelis run. The SDK and the OTLP/HTTP exporter are the[otel]extra, sopip install qasightstays light. OTLP/gRPC needsopentelemetry-exporter-otlp-proto-grpcon top, sincegrpciois heavy. -
Errors are reported, not logged. Spans are collected in memory and exported in batches of 512, and a batch the collector refuses fails the reporter (or exits
3) instead of disappearing into a log line. The trace is built as plain data first, so--dry-runand the tests need no SDK.
- Test runs show up in any OTLP backend as traces, searchable by run id, cycle, branch and commit. Slow tests are visible on a timeline; a failing test is an error span.
- One trace per export: sending the same run twice gives two traces.
- Not done: linking test spans to the traces of the service under test (that needs trace context propagated into the tests), metrics or logs over OTLP, and a "View trace" link in the UI.
- Commands and options: Command Reference §
qasight otel.
Generated from docs/Specs & ADRs/OpenTelemetry Export - 2026-10-30.md. Edit it there; changes made in the wiki are overwritten.
Architecture
CLI Commands
Processes & Guides
- CI-CD Pipeline Setup
- E2E Harness Operations Guide
- GitLab Pages Demo
- Publishing Docker Images
- Publishing to Artifactory
- Publishing to PyPI
- Setup Snippets
- Shared Resource Pools
- Team Server
Prompts & Snippets
Roadmap & Strategy
- Feature Gaps and Quick Wins - 2026-10-31
- New User Journey Audit - 2026-11-01
- Paid Features to Offer Free - 2026-10-31
- Product Roadmap
Specs & ADRs
- Affected Test Selection - 2026-10-30
- Alerts Where Developers Look - 2026-10-22
- Architecture Consolidation - 2026-10-06
- Architecture Review - 2026-10-31
- BehaveX Reports - 2026-10-21
- Better Flaky Signal - 2026-11-01
- Command Adapter and JUnit Import - 2026-09-25
- Config JSON Schema - 2026-10-22
- Crash Detection - 2026-10-31
- Delta Comparison Policy
- Docs Site - 2026-10-19
- Docs Vault and Wiki Sync - 2026-10-07
- Easy Setup - 2026-11-01
- Engine Fixes - 2026-11-01
- Engineering Health Review - 2026-10-31
- Exporting Results - 2026-11-01
- Flaky Test Issues - 2026-11-01
- Flaky Test Quarantine - 2026-10-22
- Free Copies of Paid Features - 2026-11-01
- GitHub Action PR Comment - 2026-10-19
- Human-Run Resource Provider - 2026-10-30
- Importer and Integration Bug Hunt - 2026-10-31
- Ingest and Team Server - 2026-10-22
- Interview Readiness Fixes - 2026-10-07
- Library Packaging
- Lifecycle Fixes - 2026-11-02
- MCP Server - 2026-11-01
- New User Journey Automation - 2026-11-01
- Open Source Features - 2026-10-19
- OpenTelemetry Export - 2026-10-30
- Phase 3 Delta Comparison Engine Plan
- Phase 3 Unified Dashboard Plan
- Phase 4 BYOK and Failure Analysis
- Phase 5 UI Redesign - Cycles-First Navigation
- Playwright Adapter - 2026-10-19
- Playwright JSON Import - 2026-10-22
- Plugin API - 2026-10-19
- Product Roadmap Work - 2026-10-25
- Product to Ten - 2026-10-25
- Project Health - 2026-10-26
- QASight Logo - 2026-11-05
- Qualflare Follow-ups - 2026-10-26
- Quarantine From the UI - 2026-11-01
- Specs & ADRs
- Rename to QASight - 2026-11-04
- Repository Pattern - Database-Agnostic Refactor
- Resource Lifecycle Hooks - 2026-10-26
- Resource Pools and Leases - 2026-10-26
- Run Deletion and Stop - 2026-11-02
- Runner Coverage - 2026-10-26
- Scale Runs and Stages - 2026-10-24
- Security and Install Review - 2026-10-31
- Switchable Team Features - 2026-10-24
- Test Delivery Metrics - 2026-11-02
- Test Labels, Environments and Releases - 2026-11-02
- Test Source in AI Summaries - 2026-11-01
- Throwaway Stage Containers - 2026-10-24
- Tidy Cards and Demo Examples - 2026-11-05
- UI Design Review - 2026-10-31
- UI Polish - 2026-11-08
- UI Restyle - 2026-10-19
- UI Review Fixes - 2026-11-01
Testing Workflows
Vault