Skip to content

Commit 19db736

Browse files
authored
Use timestamp instead of strftime (#194)
1 parent 74b3fcb commit 19db736

2 files changed

Lines changed: 10 additions & 13 deletions

File tree

datadog_lambda/tracing.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
EventTypes,
2828
EventSubtypes,
2929
)
30-
from datetime import datetime
30+
from datetime import datetime, timezone
3131

3232
logger = logging.getLogger(__name__)
3333

@@ -547,7 +547,7 @@ def create_inferred_span_from_sns_event(event, context):
547547
}
548548
sns_dt_format = "%Y-%m-%dT%H:%M:%S.%fZ"
549549
timestamp = event_record["Sns"]["Timestamp"]
550-
request_time_epoch = datetime.strptime(timestamp, sns_dt_format)
550+
dt = datetime.strptime(timestamp, sns_dt_format)
551551

552552
args = {
553553
"resource": topic_name,
@@ -557,7 +557,7 @@ def create_inferred_span_from_sns_event(event, context):
557557
span = tracer.trace("aws.sns", **args)
558558
if span:
559559
span.set_tags(tags)
560-
span.start = int(request_time_epoch.strftime("%s"))
560+
span.start = dt.replace(tzinfo=timezone.utc).timestamp()
561561
return span
562562

563563

@@ -618,7 +618,7 @@ def create_inferred_span_from_s3_event(event, context):
618618
}
619619
dt_format = "%Y-%m-%dT%H:%M:%S.%fZ"
620620
timestamp = event_record["eventTime"]
621-
request_time_epoch = datetime.strptime(timestamp, dt_format)
621+
dt = datetime.strptime(timestamp, dt_format)
622622

623623
args = {
624624
"resource": bucket_name,
@@ -628,7 +628,7 @@ def create_inferred_span_from_s3_event(event, context):
628628
span = tracer.trace("aws.s3", **args)
629629
if span:
630630
span.set_tags(tags)
631-
span.start = int(request_time_epoch.strftime("%s"))
631+
span.start = dt.replace(tzinfo=timezone.utc).timestamp()
632632
return span
633633

634634

@@ -642,7 +642,7 @@ def create_inferred_span_from_eventbridge_event(event, context):
642642
}
643643
dt_format = "%Y-%m-%dT%H:%M:%SZ"
644644
timestamp = event["time"]
645-
request_time_epoch = datetime.strptime(timestamp, dt_format)
645+
dt = datetime.strptime(timestamp, dt_format)
646646

647647
args = {
648648
"resource": source,
@@ -652,7 +652,7 @@ def create_inferred_span_from_eventbridge_event(event, context):
652652
span = tracer.trace("aws.eventbridge", **args)
653653
if span:
654654
span.set_tags(tags)
655-
span.start = int(request_time_epoch.strftime("%s"))
655+
span.start = dt.replace(tzinfo=timezone.utc).timestamp()
656656
return span
657657

658658

tests/test_tracing.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -769,8 +769,7 @@ def test_create_inferred_span_from_sns_event(self):
769769
)
770770
self.assertEqual(span.get_tag("request_id"), None)
771771
self.assertEqual(span.get_tag("span_type"), "inferred")
772-
# TODO FIXME: investigate why this is flaky
773-
# self.assertEqual(span.start, 18000.0)
772+
self.assertEqual(span.start, 0.0)
774773
self.assertEqual(span.span_type, "web")
775774

776775
def test_create_inferred_span_from_kinesis_event(self):
@@ -854,8 +853,7 @@ def test_create_inferred_span_from_s3_event(self):
854853
)
855854
self.assertEqual(span.get_tag("request_id"), None)
856855
self.assertEqual(span.get_tag("span_type"), "inferred")
857-
# TODO FIXME: investigate why this is flaky
858-
# self.assertEqual(span.start, 18000.0)
856+
self.assertEqual(span.start, 0.0)
859857
self.assertEqual(span.span_type, "web")
860858

861859
def test_create_inferred_span_from_eventbridge_event(self):
@@ -883,6 +881,5 @@ def test_create_inferred_span_from_eventbridge_event(self):
883881
)
884882
self.assertEqual(span.get_tag("request_id"), None)
885883
self.assertEqual(span.get_tag("span_type"), "inferred")
886-
# TODO FIXME: investigate why this is flaky
887-
# self.assertEqual(span.start, 1636004265.0)
884+
self.assertEqual(span.start, 1635989865.0)
888885
self.assertEqual(span.span_type, "web")

0 commit comments

Comments
 (0)