Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. AutoRootSpan.php

function AutoRootSpan::create

@psalm-suppress ArgumentTypeCoercion @internal

1 call to AutoRootSpan::create()
SdkAutoloader::autoload in vendor/open-telemetry/sdk/SdkAutoloader.php

File

vendor/open-telemetry/sdk/Trace/AutoRootSpan.php, line 38

Class

AutoRootSpan

Namespace

OpenTelemetry\SDK\Trace

Code

public static function create(ServerRequestInterface $request) : void {
    $tracer = Globals::tracerProvider()->getTracer('io.opentelemetry.php.auto-root-span', null, Version::VERSION_1_25_0->url());
    $parent = Globals::propagator()->extract($request->getHeaders());
    $startTime = array_key_exists('REQUEST_TIME_FLOAT', $request->getServerParams()) ? $request->getServerParams()['REQUEST_TIME_FLOAT'] : (int) microtime(true);
    $span = $tracer->spanBuilder($request->getMethod())
        ->setSpanKind(SpanKind::KIND_SERVER)
        ->setStartTimestamp((int) ($startTime * ClockInterface::NANOS_PER_SECOND))
        ->setParent($parent)
        ->setAttribute(TraceAttributes::URL_FULL, (string) $request->getUri())
        ->setAttribute(TraceAttributes::HTTP_REQUEST_METHOD, $request->getMethod())
        ->setAttribute(TraceAttributes::HTTP_REQUEST_BODY_SIZE, $request->getHeaderLine('Content-Length'))
        ->setAttribute(TraceAttributes::USER_AGENT_ORIGINAL, $request->getHeaderLine('User-Agent'))
        ->setAttribute(TraceAttributes::SERVER_ADDRESS, $request->getUri()
        ->getHost())
        ->setAttribute(TraceAttributes::SERVER_PORT, $request->getUri()
        ->getPort())
        ->setAttribute(TraceAttributes::URL_SCHEME, $request->getUri()
        ->getScheme())
        ->setAttribute(TraceAttributes::URL_PATH, $request->getUri()
        ->getPath())
        ->startSpan();
    Context::storage()->attach($span->storeInContext($parent));
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal