beta/otel.base

There is no license information available for the latest version (1.0.1) of this package.

1.0.1 2025-04-17 07:53 UTC

This package is auto-updated.

Last update: 2025-04-22 08:15:06 UTC


README

Пример описания HTTP контроллера:

use Otel\Base\Util\RequestHelper;
use Psr\Http\Server\RequestHandlerInterface;


class SomeHttpController implements RequestHandlerInterface 
{
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        $spanManager = RequestHelper::getSpanManagerFromRequest($request);
        $spanManager->getSpan()->setAttribute('someSpanAttribute', 'someValue')
        $spanManager->getSpan()->addEvent(
            'startController', 
            ['firstEventAttribute' => 1, 'secondEventAttribute' => 2]
        );
        
        ....
    }
}

Абстрактный пример инициализации REST API приложения с интеграцией OpenTelemetry

use Otel\Base\OTelMiddleware;
use Otel\Base\OTelFactory;

$oTelFactory = new OTelFactory('./otel.json');
$oTelMiddleware = OTelMiddleware::initWithFactory($oTelFactory);
$someRestApplication->registerMiddleware($oTelMiddleware);
$router = $someRestApplication->getRouter();
$router->registerController('GET', '/api/handle', new SomeHttpController());

$someRestApplication->run();