SimpleJaeger/simple-jaeger.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');