Documentation Index
Fetch the complete documentation index at: https://mintlify.com/tracewayapp/opentelemetry-symfony-bundle/llms.txt
Use this file to discover all available pages before exploring further.
bin/console traceway:doctor runs a suite of diagnostic checks across runtime extensions, SDK environment variables, bundle wiring, and OTLP endpoint reachability. Run it after installation, after changing environment variables, or in CI to catch misconfigurations before they reach production. The command is also discoverable in the debug: namespace as debug:traceway.
Terminal output
Below is an example of what the command prints when everything is healthy:Flags
Each flag adjusts what the command checks and how it exits.| Flag | Default | Purpose |
|---|---|---|
--format=text|json | text | json emits a stable versioned envelope for CI consumption |
--skip-network | off | Skip reachability checks — useful in CI without a live backend |
--only=name1,name2 | all | Restrict the run to a comma-separated list of check names |
--fail-on=info|warning|error | error | Severity threshold that triggers exit code 1 |
--timeout=N | 1.0 | Network probe timeout in seconds |
Checks performed
The command runs checks across four groups, each corresponding to a section in the output.Runtime
Extension conflicts and protocol prerequisites:
ext-opentelemetry— flags conflict risk if the experimental C extension is loaded alongside the PHP SDKext-protobuf— required only whenOTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf- gRPC transport — required only when
OTEL_EXPORTER_OTLP_PROTOCOL=grpc
SDK Configuration
Environment variable validation:
OTEL_SERVICE_NAME— warns when unsetOTEL_TRACES_EXPORTERandOTEL_EXPORTER_OTLP_ENDPOINTOTEL_EXPORTER_OTLP_PROTOCOLandOTEL_TRACES_SAMPLER- Active
TracerProviderclass
Bundle Configuration
Symfony wiring checks:
- Messenger middleware registration in the bus chain
OtelLogHandlerregistration when log export is enabled- AWS X-Ray dependency presence when X-Ray propagator or ID generator is configured
Connectivity
Network reachability:
- OTLP endpoint probe — fires an HTTP request to
OTEL_EXPORTER_OTLP_ENDPOINTand reports status code and latency - Skipped entirely when
--skip-networkis passed or when the check implementsNetworkCheckInterface
CI usage
The JSON output is stable and safe to parse in scripts. The envelope always containsversion, summary, and checks.
- Default (fail on error)
- Strict (fail on warning)
- Filter by check name
1 only when at least one check reaches the error severity. Safe for most pipelines — skips noise from informational and warning-level results.The JSON envelope shape (
{version, summary, checks}) is considered stable API and will not change without a major version bump. It is safe to script against in CI pipelines.Custom checks
Doctor is extensible through thetraceway.doctor.check service tag. Implement CheckInterface and Symfony’s autoconfigure wiring handles the rest.
CheckInterface
CheckResult factory methods
Full example
Available check groups
CheckGroup::Bundle for app-specific wiring checks, or CheckGroup::Connectivity combined with NetworkCheckInterface for endpoint probes.