open-telemetry / opentelemetry-auto-pdo
OpenTelemetry auto-instrumentation for PDO
Installs: 740 393
Dependents: 2
Suggesters: 1
Security: 0
Stars: 10
Watchers: 3
Forks: 2
pkg:composer/open-telemetry/opentelemetry-auto-pdo
Requires
- php: ^8.2
- ext-opentelemetry: *
- ext-pdo: *
- open-telemetry/api: ^1.0
- open-telemetry/sem-conv: ^1.36
- symfony/polyfill-mbstring: ^1.31
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3
- open-telemetry/sdk: ^1.0
- open-telemetry/test-utils: ^0.2.0
- phan/phan: ^5.0
- php-http/mock-client: *
- phpstan/phpstan: ^1.1
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
- psalm/plugin-phpunit: ^0.19.2
- vimeo/psalm: 6.4.0
Suggests
- ext-mbstring: For better performance than symfony/polyfill-mbstring
README
This is a read-only subtree split of https://github.com/open-telemetry/opentelemetry-php-contrib.
OpenTelemetry PDO (PHP DataObjects) auto-instrumentation
Please read https://opentelemetry.io/docs/instrumentation/php/automatic/ for instructions on how to install and configure the extension and SDK.
Overview
Auto-instrumentation hooks are registered via composer, and spans will automatically be created for
selected PDO
and PDOStatement
methods.
Configuration
The extension can be disabled via runtime configuration:
OTEL_PHP_DISABLED_INSTRUMENTATIONS=pdo
In case UI used to view telemetry data does not support links between spans (for example newrelic),
you can optionally enable setting db statements attribute to fetchAll
and execute
spans using
configuration directive:
otel.instrumentation.pdo.distribute_statement_to_linked_spans = true
or environment variable:
OTEL_PHP_INSTRUMENTATION_PDO_DISTRIBUTE_STATEMENT_TO_LINKED_SPANS=true
Database Context Propagation
Enable context propagation for database queries by installing the following packages:
composer require open-telemetry/opentelemetry-sqlcommenter