Skip to content

instana/opentelemetry-php-exporter

Repository files navigation

Instana OpenTelemetry PHP Exporter

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();

Releases

No releases published

Languages