OpenTelemetry Accepted Elastic's PHP Distro Donation

The OpenTelemetry community accepted the donation of the OpenTelemetry PHP Distro project. This post summarizes what the donation enables, how it relates to existing PHP instrumentation paths, and where contributors can help next.

Why this donation matters

OpenTelemetry provides a common observability standard, but OpenTelemetry PHP adoption can still be difficult in environments where installing or compiling native extensions is restricted. Common blockers include:

  • Restricted or hardened systems where native extensions cannot be built during deployment.
  • Runtime images that are not rebuilt frequently.
  • Operational workflows that rely on OS package managers.

The PHP Distro addresses these constraints by focusing on an operations-first installation model.

What the PHP Distro provides

The project combines native and PHP runtime components into a single deployment model for production environments. Current capabilities include:

  • Prebuilt native extension and loader artifacts.
  • Runtime/bootstrap logic for auto-instrumentation.
  • Packaging support for deb, rpm, and apk.
  • OTLP protobuf serialization without requiring ext-protobuf.
  • Inferred spans and URL grouping features for better visibility.
  • OpAMP integration support.

For teams running PHP 8.1 through 8.4, this can reduce adoption overhead compared with custom build pipelines.

Relationship to existing PHP instrumentation

The distro builds on the same OpenTelemetry PHP APIs and SDK, so it does not fork or replace core components. Teams can choose either installation path on a per-service basis:

  • Distro path: package-managed, operations-first rollout with minimal code changes.
  • Composer-based path: manual control and portability where application-level packaging is preferred.

Choosing between them depends on your deployment model, security constraints, and ownership of runtime packaging.

Practical rollout checklist

Before broad production rollout, validate the following:

  • Runtime compatibility across PHP versions and SAPIs (php-fpm, mod_php, CLI).
  • Package format and architecture support in your Linux distributions.
  • Telemetry quality (span completeness, naming, exporter behavior).
  • Operational safety (restart and rollback procedures, version pinning).

A lightweight validation matrix across representative services can help avoid rework later.

Current status and next topics

The project has reached a major milestone and is moving toward a first beta release. Active follow-up topics include:

  • Class and namespace shadowing to reduce dependency collisions.
  • Declarative configuration support.
  • PHP 8.5 compatibility.
  • Central configuration capabilities aligned with OpenTelemetry policy work.
  • Ongoing alignment between upstream OpenTelemetry distro work and vendor distributions built on top of it.

How to contribute

If you want to help:

  • Test the distro in real environments and share compatibility findings.
  • Report installation and runtime issues in opentelemetry-php-distro repository.
  • Propose documentation improvements for deployment, migration, and troubleshooting.
  • Join OpenTelemetry PHP and relevant SIG discussions to align roadmap and user guidance.

You can also review the donation context and discussion in open-telemetry/community issue #2846.