diff --git a/samcli/lib/observability/xray_traces/xray_event_mappers.py b/samcli/lib/observability/xray_traces/xray_event_mappers.py index 4f18ff3a31..126e275067 100644 --- a/samcli/lib/observability/xray_traces/xray_event_mappers.py +++ b/samcli/lib/observability/xray_traces/xray_event_mappers.py @@ -3,6 +3,7 @@ """ import json from copy import deepcopy +from datetime import datetime from typing import List from samcli.lib.observability.observability_info_puller import ObservabilityEventMapper @@ -22,7 +23,7 @@ class XRayTraceConsoleMapper(ObservabilityEventMapper[XRayTraceEvent]): def map(self, event: XRayTraceEvent) -> XRayTraceEvent: formatted_segments = self.format_segments(event.segments) - iso_formatted_timestamp = timestamp_to_iso(event.timestamp) + iso_formatted_timestamp = datetime.fromtimestamp(event.timestamp).isoformat() mapped_message = ( f"\nXRay Event at ({iso_formatted_timestamp}) with id ({event.id}) and duration ({event.duration:.3f}s)" f"{formatted_segments}" diff --git a/tests/unit/lib/observability/xray_traces/test_xray_event_mappers.py b/tests/unit/lib/observability/xray_traces/test_xray_event_mappers.py index c1b0eccf47..bdbed2eda6 100644 --- a/tests/unit/lib/observability/xray_traces/test_xray_event_mappers.py +++ b/tests/unit/lib/observability/xray_traces/test_xray_event_mappers.py @@ -19,17 +19,14 @@ def setUp(self): self.trace_event = XRayTraceEvent( { "Id": str(uuid.uuid4()), - "name": str(uuid.uuid4()), - "start_time": time.time(), - "end_time": time.time(), - "http": {"response": {"status": 200}}, - "subsegments": [ + "Duration": 2.1, + "Segments": [ { "Id": str(uuid.uuid4()), "Document": json.dumps( { "name": str(uuid.uuid4()), - "start_time": time.time(), + "start_time": 1634603579.27, # 2021-10-18T17:32:59.270000 "end_time": time.time(), "http": {"response": {"status": 200}}, } @@ -67,7 +64,7 @@ def test_console_mapper(self): self.assertTrue(isinstance(mapped_event, XRayTraceEvent)) - event_timestamp = timestamp_to_iso(self.trace_event.timestamp) + event_timestamp = "2021-10-18T17:32:59.270000" self.assertTrue( f"XRay Event at ({event_timestamp}) with id ({self.trace_event.id}) and duration ({self.trace_event.duration:.3f}s)" in mapped_event.message @@ -84,7 +81,7 @@ def validate_segments(self, segments, message): ) else: self.assertTrue(f" - {segment.get_duration():.3f}s - {segment.name}" in message) - self.validate_segments(segments.sub_segments, message) + self.validate_segments(segment.sub_segments, message) class TestXRayTraceJSONMapper(AbstraceXRayTraceMapperTest):