Testland
Browse all skills & agents

qa-distributed-tracing

Distributed tracing assertion testing: 6 skills (jaeger-trace-tests, opentelemetry-trace-assertions, otel-collector-config-tester, tempo-trace-tests, trace-spec-author, zipkin-trace-tests) and 1 agent (trace-coverage-reviewer). Asserts on production trace shape (spans, attributes, parent links, status), not just on aggregate metrics.

Install this plugin

/plugin install qa-distributed-tracing@testland-qa

Part of role bundle: qa-role-backend

qa-distributed-tracing

Sets the observability assertion testing pattern for the marketplace - assertions on production trace shape (spans, attributes, parent links, status semantics), not just on aggregate metrics. Three SDK + query skills (in-process, Jaeger, Zipkin), one spec-authoring skill, and a reviewer agent that audits coverage + cardinality + spec drift.

Pairs naturally with qa-shift-right (synthetic monitoring), qa-saga-cqrs (saga trace shape), and qa-resilience-drills (DR / runbook tracing).

Components

TypeNameDescription
Skillopentelemetry-trace-assertionsIn-process span capture via InMemorySpanExporter + SimpleSpanProcessor (Python), getFinishedSpans() (JS), OpenTelemetryExtension (Java); name + attribute + status + parent assertions; SemConv enforcement
Skilljaeger-trace-testsJaeger all-in-one Docker (OTLP gRPC :4317 / HTTP :4318 / UI+API :16686); /api/traces query + parent-via-references; per-test isolation via unique service.name
Skillzipkin-trace-testsZipkin Docker on :9411; REST API (/api/v2/traces, /api/v2/dependencies); B3 single-header + multi-header propagation tests
Skilltrace-spec-authorBuild-an-X for trace specifications: per-feature span set + required SemConv attributes + status semantics + cardinality rules + assertion checklist
Agenttrace-coverage-reviewerAdversarial reviewer: untraced critical paths + missing SemConv attrs + deprecated keys + hand-rolled span code + cardinality risks + spec drift
Skilltempo-trace-testsGrafana Tempo trace testing via TraceQL queries and the Tempo HTTP API.
Skillotel-collector-config-testerValidate an OpenTelemetry Collector pipeline config (receivers/processors/exporters) end to end.

Install

/plugin marketplace add testland/qa
/plugin install qa-distributed-tracing@testland-qa

Skills

jaeger-trace-tests

Author integration tests that query Jaeger for cross-service trace verification - Jaeger all-in-one Docker for CI (OTLP gRPC :4317 + HTTP :4318 ingest, query API on :16686), `/api/traces?service=X&operation=Y` query patterns, span set + parent-child + duration assertions. Pairs with `opentelemetry-trace-assertions` for in-process unit-level tests.

opentelemetry-trace-assertions

Author trace-shape assertions in tests using OpenTelemetry SDK in-memory exporter - capture spans during test execution, assert on span name + attributes + status + parent-child structure + duration. Cross-language patterns (Python `InMemorySpanExporter` + `SimpleSpanProcessor`, JS `getRecordedSpans()`, Java `OpenTelemetryExtension`); CI integration.

otel-collector-config-tester

Validates OpenTelemetry Collector pipeline configurations and verifies spans flow end-to-end through the collector: runs `otelcol validate --config`, wires the `debug`/`file` exporter for span-output assertions, and integrates the full cycle into CI. Use when a collector config change (new receiver, processor swap, exporter wiring) needs correctness verification before deployment.

tempo-trace-tests

Authors integration tests that query Grafana Tempo for cross-service trace verification - TraceQL `{ }` span selectors targeting `span.`, `resource.`, and intrinsic fields; Tempo HTTP API (`/api/search` with `q=`, `/api/traces/{id}`) for span-set and attribute assertions; local Tempo via Docker single-binary (ports 4317/4318/3200). Use when the production observability stack uses Tempo as the trace backend and tests must verify distributed trace shape, span attributes, or service topology after instrumentation changes.

trace-spec-author

Build a trace specification document per feature - defines the trace shape (root span + child spans + key attributes per OpenTelemetry semantic conventions) that production code MUST emit. The spec drives both implementation reviews AND trace-assertion tests, so a single declarative document is the source of truth for what observability "looks like" for a feature.

zipkin-trace-tests

Author integration tests that query Zipkin for trace verification - Zipkin all-in-one Docker for CI, REST API (`/api/v2/traces`, `/api/v2/services`, `/api/v2/dependencies`), B3 propagation header tests (single-header and multi-header X-B3-* form), dependency-graph assertions. Use when the team uses Zipkin (legacy or Spring Cloud Sleuth heritage).