instana / opentelemetry-php-exporter
Instana exporter for OpenTelemetry PHP.
Installs: 72 819
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 7
Forks: 1
Open Issues: 0
pkg:composer/instana/opentelemetry-php-exporter
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.4.5
- open-telemetry/api: ^1.1
- open-telemetry/sdk: ^1.1
Requires (Dev)
This package is auto-updated.
Last update: 2025-08-01 03:32:47 UTC
README
Instana exporter for OpenTelemetry.
Documentation
https://www.ibm.com/docs/en/instana-observability/current?topic=php-opentelemetry-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 variables which can be set according, else will fallback onto the following defaults
INSTANA_AGENT_HOST=127.0.0.1 INSTANA_AGENT_PORT=42699
The service name that is visible in the Instana UI can be configured with the following environment variables. OpenTelemetry provides OTEL_SERVICE_NAME (see documentation here) as a way to customize this within the SDK. We also provide INSTANA_SERVICE_NAME which will be taken as the highest precedence.
INSTANA_SERVICE_NAME=custom-service-name
Example
use OpenTelemetry\SDK\Trace\SpanProcessor\SimpleSpanProcessor; use OpenTelemetry\SDK\Trace\TracerProvider; $tracerProvider = new TracerProvider( new SimpleSpanProcessor( Registry::spanExporterFactory("instana")->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();
Contributions
This repo is maintained by IBM Instana and is read-only. Issues and other contributions should be reported as part of standard Instana product support.