provide-telemetry
2026-03-08
Async-safe exporter retries, opt-in ASGI SLO mode, docs overhaul, and CI hardening
73 files · 4,946+ · 419-
Async-safe exporter retries and opt-in ASGI SLO mode
44 files changed
resilience.pyAsync-safe exporter retry logic — prevents blocking the event loop on transient export failuresslo.pySLO tracking support for ASGI middleware; enables active modemiddleware.pyOpt-in active SLO tracking wired into ASGI request handlingbackpressure.pyBackpressure controls for export pipelinehealth.pyHealth snapshot helpersruntime.pyRuntime reconfiguration entry pointssampling.pySampling policy helperscardinality.pyCardinality policy enforcementpii.pyPII scrubbing helperspropagation.pyW3C trace context propagation__init__.pyPublic API surface updated for new modules_otel.pyInternal OTel loader utilitiesconfig.pyConfig expanded to cover new runtime and SLO settingssetup.pySetup lifecycle updated for new providerscore.pyLogger core updatedprocessors.pyLog processors updated__init__.pyMetrics package initapi.pyMetrics API surfacefallback.pyNo-op fallback metricsinstruments.pyCounter/gauge/histogram wrappers updatedprovider.pyMeterProvider updatedevents.pyEvent name literal enforcementdecorators.pyTracing decorator updatesprovider.pyTracerProvider updatedtest_hardening_features.pyNew hardening feature teststest_middleware_and_setup.pyASGI middleware tests updated for SLO modetest_config_env.pyConfig env var tests updatedconftest.pyShared test fixtures updatedtest_readme_snippets.pyREADME snippet accuracy teststest_otel_loader.pyOTel loader integration teststest_provider_helpers.pyProvider helper tests updatedtest_logger_build_handlers.pyHandler build tests updatedtest_logger_context_processors.pyContext processor tests updatedtest_logger_core.pyLogger core tests updatedtest_metrics_core.pyMetrics core tests updatedtest_event_name_properties.pyProperty-based tests for event name validationtest_exports.pyPublic API export tests updatedtest_events.pySchema event tests updatedtest_setup_lifecycle.pySetup lifecycle tests updatedtest_check_docs_accuracy.pyDocs accuracy gate teststest_check_event_literals.pyEvent literal check teststest_run_mutation_gate.pyMutation gate script teststest_run_performance_smoke.pyPerformance smoke testtest_tracing_core.pyTracing core tests updated
- Exporter retry logic made safe for async contexts — prevents blocking the event loop on transient export failures
harden
behavioral
2 files
resilience.pytest_hardening_features.py
- Added opt-in mode for active SLO tracking in ASGI middleware (previously only passive)
interface
behavioral
2 files
slo.pymiddleware.py
- New runtime modules added: backpressure, cardinality, health, pii, propagation, runtime, sampling — expanding the public API surface
instantiate
behavioral
8 files
backpressure.pycardinality.pyhealth.pypii.pypropagation.pyruntime.pysampling.py__init__.py
Documentation overhaul
17 files changed
README.mdREADME restructured around PyPI install flowARCHITECTURE.mdArchitecture doc updatedCONVENTIONS.mdConventions doc expanded (+16 lines)OPERATIONS.mdOperations runbook updatedPRODUCTION_PROFILES.mdProduction profiles and runbook links addedRELEASE.mdRelease doc updatedREADME.mdExamples overview added02_verify_ingestion.pyUpdated OpenObserve ingestion verification example03_hardening_profile.pyNew hardening profile example02_w3c_propagation_asgi.pyW3C propagation ASGI example03_sampling_and_backpressure.pySampling and backpressure example04_runtime_reconfigure.pyRuntime reconfigure example05_pii_and_cardinality_policy.pyPII and cardinality policy example06_exporter_resilience_modes.pyExporter resilience modes example07_slo_pack_and_health_snapshot.pySLO pack and health snapshot examplecheck_docs_accuracy.pyDocs accuracy gate script addedcheck_event_literals.pyEvent literal check script added
- README restructured around PyPI install flow with docs accuracy gate enforced via check_docs_accuracy.py
specify
internal
3 files
README.mdcheck_docs_accuracy.pytest_readme_snippets.py
- docs/PRODUCTION_PROFILES.md added with production profiles and runbook links
specify
internal
2 files
PRODUCTION_PROFILES.mdOPERATIONS.md
- macOS Colima guidance and non-DinD mode added to local development docs
specify
internal
1 file
CONVENTIONS.md
- Six new telemetry examples added covering W3C propagation, sampling, backpressure, runtime reconfiguration, PII policy, exporter resilience, and SLO snapshots
specify
internal
7 files
02_w3c_propagation_asgi.py03_sampling_and_backpressure.py04_runtime_reconfigure.py05_pii_and_cardinality_policy.py06_exporter_resilience_modes.py07_slo_pack_and_health_snapshot.py03_hardening_profile.py
CI hardening
12 files changed
ci.ymlCI workflow updated with strict examples smoke test and least-privilege permissions.pre-commit-config.yamlPre-commit config updatedcheck_licenses.pyLicense check script addedrun_mutation_gate.pyMutation gate script updatedrun_performance_smoke.pyPerformance smoke script addedpyproject.tomlProject config updatedREUSE.tomlREUSE license metadata updatedVERSIONVersion updateduv.lockDependency lockfile updated (307 lines changed).secrets.baselineSecrets detection baseline updatedCLAUDE.mdProject Claude guidance updatedHANDOFF.mdHandoff notes updated
- Examples smoke test now enforced in CI with minimum required permissions, ensuring examples don’t drift from library API
qualify
internal
2 files
ci.ymltest_run_performance_smoke.py
- License check script added and integrated into CI
baseline
internal
1 file
check_licenses.py
- Dependency lockfile updated reflecting refreshed dependency tree
baseline
internal
2 files
uv.lockpyproject.toml