Skip to content

Commit 84b8473

Browse files
authored
Remove event logger (#1480)
* remove EventLogger, add Logger.EmitEvent * populate event_name * remove Logger.EmitEvent was just removed from spec, replacement is not defined yet. * update examples * fix * fix phpstan breaks
1 parent 8d27d73 commit 84b8473

37 files changed

+59
-627
lines changed

examples/autoload_sdk.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44

55
namespace OpenTelemetry\Example;
66

7+
use OpenTelemetry\API\Logs\LogRecord;
8+
79
putenv('OTEL_PHP_AUTOLOAD_ENABLED=true');
8-
putenv('OTEL_TRACES_EXPORTER=otlp');
9-
putenv('OTEL_METRICS_EXPORTER=otlp');
10-
putenv('OTEL_LOGS_EXPORTER=otlp');
11-
putenv('OTEL_EXPORTER_OTLP_PROTOCOL=grpc');
12-
putenv('OTEL_EXPORTER_OTLP_ENDPOINT=http://collector:4317');
10+
putenv('OTEL_TRACES_EXPORTER=console');
11+
putenv('OTEL_METRICS_EXPORTER=console');
12+
putenv('OTEL_LOGS_EXPORTER=console');
1313
putenv('OTEL_PROPAGATORS=b3,baggage,tracecontext');
1414

1515
echo 'autoloading SDK example starting...' . PHP_EOL;
@@ -21,6 +21,6 @@
2121

2222
$instrumentation->tracer()->spanBuilder('root')->startSpan()->end();
2323
$instrumentation->meter()->createCounter('cnt')->add(1);
24-
$instrumentation->eventLogger()->emit('foo', 'hello, otel');
24+
$instrumentation->logger()->emit((new LogRecord('hello, otel'))->setEventName('foo'));
2525

2626
echo 'Finished!' . PHP_EOL;

examples/load_config.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
declare(strict_types=1);
44

5+
use OpenTelemetry\API\Logs\LogRecord;
56
use OpenTelemetry\Config\SDK\Configuration;
67

78
require __DIR__ . '/../vendor/autoload.php';
@@ -16,13 +17,13 @@
1617

1718
$tracer = $sdk->getTracerProvider()->getTracer('demo');
1819
$meter = $sdk->getMeterProvider()->getMeter('demo');
19-
$eventLogger = $sdk->getEventLoggerProvider()->getEventLogger('demo');
20+
$logger = $sdk->getLoggerProvider()->getLogger('demo');
2021

2122
$span = $tracer->spanBuilder('root')->startSpan();
2223
$scope = $span->activate();
2324
$meter->createCounter('cnt')->add(1);
2425

25-
$eventLogger->emit('foo', 'hello, otel');
26+
$logger->emit((new LogRecord('hello, otel'))->setEventName('foo'));
2627
$scope->detach();
2728
$span->end();
2829

examples/load_config_env.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
declare(strict_types=1);
44

5+
use OpenTelemetry\API\Logs\LogRecord;
56
use OpenTelemetry\Config\SDK\Configuration;
67

78
require __DIR__ . '/../vendor/autoload.php';
@@ -21,10 +22,10 @@
2122

2223
$tracer = $sdk->getTracerProvider()->getTracer('demo');
2324
$meter = $sdk->getMeterProvider()->getMeter('demo');
24-
$eventLogger = $sdk->getEventLoggerProvider()->getEventLogger('demo');
25+
$logger = $sdk->getLoggerProvider()->getLogger('demo');
2526

2627
$tracer->spanBuilder('root')->startSpan()->end();
2728
$meter->createCounter('cnt')->add(1);
28-
$eventLogger->emit('foo', 'hello, otel');
29+
$logger->emit((new LogRecord('hello, otel'))->setEventName('foo'));
2930

3031
echo 'Finished!' . PHP_EOL;

examples/logs/exporters/otlp_grpc.php

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
namespace OpenTelemetry\Example;
66

77
use OpenTelemetry\API\Common\Time\Clock;
8+
use OpenTelemetry\API\Logs\LogRecord;
89
use OpenTelemetry\API\Logs\Severity;
910
use OpenTelemetry\API\Signals;
1011
use OpenTelemetry\Contrib\Grpc\GrpcTransportFactory;
1112
use OpenTelemetry\Contrib\Otlp\LogsExporter;
1213
use OpenTelemetry\Contrib\Otlp\OtlpUtil;
1314
use OpenTelemetry\SDK\Common\Instrumentation\InstrumentationScopeFactory;
14-
use OpenTelemetry\SDK\Logs\EventLoggerProvider;
1515
use OpenTelemetry\SDK\Logs\LoggerProvider;
1616
use OpenTelemetry\SDK\Logs\LogRecordLimitsBuilder;
1717
use OpenTelemetry\SDK\Logs\Processor\BatchLogRecordProcessor;
@@ -29,18 +29,9 @@
2929
(new LogRecordLimitsBuilder())->build()->getAttributeFactory()
3030
)
3131
);
32-
$eventLoggerProvider = new EventLoggerProvider($loggerProvider);
33-
$eventLogger = $eventLoggerProvider->getEventLogger('demo', '1.0', 'http://schema.url', ['foo' => 'bar']);
32+
$logger = $loggerProvider->getLogger('demo', '1.0', 'http://schema.url', ['foo' => 'bar']);
3433

35-
$eventLogger->emit(
36-
name: 'foo',
37-
body: ['foo' => 'bar', 'baz' => 'bat', 'msg' => 'hello world'],
38-
severityNumber: Severity::INFO
39-
);
40-
41-
$eventLogger->emit(
42-
'bar',
43-
'otel is great'
44-
);
34+
$logger->emit((new LogRecord(['foo' => 'bar', 'baz' => 'bat', 'msg' => 'hello world']))->setEventName('foo')->setSeverityNumber(Severity::INFO));
35+
$logger->emit((new LogRecord('otel is great'))->setEventName('bar'));
4536

4637
$loggerProvider->shutdown();

examples/logs/exporters/otlp_http.php

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
use OpenTelemetry\Contrib\Otlp\LogsExporter;
1010
use OpenTelemetry\SDK\Common\Export\Http\PsrTransportFactory;
1111
use OpenTelemetry\SDK\Common\Instrumentation\InstrumentationScopeFactory;
12-
use OpenTelemetry\SDK\Logs\EventLoggerProvider;
1312
use OpenTelemetry\SDK\Logs\LoggerProvider;
1413
use OpenTelemetry\SDK\Logs\LogRecordLimitsBuilder;
1514
use OpenTelemetry\SDK\Logs\Processor\SimpleLogRecordProcessor;
@@ -27,12 +26,10 @@
2726
(new LogRecordLimitsBuilder())->build()->getAttributeFactory()
2827
)
2928
);
30-
$eventLoggerProvider = new EventLoggerProvider($loggerProvider);
31-
$eventLogger = $eventLoggerProvider->getEventLogger('demo', '1.0', 'https://opentelemetry.io/schemas/1.7.1', ['foo' => 'bar']);
32-
33-
$eventLogger->emit(
34-
name: 'foo',
35-
body: ['foo' => 'bar', 'baz' => 'bat', 'msg' => 'hello world'],
36-
timestamp: (new \DateTime())->getTimestamp() * LogRecord::NANOS_PER_SECOND,
37-
severityNumber: Severity::INFO,
29+
$logger = $loggerProvider->getLogger('demo', '1.0', 'https://opentelemetry.io/schemas/1.7.1', ['foo' => 'bar']);
30+
$logger->emit(
31+
(new LogRecord(['foo' => 'bar', 'baz' => 'bat', 'msg' => 'hello world']))
32+
->setEventName('foo')
33+
->setSeverityNumber(Severity::INFO)
34+
->setTimestamp((new \DateTime())->getTimestamp() * LogRecord::NANOS_PER_SECOND)
3835
);

examples/logs/features/batch_exporting.php

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@
55
namespace OpenTelemetry\Example;
66

77
use OpenTelemetry\API\Common\Time\Clock;
8+
use OpenTelemetry\API\Logs\LogRecord;
89
use OpenTelemetry\API\Logs\Severity;
910
use OpenTelemetry\SDK\Common\Attribute\Attributes;
1011
use OpenTelemetry\SDK\Common\Instrumentation\InstrumentationScopeFactory;
11-
use OpenTelemetry\SDK\Logs\EventLogger;
12-
use OpenTelemetry\SDK\Logs\EventLoggerProvider;
1312
use OpenTelemetry\SDK\Logs\Exporter\ConsoleExporterFactory;
1413
use OpenTelemetry\SDK\Logs\LoggerProvider;
1514
use OpenTelemetry\SDK\Logs\Processor\BatchLogRecordProcessor;
@@ -23,16 +22,15 @@
2322
),
2423
new InstrumentationScopeFactory(Attributes::factory())
2524
);
26-
$eventLoggerProvider = new EventLoggerProvider($loggerProvider);
27-
//get a logger, and emit a log record from an EventLogger.
28-
$eventLoggerOne = $eventLoggerProvider->getEventLogger('demo', '1.0');
29-
$eventLoggerTwo = $eventLoggerProvider->getEventLogger('demo', '2.0');
25+
//get a logger, and emit an event.
26+
$loggerOne = $loggerProvider->getLogger('demo', '1.0');
27+
$loggerTwo = $loggerProvider->getLogger('demo', '2.0');
3028

3129
$payload = ['foo' => 'bar', 'baz' => 'bat', 'msg' => 'hello world'];
3230

33-
$eventLoggerOne->emit(name: 'foo', body: $payload, severityNumber: Severity::INFO);
34-
$eventLoggerOne->emit('bar', 'hello world');
35-
$eventLoggerTwo->emit(name: 'foo', body: $payload, severityNumber: Severity::INFO);
31+
$loggerOne->emit((new LogRecord($payload))->setEventName('foo')->setSeverityNumber(Severity::INFO));
32+
$loggerOne->emit((new LogRecord('hello world'))->setEventName('bar'));
33+
$loggerTwo->emit((new LogRecord($payload))->setEventName('foo')->setSeverityNumber(Severity::INFO));
3634

3735
//shut down logger provider
3836
$loggerProvider->shutdown();

examples/logs/getting_started.php

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
declare(strict_types=1);
44

5+
use OpenTelemetry\API\Logs\LogRecord;
56
use OpenTelemetry\API\Logs\Severity;
67
use OpenTelemetry\SDK\Common\Attribute\Attributes;
78
use OpenTelemetry\SDK\Common\Instrumentation\InstrumentationScopeFactory;
8-
use OpenTelemetry\SDK\Logs\EventLoggerProvider;
99
use OpenTelemetry\SDK\Logs\Exporter\ConsoleExporterFactory;
1010
use OpenTelemetry\SDK\Logs\LoggerProvider;
1111
use OpenTelemetry\SDK\Logs\Processor\SimpleLogRecordProcessor;
@@ -26,7 +26,6 @@
2626
),
2727
new InstrumentationScopeFactory(Attributes::factory())
2828
);
29-
$eventLoggerProvider = new EventLoggerProvider($loggerProvider);
3029
$tracerProvider = new TracerProvider();
3130
$tracer = $tracerProvider->getTracer('demo-tracer');
3231

@@ -36,12 +35,12 @@
3635
echo 'Trace id: ' . $span->getContext()->getTraceId() . PHP_EOL;
3736
echo 'Span id: ' . $span->getContext()->getSpanId() . PHP_EOL;
3837

39-
//get an event logger, and emit an event. The active context (trace id + span id) will be
38+
//get a logger, and emit an event. The active context (trace id + span id) will be
4039
//attached to the log record
41-
$eventLogger = $eventLoggerProvider->getEventLogger('demo', '1.0', 'http://schema.url', ['foo' => 'bar']);
40+
$logger = $loggerProvider->getLogger('demo', '1.0', 'http://schema.url', ['foo' => 'bar']);
4241
$payload = ['foo' => 'bar', 'baz' => 'bat', 'msg' => 'hello world'];
4342

44-
$eventLogger->emit(name: 'foo', body: $payload, severityNumber: Severity::INFO);
43+
$logger->emit((new LogRecord($payload))->setEventName('foo')->setSeverityNumber(Severity::INFO));
4544

4645
//end span
4746
$span->end();

examples/traces/exporters/otlp_file_autoload.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace OpenTelemetry\Example;
66

77
use OpenTelemetry\API\Instrumentation\CachedInstrumentation;
8+
use OpenTelemetry\API\Logs\LogRecord;
89

910
putenv('OTEL_PHP_AUTOLOAD_ENABLED=true');
1011
putenv('OTEL_TRACES_EXPORTER=otlp/stdout');
@@ -17,7 +18,7 @@
1718

1819
$instrumentation->tracer()->spanBuilder('root')->startSpan()->end();
1920
$instrumentation->meter()->createCounter('cnt')->add(1);
20-
$instrumentation->eventLogger()->emit('foo', 'hello, otel');
21+
$instrumentation->logger()->emit(new LogRecord('foo'));
2122

2223
echo PHP_EOL . 'OTLP/stdout autoload example complete!';
2324
echo PHP_EOL;

src/API/Globals.php

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
use OpenTelemetry\API\Behavior\LogsMessagesTrait;
1010
use OpenTelemetry\API\Instrumentation\Configurator;
1111
use OpenTelemetry\API\Instrumentation\ContextKeys;
12-
use OpenTelemetry\API\Logs\EventLoggerProviderInterface;
1312
use OpenTelemetry\API\Logs\LoggerProviderInterface;
1413
use OpenTelemetry\API\Metrics\MeterProviderInterface;
1514
use OpenTelemetry\API\Trace\TracerProviderInterface;
@@ -33,7 +32,6 @@ public function __construct(
3332
private readonly TracerProviderInterface $tracerProvider,
3433
private readonly MeterProviderInterface $meterProvider,
3534
private readonly LoggerProviderInterface $loggerProvider,
36-
private readonly EventLoggerProviderInterface $eventLoggerProvider,
3735
private readonly TextMapPropagatorInterface $propagator,
3836
) {
3937
}
@@ -58,15 +56,6 @@ public static function loggerProvider(): LoggerProviderInterface
5856
return Context::getCurrent()->get(ContextKeys::loggerProvider()) ?? self::globals()->loggerProvider;
5957
}
6058

61-
/**
62-
* @deprecated
63-
* @phan-suppress PhanDeprecatedFunction
64-
*/
65-
public static function eventLoggerProvider(): EventLoggerProviderInterface
66-
{
67-
return Context::getCurrent()->get(ContextKeys::eventLoggerProvider()) ?? self::globals()->eventLoggerProvider;
68-
}
69-
7059
/**
7160
* @param Closure(Configurator): Configurator $initializer
7261
*
@@ -108,11 +97,10 @@ private static function globals(): self
10897
$meterProvider = $context->get(ContextKeys::meterProvider());
10998
$propagator = $context->get(ContextKeys::propagator());
11099
$loggerProvider = $context->get(ContextKeys::loggerProvider());
111-
$eventLoggerProvider = $context->get(ContextKeys::eventLoggerProvider());
112100

113-
assert(isset($tracerProvider, $meterProvider, $loggerProvider, $eventLoggerProvider, $propagator));
101+
assert(isset($tracerProvider, $meterProvider, $loggerProvider, $propagator));
114102

115-
return self::$globals = new self($tracerProvider, $meterProvider, $loggerProvider, $eventLoggerProvider, $propagator);
103+
return self::$globals = new self($tracerProvider, $meterProvider, $loggerProvider, $propagator);
116104
}
117105

118106
/**

src/API/Instrumentation/CachedInstrumentation.php

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
namespace OpenTelemetry\API\Instrumentation;
66

77
use OpenTelemetry\API\Globals;
8-
use OpenTelemetry\API\Logs\EventLoggerInterface;
9-
use OpenTelemetry\API\Logs\EventLoggerProviderInterface;
108
use OpenTelemetry\API\Logs\LoggerInterface;
119
use OpenTelemetry\API\Logs\LoggerProviderInterface;
1210
use OpenTelemetry\API\Metrics\MeterInterface;
@@ -31,8 +29,6 @@ final class CachedInstrumentation
3129
private WeakMap $meters;
3230
/** @var WeakMap<LoggerProviderInterface, LoggerInterface> */
3331
private WeakMap $loggers;
34-
/** @var WeakMap<EventLoggerProviderInterface, EventLoggerInterface> */
35-
private WeakMap $eventLoggers;
3632

3733
/**
3834
* @psalm-suppress PropertyTypeCoercion
@@ -46,7 +42,6 @@ public function __construct(
4642
$this->tracers = new \WeakMap();
4743
$this->meters = new \WeakMap();
4844
$this->loggers = new \WeakMap();
49-
$this->eventLoggers = new \WeakMap();
5045
}
5146

5247
public function tracer(): TracerInterface
@@ -68,15 +63,4 @@ public function logger(): LoggerInterface
6863

6964
return $this->loggers[$loggerProvider] ??= $loggerProvider->getLogger($this->name, $this->version, $this->schemaUrl, $this->attributes);
7065
}
71-
72-
/**
73-
* @deprecated
74-
* @phan-suppress PhanDeprecatedFunction
75-
*/
76-
public function eventLogger(): EventLoggerInterface
77-
{
78-
$eventLoggerProvider = Globals::eventLoggerProvider();
79-
80-
return $this->eventLoggers[$eventLoggerProvider] ??= $eventLoggerProvider->getEventLogger($this->name, $this->version, $this->schemaUrl, $this->attributes);
81-
}
8266
}

0 commit comments

Comments
 (0)