instana / opentelemetry-php-exporter
Instana exporter for OpenTelemetry PHP.
Installs: 47 160
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 7
Forks: 0
Open Issues: 0
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-05-10 12:32:43 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.