46 lines
1.9 KiB
Markdown
46 lines
1.9 KiB
Markdown
|
[![Releases](https://img.shields.io/badge/releases-purple)](https://github.com/opentelemetry-php/exporter-otlp/releases)
|
||
|
[![Source](https://img.shields.io/badge/source-exporter--otlp-green)](https://github.com/open-telemetry/opentelemetry-php/tree/main/src/Contrib/Otlp)
|
||
|
[![Mirror](https://img.shields.io/badge/mirror-opentelemetry--php:exporter--otlp-blue)](https://github.com/opentelemetry-php/exporter-otlp)
|
||
|
[![Latest Version](http://poser.pugx.org/open-telemetry/exporter-otlp/v/unstable)](https://packagist.org/packages/open-telemetry/exporter-otlp/)
|
||
|
[![Stable](http://poser.pugx.org/open-telemetry/exporter-otlp/v/stable)](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');
|
||
|
$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).
|