Skip to content

Commit 3942b34

Browse files
committed
Mark events API/SDK as deprecated
1 parent cb4e3ba commit 3942b34

File tree

3 files changed

+32
-0
lines changed

3 files changed

+32
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## Unreleased
99

10+
- Mark the Events API/SDK as deprecated. The Logs API/SDK should be used instead. An event is now a `LogRecord` with the `event_name` field set.
1011
- Update OTLP proto to v1.7 [#4645](https://github.com/open-telemetry/opentelemetry-python/pull/4645).
1112
- Update OTLP gRPC/HTTP exporters: the export timeout is now inclusive of all retries and backoffs.
1213
A +/-20% jitter was added to all backoffs. A pointless 32 second sleep that occurred after all retries

opentelemetry-api/src/opentelemetry/_events/__init__.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
from os import environ
1818
from typing import Optional, cast
1919

20+
from typing_extensions import deprecated
21+
2022
from opentelemetry._logs import LogRecord
2123
from opentelemetry._logs.severity import SeverityNumber
2224
from opentelemetry.environment_variables import (
@@ -30,6 +32,9 @@
3032
_logger = getLogger(__name__)
3133

3234

35+
@deprecated(
36+
"You should use `LogRecord` with the `event_name` field set instead. Deprecated since version 1.35.0."
37+
)
3338
class Event(LogRecord):
3439
def __init__(
3540
self,
@@ -59,6 +64,9 @@ def __init__(
5964
self.name = name
6065

6166

67+
@deprecated(
68+
"You should use `Logger` instead. Deprecated since version 1.35.0."
69+
)
6270
class EventLogger(ABC):
6371
def __init__(
6472
self,
@@ -77,11 +85,17 @@ def emit(self, event: "Event") -> None:
7785
"""Emits a :class:`Event` representing an event."""
7886

7987

88+
@deprecated(
89+
"You should use `NoOpLogger` instead. Deprecated since version 1.35.0."
90+
)
8091
class NoOpEventLogger(EventLogger):
8192
def emit(self, event: Event) -> None:
8293
pass
8394

8495

96+
@deprecated(
97+
"You should use `ProxyLogger` instead. Deprecated since version 1.35.0."
98+
)
8599
class ProxyEventLogger(EventLogger):
86100
def __init__(
87101
self,
@@ -118,6 +132,9 @@ def emit(self, event: Event) -> None:
118132
self._event_logger.emit(event)
119133

120134

135+
@deprecated(
136+
"You should use `LoggerProvider` instead. Deprecated since version 1.35.0."
137+
)
121138
class EventLoggerProvider(ABC):
122139
@abstractmethod
123140
def get_event_logger(
@@ -130,6 +147,9 @@ def get_event_logger(
130147
"""Returns an EventLoggerProvider for use."""
131148

132149

150+
@deprecated(
151+
"You should use `NoOpLoggerProvider` instead. Deprecated since version 1.35.0."
152+
)
133153
class NoOpEventLoggerProvider(EventLoggerProvider):
134154
def get_event_logger(
135155
self,
@@ -143,6 +163,9 @@ def get_event_logger(
143163
)
144164

145165

166+
@deprecated(
167+
"You should use `ProxyLoggerProvider` instead. Deprecated since version 1.35.0."
168+
)
146169
class ProxyEventLoggerProvider(EventLoggerProvider):
147170
def get_event_logger(
148171
self,

opentelemetry-sdk/src/opentelemetry/sdk/_events/__init__.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
from time import time_ns
1616
from typing import Optional
1717

18+
from typing_extensions import deprecated
19+
1820
from opentelemetry import trace
1921
from opentelemetry._events import Event
2022
from opentelemetry._events import EventLogger as APIEventLogger
@@ -26,6 +28,9 @@
2628
_logger = logging.getLogger(__name__)
2729

2830

31+
@deprecated(
32+
"You should use `Logger` instead. Deprecated since version 1.35.0."
33+
)
2934
class EventLogger(APIEventLogger):
3035
def __init__(
3136
self,
@@ -65,6 +70,9 @@ def emit(self, event: Event) -> None:
6570
self._logger.emit(log_record)
6671

6772

73+
@deprecated(
74+
"You should use `LoggerProvider` instead. Deprecated since version 1.35.0."
75+
)
6876
class EventLoggerProvider(APIEventLoggerProvider):
6977
def __init__(self, logger_provider: Optional[LoggerProvider] = None):
7078
self._logger_provider = logger_provider or get_logger_provider()

0 commit comments

Comments
 (0)