| Server IP : _ / Your IP : 169.254.129.1 Web Server : nginx/1.28.0 System : Linux 89e302d72aa1 6.6.143.1-1.azl3 #1 SMP PREEMPT_DYNAMIC Mon Jul 6 04:01:14 UTC 2026 x86_64 User : nginx ( 103) PHP Version : 8.2.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/otel/open-telemetry/exporter-otlp/ |
Upload File : |
[](https://github.com/opentelemetry-php/exporter-otlp/releases)
[](https://github.com/open-telemetry/opentelemetry-php/tree/main/src/Contrib/Otlp)
[](https://github.com/opentelemetry-php/exporter-otlp)
[](https://packagist.org/packages/open-telemetry/exporter-otlp/)
[](https://packagist.org/packages/open-telemetry/exporter-otlp/)
# OpenTelemetry OTLP exporter
## Documentation
https://opentelemetry.io/docs/instrumentation/php/exporters/#otlp
## Usage
See https://github.com/open-telemetry/opentelemetry-php/blob/main/examples/traces/exporters/otlp_http.php
## Http transport
```php
$transport = (new \OpenTelemetry\Contrib\Otlp\OtlpHttpTransportFactory())->create('http://collector:4318', 'application/json');
$exporter = new \OpenTelemetry\Contrib\Otlp\SpanExporter($transport);
```
## gRPC transport
To export over gRPC, you will need to additionally install the `open-telemetry/transport-grpc` package.
## Protobuf Runtime library
OTLP exporting requires a [protobuf implementation](https://github.com/protocolbuffers/protobuf/tree/main/php).
The `open-telemetry/gen-otlp-protobuf` requires the `google/protobuf` native implementation. It's fine for development, but
not recommended for production usage.
The recommended option for production is to install the Protobuf C extension for PHP. The extension
makes exporting _significantly_ more performant. This can be easily installed with the following command:
```shell
pecl install protobuf
```
## Contributing
This repository is a read-only git subtree split.
To contribute, please see the main [OpenTelemetry PHP monorepo](https://github.com/open-telemetry/opentelemetry-php).