instana / opentelemetry-php-exporter
Instana exporter for OpenTelemetry PHP.
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.4.5
- open-telemetry/api: ^1.0
- open-telemetry/sdk: ^1.0
Requires (Dev)
This package is auto-updated.
Last update: 2025-01-14 14:54:50 UTC
README
Instana exporter for OpenTelemetry.
Documentation
https://www.ibm.com/docs/en/instana-observability/current?topic=opentelemetry-php-exporter
Installing via Composer
Install Composer in a common location or in your project
curl -s https://getcomposer.org/installer | php
Install via Composer
composer require instana/opentelemetry-php-exporter
Usage
Utilizing the OpenTelemetry PHP SDK, we can send spans natively to Instana, by providing an OpenTelemetry span processor our SpanExporterInterface
.
This can be manually constructed, or created from the SpanExporterFactory
. See the factory implementation for how to manually construct the SpanExporter
. The factory reads from two environment varibles which can be set according, else will fallback onto the following defaults
INSTANA_AGENT_HOST=127.0.0.1 INSTANA_AGENT_PORT=42699
Example
use OpenTelemetry\SDK\Trace\SpanProcessor\SimpleSpanProcessor; use OpenTelemetry\SDK\Trace\TracerProvider; $tracerProvider = new TracerProvider( new SimpleSpanProcessor( (new \Instana\SpanExporterFactory)->create() ) ); $tracer = $tracerProvider->getTracer('io.instana.opentelemetry.php'); $span = $tracer->spanBuilder('root')->startSpan(); $span->setAttribute('remote_ip', '1.2.3.4') ->setAttribute('country', 'CAN'); $span->addEvent('generated_session', [ 'id' => md5((string) microtime(true)), ]); $span->end(); $tracerProvider->shutdown();