Instana exporter for OpenTelemetry.
https://www.ibm.com/docs/en/instana-observability/current?topic=opentelemetry-php-exporter
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
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
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();