Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@ classifiers = [
]
license = { text = "Apache-2.0" }
dependencies = [
"opentelemetry-api>=1.20.0,<1.38",
"opentelemetry-exporter-otlp>=1.20.0,<1.38",
"opentelemetry-exporter-otlp-proto-common>=1.20.0,<1.38",
"opentelemetry-exporter-otlp-proto-grpc>=1.20.0,<1.38",
"opentelemetry-exporter-otlp-proto-http>=1.20.0,<1.38",
"opentelemetry-proto>=1.20.0,<1.38",
"opentelemetry-sdk>=1.20.0,<1.38",
"opentelemetry-semantic-conventions>=0.41b0,<0.59b0"
"opentelemetry-api>=1.39.0",
"opentelemetry-exporter-otlp>=1.39.0",
"opentelemetry-exporter-otlp-proto-common>=1.39.0",
"opentelemetry-exporter-otlp-proto-grpc>=1.39.0",
"opentelemetry-exporter-otlp-proto-http>=1.39.0",
"opentelemetry-proto>=1.39.0",
"opentelemetry-sdk>=1.39.0",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. This implies a number of the other deps and bounds so I'd only tend to declare the ones we consume directly - but this is looking good now, no need to change.

(See https://github.com/open-telemetry/opentelemetry-python/blob/release/v1.39.x-0.60bx/opentelemetry-sdk/pyproject.toml)

"opentelemetry-semantic-conventions>=0.60b0"
]

[project.urls]
Expand Down
12 changes: 7 additions & 5 deletions src/partial_span_processor/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@
from opentelemetry._logs.severity import SeverityNumber
from opentelemetry.exporter.otlp.proto.common.trace_encoder import encode_spans
from opentelemetry.proto.trace.v1 import trace_pb2
from opentelemetry.sdk._logs import LogData, LogRecord
from opentelemetry._logs import LogRecord
from opentelemetry.sdk._logs import ReadableLogRecord
from opentelemetry.sdk.trace import ReadableSpan, Span, SpanProcessor
from opentelemetry.trace import set_span_in_context

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

def get_log_data(self, span: Span, attributes: dict[str, str]) -> LogData:
def get_log_data(self, span: Span, attributes: dict[str, str]) -> ReadableLogRecord:
instrumentation_scope = span.instrumentation_scope if hasattr(span,
"instrumentation_scope") else None
span_context = span.get_span_context()
Expand Down Expand Up @@ -187,11 +188,12 @@ def get_log_data(self, span: Span, attributes: dict[str, str]) -> LogData:
severity_text="INFO",
severity_number=SeverityNumber.INFO,
body=serialized_traces_data,
resource=self.resource,
attributes=attributes,
)
return LogData(
log_record=log_record, instrumentation_scope=instrumentation_scope,
return ReadableLogRecord(
log_record=log_record,
resource=self.resource,
instrumentation_scope=instrumentation_scope,
)

def process_delayed_heartbeat_spans(self) -> None:
Expand Down
8 changes: 3 additions & 5 deletions tests/partial_span_processor/in_memory_log_exporter.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,9 @@
import threading
import typing

from opentelemetry.sdk._logs import ReadableLogRecord
from opentelemetry.sdk._logs.export import LogExporter, LogExportResult

if typing.TYPE_CHECKING:
from opentelemetry.sdk._logs import LogData


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

def get_finished_logs(self) -> tuple[LogData, ...]:
def get_finished_logs(self) -> tuple[ReadableLogRecord, ...]:
with self._lock:
return tuple(self._logs)

def export(self, batch: typing.Sequence[LogData]) -> LogExportResult:
def export(self, batch: typing.Sequence[ReadableLogRecord]) -> LogExportResult:
if self._stopped:
return LogExportResult.FAILURE
with self._lock:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ def test_on_end_when_initial_heartbeat_sent(self):
self.assertEqual(logs[0].log_record.attributes["partial.event"], "stop")
self.assertEqual(logs[0].log_record.attributes["partial.body.type"],
"json/v1")
self.assertEqual(logs[0].log_record.resource.attributes["service.name"],
self.assertEqual(logs[0].resource.attributes["service.name"],
"test")

def test_process_delayed_heartbeat_spans(self):
Expand Down
Loading