Symfony Telemetry
packages/symfony now owns the baseline telemetry wiring for Symfony applications.
The package keeps telemetry optional, but once enabled it provides:
- package-owned exporter selection under
instructor.telemetry - projector composition for Instructor, Polyglot, HTTP, AgentCtrl, and native agents
- one shared runtime bridge attached to the package-owned event bus
- lifecycle-safe flush and shutdown hooks for HTTP, console, and Messenger worker contexts
Minimal Setup
Cognesy\Telemetry\Application\TelemetryCognesy\Telemetry\Domain\Contract\CanExportObservationsCognesy\Telemetry\Application\Projector\CanProjectTelemetryCognesy\Telemetry\Application\Projector\RuntimeEventBridge
Exporter Model
Supporteddriver values are:
nullotellangfuselogfirecomposite
enabled: falsekeeps the telemetry surface resolved but effectively no-opdriver: nullgives the package a predictable no-export baselinedriver: compositefans out todrivers.composite.exporters- exporters with incomplete credentials degrade to the null path instead of leaving autowiring ambiguous
Projector Selection
Runtime projectors are selected explicitly:HTTP Chunk Capture
HTTP streaming chunk capture stays explicit:Lifecycle Behavior
The package now flushes or shuts down telemetry automatically in the baseline Symfony runtime shapes:- HTTP: on kernel terminate
- Console: on command terminate and command error
- Messenger workers: after handled messages, after failed messages, and on worker stop