open-telemetry / opentelemetry-auto-pdo
OpenTelemetry auto-instrumentation for PDO
Requires
- php: ^8.2
- ext-opentelemetry: *
- ext-pdo: *
- open-telemetry/api: ^1.0
- open-telemetry/sem-conv: ^1.30
- symfony/polyfill-mbstring: ^1.31
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3
- open-telemetry/sdk: ^1.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.18.4
- vimeo/psalm: ^5.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