38 lines
939 B
PHP
38 lines
939 B
PHP
<?php
|
|
/*
|
|
Plugin Name: SimpleJaeger
|
|
Description: A plugin to integrate Jaeger tracing with WordPress
|
|
Version: 1.0
|
|
Author: colin
|
|
*/
|
|
|
|
require __DIR__ . '/vendor/autoload.php';
|
|
|
|
use OpenTelemetry\Sdk\Trace\TracerProvider;
|
|
use OpenTelemetry\Sdk\Trace\Exporter\JaegerExporter;
|
|
use OpenTelemetry\Sdk\Trace\SpanProcessor\SimpleSpanProcessor;
|
|
|
|
function init_simple_jaeger_tracing() {
|
|
$jaegerExporter = new JaegerExporter(
|
|
'JaegerExporter',
|
|
'http://localhost:14268/api/traces'
|
|
);
|
|
|
|
$tracerProvider = new TracerProvider(
|
|
new SimpleSpanProcessor($jaegerExporter)
|
|
);
|
|
|
|
$tracer = $tracerProvider->getTracer('io.opentelemetry.contrib.php');
|
|
|
|
$span = $tracer->spanBuilder('wordpress-request')->startSpan();
|
|
$scope = $span->activate();
|
|
|
|
$span->setAttribute('user', 'admin');
|
|
|
|
$span->end();
|
|
$scope->detach();
|
|
$tracerProvider->shutdown();
|
|
}
|
|
|
|
add_action('init', 'init_simple_jaeger_tracing');
|