Supported Technologies

Supported PHP versions, SAPIs, operating systems, frameworks, and libraries for OpenTelemetry PHP Distro.

OpenTelemetry PHP Distro is a distribution of OpenTelemetry PHP. It inherits OpenTelemetry compatibility and extends runtime features with native components.

Auto-instrumentation scope

Auto-instrumentation captures telemetry for supported frameworks and libraries, but it does not instrument:

  • Proprietary or custom framework internals
  • Closed-source components without instrumentation hooks
  • Application-specific business logic

For unsupported areas, use manual OpenTelemetry instrumentation.

PHP versions

Supported PHP versions: 8.1 to 8.5.

Supported SAPIs

  • php-cli
  • php-fpm
  • php-cgi/fcgi
  • mod_php (prefork)

Supported operating systems

  • Linux
    • Architectures: x86_64, arm64
    • glibc-based systems: deb, rpm
    • musl-based systems (Alpine): apk

Instrumented frameworks

  • Laravel 6.x to 13.x
  • Slim 4.x

Instrumented libraries

  • cURL
  • HTTP async (php-http/httplug)
  • MySQLi
  • PDO
  • PostgreSQL
  • PSR-18 HTTP Client (psr/http-client)

Included auto-instrumentation packages

NameIncluded from distro versionPackage
curl1.0open-telemetry/opentelemetry-auto-curl
http-async-client1.0open-telemetry/opentelemetry-auto-http-async
laravel1.0open-telemetry/opentelemetry-auto-laravel
mysqli1.0open-telemetry/opentelemetry-auto-mysqli
pdo1.0open-telemetry/opentelemetry-auto-pdo
postgresql1.2open-telemetry/opentelemetry-auto-postgresql
psr180.5open-telemetry/opentelemetry-auto-psr18
slim1.0open-telemetry/opentelemetry-auto-slim

Included metrics packages

Included from distro versionPackageEmitted metrics
0.6.0open-telemetry/opentelemetry-metrics-runtimePHP memory usage, GC cycles, peak memory

Additional runtime features

  • Automatic root span creation
  • Root span URL grouping
  • Inferred spans
  • Attribute-based instrumentation (#[WithSpan], #[SpanAttribute])
  • Background telemetry sending
  • PHP runtime metrics (memory, GC — exported automatically via the native async transport)

Background sending (non-blocking export) works with OTLP http/protobuf (default). If the exporter or protocol is changed to an unsupported transport (for example gRPC), export becomes synchronous.