create(), Clock::getDefault(), 2048, //max spans to queue before sending to exporter $delayMillis, //batch delay milliseconds ) ); $tracer = $tracerProvider->getTracer('io.opentelemetry.contrib.php'); $rootSpan = $tracer->spanBuilder('root')->startSpan(); $scope = $rootSpan->activate(); //3 spans should be sent at 3 seconds for ($i = 1; $i <= 4; $i++) { $span = $tracer->spanBuilder('span-' . $i)->startSpan(); sleep(1); $span->end(); } //4th span and root span should be sent on shutdown $rootSpan->end(); $scope->detach(); sleep(1); $tracerProvider->shutdown();