open-telemetry / opentelemetry-auto-postgresql
OpenTelemetry auto-instrumentation for postgresql
dev-main
2025-08-01 14:03 UTC
Requires
- php: ^8.2
- ext-opentelemetry: *
- ext-pgsql: *
- 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.19.2
- vimeo/psalm: 6.4.0
Suggests
- ext-mbstring: For better performance than symfony/polyfill-mbstring
This package is auto-updated.
Last update: 2025-08-01 14:05:17 UTC
README
This is a read-only subtree split of https://github.com/open-telemetry/opentelemetry-php-contrib.
OpenTelemetry PostgreSQL auto-instrumentation
Please read https://opentelemetry.io/docs/instrumentation/php/automatic/ for instructions on how to install and configure the extension and SDK.
Overview
This package provides auto-instrumentation for the PostgreSQL native PHP extension (ext-pgsql
).
Hooks are registered via Composer, and client spans are automatically created for key database operations.
Supported functions include:
Connection
pg_connect
pg_pconnect
Queries
pg_query
pg_query_params
pg_send_query
pg_send_query_params
pg_get_result
Prepared Statements
pg_prepare
pg_send_prepare
pg_execute
pg_send_execute
Table/Row Operations
pg_insert
pg_select
pg_update
pg_delete
COPY
pg_copy_from
pg_copy_to
Large Objects (LOB)
pg_lo_create
pg_lo_open
pg_lo_write
pg_lo_read
pg_lo_read_all
pg_lo_unlink
pg_lo_import
pg_lo_export
Configuration
Disabling PostgreSQL instrumentation
The extension can be disabled via runtime configuration:
OTEL_PHP_DISABLED_INSTRUMENTATIONS=postgresql
Compatibility
PHP 8.2 or newer is required