performance-x / opentelemetry-auto-drupal
OpenTelemetry auto-instrumentation for Drupal
Requires
- ext-opentelemetry: *
- nyholm/psr7: ^1.8@dev
- open-telemetry/api: ^1.2
- open-telemetry/sdk: ^1.2
- open-telemetry/sem-conv: ^1.27
- performance-x/opentelemetry-php-instrumentation-trait: ^1.1.1
- symfony/http-client: 6.4.x-dev
This package is not auto-updated.
Last update: 2025-05-29 17:59:27 UTC
README
This is an OpenTelemetry auto-instrumentation package for Drupal framework applications.
Please read https://opentelemetry.io/docs/instrumentation/php/automatic/ for instructions on how to install and configure the extension and SDK.
Requirements
- OpenTelemetry extension
- OpenTelemetry SDK and exporters (required to actually export traces)
Overview
The following features are supported:
- root span creation (Drupal core hooks)
- context propagation
- HttpClient client span creation
- HttpClient context propagation
- Message Bus span creation
- Message Transport span creation
Installation via composer
$ composer require mladenrtl/opentelemetry-auto-drupal
Installing dependencies and executing tests
From Drupal subdirectory:
$ composer install $ ./vendor/bin/phpunit tests
Configuration
The extension can be disabled via runtime configuration:
OTEL_PHP_DISABLED_INSTRUMENTATIONS=drupal
Query Explain Threshold Configuration
The EXPLAIN threshold feature allows you to set a minimum duration threshold for capturing EXPLAIN results in your traces. When OTEL_PHP_DRUPAL_EXPLAIN_QUERIES
is enabled, you can use OTEL_PHP_DRUPAL_EXPLAIN_THRESHOLD
to specify the minimum query duration (in milliseconds) that should trigger EXPLAIN capture.
For example:
OTEL_PHP_DRUPAL_EXPLAIN_THRESHOLD=100 # Capture EXPLAIN for queries taking longer than 100ms