1- from datetime import datetime
2-
31from opentelemetry .context import get_value # type: ignore
42from opentelemetry .sdk .trace import SpanProcessor # type: ignore
53from opentelemetry .semconv .trace import SpanAttributes # type: ignore
1513 INVALID_SPAN_ID ,
1614 INVALID_TRACE_ID ,
1715)
16+ from sentry_sdk ._compat import utc_from_timestamp
1817from sentry_sdk .consts import INSTRUMENTER
1918from sentry_sdk .hub import Hub
2019from sentry_sdk .integrations .opentelemetry .consts import (
@@ -126,7 +125,7 @@ def on_start(self, otel_span, parent_context=None):
126125 sentry_span = sentry_parent_span .start_child (
127126 span_id = trace_data ["span_id" ],
128127 description = otel_span .name ,
129- start_timestamp = datetime . fromtimestamp (otel_span .start_time / 1e9 ),
128+ start_timestamp = utc_from_timestamp (otel_span .start_time / 1e9 ),
130129 instrumenter = INSTRUMENTER .OTEL ,
131130 )
132131 else :
@@ -136,7 +135,7 @@ def on_start(self, otel_span, parent_context=None):
136135 parent_span_id = parent_span_id ,
137136 trace_id = trace_data ["trace_id" ],
138137 baggage = trace_data ["baggage" ],
139- start_timestamp = datetime . fromtimestamp (otel_span .start_time / 1e9 ),
138+ start_timestamp = utc_from_timestamp (otel_span .start_time / 1e9 ),
140139 instrumenter = INSTRUMENTER .OTEL ,
141140 )
142141
@@ -174,9 +173,7 @@ def on_end(self, otel_span):
174173 else :
175174 self ._update_span_with_otel_data (sentry_span , otel_span )
176175
177- sentry_span .finish (
178- end_timestamp = datetime .fromtimestamp (otel_span .end_time / 1e9 )
179- )
176+ sentry_span .finish (end_timestamp = utc_from_timestamp (otel_span .end_time / 1e9 ))
180177
181178 def _is_sentry_span (self , hub , otel_span ):
182179 # type: (Hub, OTelSpan) -> bool
0 commit comments