create() ), new InstrumentationScopeFactory(Attributes::factory()) ); $eventLoggerProvider = new EventLoggerProvider($loggerProvider); $tracerProvider = new TracerProvider(); $tracer = $tracerProvider->getTracer('demo-tracer'); //start and activate a span $span = $tracer->spanBuilder('root')->startSpan(); $scope = $span->activate(); echo 'Trace id: ' . $span->getContext()->getTraceId() . PHP_EOL; echo 'Span id: ' . $span->getContext()->getSpanId() . PHP_EOL; //get an event logger, and emit an event. The active context (trace id + span id) will be //attached to the log record $eventLogger = $eventLoggerProvider->getEventLogger('demo', '1.0', 'http://schema.url', ['foo' => 'bar']); $payload = ['foo' => 'bar', 'baz' => 'bat', 'msg' => 'hello world']; $eventLogger->emit(name: 'foo', body: $payload, severityNumber: Severity::INFO); //end span $span->end(); $scope->detach();