34 lines
868 B
PHP
34 lines
868 B
PHP
<?php
|
|
/*
|
|
Plugin Name: OpenTelemetry Integration
|
|
Description: Integrate OpenTelemetry with WordPress.
|
|
Version: 1.0
|
|
Author: Colin
|
|
*/
|
|
|
|
// Ensure the autoload file is included
|
|
require_once __DIR__ . '/vendor/autoload.php';
|
|
|
|
use OpenTelemetry\SDK\Trace\TracerProviderFactory;
|
|
use OpenTelemetry\SDK\Common\Util\ShutdownHandler;
|
|
|
|
function otel_init() {
|
|
$tracerProvider = (new TracerProviderFactory())->create();
|
|
$GLOBALS['tracer'] = $tracerProvider->getTracer('wordpress');
|
|
|
|
$shutdownHandler = new ShutdownHandler($tracerProvider);
|
|
register_shutdown_function([$shutdownHandler, 'shutdown']);
|
|
}
|
|
add_action('init', 'otel_init');
|
|
|
|
function otel_trace_example() {
|
|
$tracer = $GLOBALS['tracer'];
|
|
$span = $tracer->startAndActivateSpan('example-span');
|
|
|
|
// Your custom code
|
|
|
|
$tracer->endActiveSpan();
|
|
}
|
|
add_action('wp_head', 'otel_trace_example');
|
|
?>
|