41 lines
1.0 KiB
PHP
41 lines
1.0 KiB
PHP
<?php
|
|
namespace Concrete\Package\SimpleOtel;
|
|
|
|
use Concrete\Core\Package\Package;
|
|
use OpenTelemetry\SDK\Trace\TracerProvider;
|
|
use OpenTelemetry\SDK\Trace\SpanProcessor\SimpleSpanProcessor;
|
|
use OpenTelemetry\Contrib\OtlpGrpc\Exporter as OtlpGrpcExporter;
|
|
|
|
class Controller extends Package
|
|
{
|
|
protected $pkgHandle = 'simple_otel';
|
|
protected $appVersionRequired = '8.0';
|
|
protected $pkgVersion = '1.0';
|
|
|
|
public function getPackageName()
|
|
{
|
|
return t('Simple Otel');
|
|
}
|
|
|
|
public function getPackageDescription()
|
|
{
|
|
return t('Integrate OpenTelemetry with Concrete5.');
|
|
}
|
|
|
|
public function on_start()
|
|
{
|
|
require_once __DIR__ . '/vendor/autoload.php';
|
|
require_once __DIR__ . '/config.php';
|
|
|
|
$otlpExporter = new OtlpGrpcExporter([
|
|
'endpoint' => $otel_exporter_otlp_endpoint,
|
|
]);
|
|
|
|
$tracerProvider = new TracerProvider(
|
|
new SimpleSpanProcessor($otlpExporter)
|
|
);
|
|
|
|
\OpenTelemetry\API\Globals::setTracerProvider($tracerProvider);
|
|
}
|
|
}
|