flow-php / telemetry-otlp-bridge
Flow PHP Telemetry - OTLP Exporter Bridge
Fund package maintenance!
norberttech
flow-php.com/sponsor
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/flow-php/telemetry-otlp-bridge
Requires
- php: ~8.3.0 || ~8.4.0 || ~8.5.0
- flow-php/telemetry: 1.x-dev
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
Requires (Dev)
- google/protobuf: ^4.0
- grpc/grpc: ^1.74
- nyholm/psr7: ^1.8
- open-telemetry/gen-otlp-protobuf: ^1.8
- symfony/http-client: ^6.4 || ^7.3 || ^8.0
Suggests
- ext-grpc: Required for gRPC transport
- google/protobuf: Required for gRPC transport with binary protobuf encoding
- open-telemetry/gen-otlp-protobuf: Generated PHP classes for OTLP protobuf messages (required for gRPC transport)
This package is auto-updated.
Last update: 2026-01-16 22:46:26 UTC
README
OTLP (OpenTelemetry Protocol) exporter bridge for Flow PHP Telemetry library.
Enables exporting traces, metrics, and logs to any OTLP-compatible backend:
- SigNoz
- Jaeger
- Grafana (Tempo, Mimir, Loki)
- Sentry
- Datadog
- Honeycomb
- New Relic
- Any OTLP-compatible collector
Important
This repository is a subtree split from our monorepo. If you'd like to contribute, please visit our main monorepo flow-php/flow.
Installation
composer require flow-php/telemetry-otlp-bridge
You also need a PSR-18 HTTP client:
composer require symfony/http-client nyholm/psr7
Usage
<?php use function Flow\Bridge\Telemetry\OTLP\DSL\otlp_telemetry; use function Flow\Bridge\Telemetry\OTLP\DSL\otlp_http_transport; use Nyholm\Psr7\Factory\Psr17Factory; use Symfony\Component\HttpClient\Psr18Client; $psr17Factory = new Psr17Factory(); $httpClient = new Psr18Client(); $telemetry = otlp_telemetry( transport: otlp_http_transport( endpoint: 'http://localhost:4318', httpClient: $httpClient, requestFactory: $psr17Factory, streamFactory: $psr17Factory, ), serviceName: 'my-etl-pipeline', ); $tracer = $telemetry->tracer('my-component'); $span = $tracer->startSpan('process-batch'); // ... work ... $span->end(); $telemetry->flush();