friendsofopentelemetry / opentelemetry-bundle
Traces, metrics, and logs instrumentation within your Symfony application
Installs: 750
Dependents: 0
Suggesters: 0
Security: 0
Stars: 28
Watchers: 8
Forks: 4
Open Issues: 16
Type:symfony-bundle
Requires
- php: >=8.2
- guzzlehttp/guzzle: ^7.9
- guzzlehttp/psr7: ^2.7
- monolog/monolog: ^3.8
- open-telemetry/api: ^1
- open-telemetry/context: ^1
- open-telemetry/opentelemetry-logger-monolog: ^1
- open-telemetry/opentelemetry-propagation-server-timing: ^0
- open-telemetry/opentelemetry-propagation-traceresponse: ^0
- open-telemetry/sdk: ^1
- open-telemetry/sem-conv: ^1
- open-telemetry/symfony-sdk-bundle: ^0
- symfony/config: ^7.2
- symfony/dependency-injection: ^7.2
- symfony/event-dispatcher: ^7.2
- zenstruck/dsn: ^0.2
- zenstruck/uri: ^2.3
Requires (Dev)
- ext-grpc: *
- ext-mbstring: *
- ext-opentelemetry: *
- ext-pdo: *
- ext-pdo_sqlite: *
- ext-xdebug: *
- doctrine/dbal: ^3.8 || ^4.2
- doctrine/doctrine-bundle: ^2.13
- doctrine/doctrine-migrations-bundle: ^3.4
- doctrine/orm: ^2.18 || ^3.3
- ergebnis/composer-normalize: ^2.45
- matthiasnoback/symfony-config-test: ^5.2
- matthiasnoback/symfony-dependency-injection-test: ^6.0
- mcaskill/composer-exclude-files: ^4.0
- nyholm/symfony-bundle-test: ^3.0
- open-telemetry/exporter-otlp: ^1
- open-telemetry/exporter-zipkin: ^1
- open-telemetry/transport-grpc: ^1
- phpunit/phpunit: ^11.5
- pyrech/composer-changelogs: ^2.1
- roave/security-advisories: dev-master
- symfony/browser-kit: ^7.2
- symfony/cache: ^7.2
- symfony/framework-bundle: ^7.2
- symfony/http-client: ^7.2
- symfony/http-kernel: ^7.2
- symfony/mailer: ^7.2
- symfony/messenger: ^7.2
- symfony/monolog-bundle: ^3.10
- symfony/phpunit-bridge: ^7.2
- symfony/runtime: ^7.2
- symfony/twig-bundle: ^7.2
- symfony/yaml: ^7.2
- twig/twig: ^3.18
- zalas/phpunit-globals: ^3.5
Suggests
- doctrine/doctrine-bundle: Needed to enable Doctrine DBAL & ORM instrumentation
- open-telemetry/exporter-otlp: Needed to export OpenTelemetry data via OTPL
- open-telemetry/exporter-zipkin: Needed to export OpenTelemetry data via Zipkin
- open-telemetry/opentelemetry-logger-monolog: Need to export logs from Monolog via OpenTelemetry
- open-telemetry/transport-grpc: Needed to export OpenTelemetry data via gRPC
- symfony/cache: Needed to enable Symfony Cache instrumentation
- symfony/console: Needed to enable Symfony Console instrumentation
- symfony/http-client: Needed to enable Symfony HttpClient instrumentation
- symfony/http-kernel: Needed to enable Symfony HttpKernel instrumentation
- symfony/mailer: Needed to enable Symfony Mailer instrumentation
- symfony/messenger: Needed to enable Symfony Messenger instrumentation
- symfony/monolog-bundle: Needed to register OpenTelemetry handler in Symfony Monolog service
This package is auto-updated.
Last update: 2025-03-09 01:19:45 UTC
README
Traces, metrics, and logs instrumentation within your Symfony application.
Overview
OpenTelemetry is an observability framework – an API, SDK, and tools that are designed to aid in the generation and collection of application telemetry data such as metrics, logs, and traces.
For more information, visit the OpenTelemetry PHP SDK documentation.
This bundle provides a seamless integration of the OpenTelemetry PHP SDK within your Symfony application.
Documentation
Please read the documentation: https://friendsofopentelemetry.github.io/opentelemetry-bundle/
Contributing
Found a bug, have a suggestion for a new feature? Please read the contribution guide and submit an issue.
Versioning
This section outlines how pre-release versions will be published until the first stable release is achieved and the goals for each stage.
Backward compatibility will not be provided during pre-release stages, as our focus is on progressing toward the stable release. Consequently, breaking changes, such as package upgrades and configuration modifications, may occur without notice.
Alpha
The goal of the Alpha release is to achieve full integration of the tracing, metering, and logging services provided by the OpenTelemetry SDK.
To accomplish this:
- All services and their dependencies must be fully declared in the bundle configuration.
- Services should be easily overridden by user-defined service definitions following Symfony's dependency injection principles.
Once the services are functional according to OpenTelemetry SDK capabilities and Symfony's service definitions, this phase will be complete.
Beta
The goal of the Beta release is to enable tracing instrumentation for a Symfony application, either automatically or selectively.
Instrumentation goals include:
- Allowing instrumentation of Symfony components through defined entry points.
- Providing automatic (opt-out) instrumentation, where components are instrumented by default, with the option to exclude specific components.
- Enabling selective instrumentation, allowing users to explicitly choose which components to instrument through provided APIs.
For more details on instrumentation requirements, refer to the Traces Instrumentation Documentation.
This phase will conclude once:
- All components are fully covered by instrumentation.
- Both automatic and selective configuration methods are implemented.
Stable
To complete the Stable release, the following goals must be met:
- Full compliance with OpenTelemetry Trace Semantic Conventions.
- Stabilization of tracing instrumentation, incorporating feedback and addressing reported issues.
- Comprehensive test coverage for each component.
- A complete documentation set, covering tracing services, configurations, and bundle capabilities.
Credits
License
All the code in this repository is released under the MIT License, for more information take a look at the LICENSE file.