Files
git.stella-ops.org/docs2/observability-tracing.md
master bc4318ef97 Add tests for SBOM generation determinism across multiple formats
- Created `StellaOps.TestKit.Tests` project for unit tests related to determinism.
- Implemented `DeterminismManifestTests` to validate deterministic output for canonical bytes and strings, file read/write operations, and error handling for invalid schema versions.
- Added `SbomDeterminismTests` to ensure identical inputs produce consistent SBOMs across SPDX 3.0.1 and CycloneDX 1.6/1.7 formats, including parallel execution tests.
- Updated project references in `StellaOps.Integration.Determinism` to include the new determinism testing library.
2025-12-23 18:56:12 +02:00

28 lines
1.1 KiB
Markdown

# Tracing standards
Goals
- Consistent distributed tracing across services, workers, and CLI.
- Safe for offline and air-gapped deployments.
Context propagation
- Use W3C traceparent and baggage only.
- Preserve incoming trace_id and create child spans per operation.
- For async work, attach stored trace context as links rather than a new parent.
Span conventions
- Names use <component>.<operation> (example: policy.evaluate).
- Required attributes: tenant, workload, env, region, version, operation, status.
- HTTP spans: http.method, http.route, http.status_code, net.peer.name, net.peer.port.
- DB spans: db.system, db.name, db.operation, db.statement (no literals).
- Message spans: messaging.system, messaging.destination, messaging.operation, messaging.message_id.
- Errors: status=error with error.code, redacted error.message, retryable.
Sampling
- Default head sampling: 10% non-prod, 5% prod.
- Always sample error or audit spans.
- Override via Tracing__SampleRate per service.
Offline posture
- No external exporters; emit OTLP to local collector or file.
- UTC timestamps only.