Skip to content

Commit f8afca5

Browse files
support the latest otel lib breaking changes
1 parent 45eb143 commit f8afca5

3 files changed

Lines changed: 11 additions & 11 deletions

File tree

src/partial_span_processor/__init__.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
from opentelemetry._logs.severity import SeverityNumber
2626
from opentelemetry.exporter.otlp.proto.common.trace_encoder import encode_spans
2727
from opentelemetry.proto.trace.v1 import trace_pb2
28-
from opentelemetry.sdk._logs import LogData, LogRecord
28+
from opentelemetry._logs import LogRecord
29+
from opentelemetry.sdk._logs import ReadableLogRecord
2930
from opentelemetry.sdk.trace import ReadableSpan, Span, SpanProcessor
3031
from opentelemetry.trace import set_span_in_context
3132

@@ -152,7 +153,7 @@ def get_heartbeat_attributes(self) -> dict[str, str]:
152153
"partial.body.type": "json/v1",
153154
}
154155

155-
def get_log_data(self, span: Span, attributes: dict[str, str]) -> LogData:
156+
def get_log_data(self, span: Span, attributes: dict[str, str]) -> ReadableLogRecord:
156157
instrumentation_scope = span.instrumentation_scope if hasattr(span,
157158
"instrumentation_scope") else None
158159
span_context = span.get_span_context()
@@ -187,11 +188,12 @@ def get_log_data(self, span: Span, attributes: dict[str, str]) -> LogData:
187188
severity_text="INFO",
188189
severity_number=SeverityNumber.INFO,
189190
body=serialized_traces_data,
190-
resource=self.resource,
191191
attributes=attributes,
192192
)
193-
return LogData(
194-
log_record=log_record, instrumentation_scope=instrumentation_scope,
193+
return ReadableLogRecord(
194+
log_record=log_record,
195+
resource=self.resource,
196+
instrumentation_scope=instrumentation_scope,
195197
)
196198

197199
def process_delayed_heartbeat_spans(self) -> None:

tests/partial_span_processor/in_memory_log_exporter.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,9 @@
1717
import threading
1818
import typing
1919

20+
from opentelemetry.sdk._logs import ReadableLogRecord
2021
from opentelemetry.sdk._logs.export import LogExporter, LogExportResult
2122

22-
if typing.TYPE_CHECKING:
23-
from opentelemetry.sdk._logs import LogData
24-
2523

2624
class InMemoryLogExporter(LogExporter):
2725
"""Implementation of :class:`.LogExporter` that stores logs in memory.
@@ -40,11 +38,11 @@ def clear(self) -> None:
4038
with self._lock:
4139
self._logs.clear()
4240

43-
def get_finished_logs(self) -> tuple[LogData, ...]:
41+
def get_finished_logs(self) -> tuple[ReadableLogRecord, ...]:
4442
with self._lock:
4543
return tuple(self._logs)
4644

47-
def export(self, batch: typing.Sequence[LogData]) -> LogExportResult:
45+
def export(self, batch: typing.Sequence[ReadableLogRecord]) -> LogExportResult:
4846
if self._stopped:
4947
return LogExportResult.FAILURE
5048
with self._lock:

tests/partial_span_processor/test_partial_span_processor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ def test_on_end_when_initial_heartbeat_sent(self):
151151
self.assertEqual(logs[0].log_record.attributes["partial.event"], "stop")
152152
self.assertEqual(logs[0].log_record.attributes["partial.body.type"],
153153
"json/v1")
154-
self.assertEqual(logs[0].log_record.resource.attributes["service.name"],
154+
self.assertEqual(logs[0].resource.attributes["service.name"],
155155
"test")
156156

157157
def test_process_delayed_heartbeat_spans(self):

0 commit comments

Comments
 (0)