Move test_helper_utils to tests folder

The helper is supposed to only be used by tests, and it's used by several tests around the codebase, so let's have it in a shared location and make it clear it's only for tests

Also fix class as namespace issues and refactor helper code

Bug: 311642700
Test: npm run test:unit:ci
Flag: EXEMPT EXEMPT
Change-Id: Ieb841924d6682a764675dd89e9799c9ff14ca00a
diff --git a/tools/winscope/src/app/components/app_component_test.ts b/tools/winscope/src/app/components/app_component_test.ts
index 332d13e..47ac882 100644
--- a/tools/winscope/src/app/components/app_component_test.ts
+++ b/tools/winscope/src/app/components/app_component_test.ts
@@ -49,7 +49,6 @@
 import {assertDefined} from 'common/assert_utils';
 import {Download} from 'common/download';
 import {DOWNLOAD_FILENAME_REGEX} from 'common/file_utils';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {
   FailedToInitializeTimelineData,
   NoValidFiles,
@@ -63,6 +62,7 @@
 } from 'messaging/winscope_event';
 import {UserNotifier} from 'services/user_notifier';
 import {DOMTestHelper} from 'test/unit/dom_test_utils';
+import {UTC_CONVERTER} from 'test/unit/time_test_helpers';
 import {waitToBeCalled} from 'test/unit/spy_utils';
 import {TracesBuilder} from 'test/unit/traces_builder';
 import {ViewerSurfaceFlingerComponent} from 'viewers/viewer_surface_flinger/viewer_surface_flinger_component';
@@ -263,7 +263,7 @@
     component.timelineData.initialize(
       new TracesBuilder().build(),
       undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
+      UTC_CONVERTER,
     );
 
     await component.onWinscopeEvent(new ViewersUnloaded());
@@ -508,7 +508,7 @@
       dom.findAndClick('.iframe-settings');
       expect(postMessageSpy).toHaveBeenCalledOnceWith(
         {winscopeAction: 'openSettings'},
-        parentOrigin,
+        {targetOrigin: parentOrigin},
       );
     });
   });
@@ -519,7 +519,7 @@
     component.timelineData.initialize(
       new TracesBuilder().build(),
       undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
+      UTC_CONVERTER,
     );
     dom.detectChanges();
   }
diff --git a/tools/winscope/src/app/components/timeline/expanded-timeline/default_timeline_row_component_test.ts b/tools/winscope/src/app/components/timeline/expanded-timeline/default_timeline_row_component_test.ts
index 389c886..1d93bcd 100644
--- a/tools/winscope/src/app/components/timeline/expanded-timeline/default_timeline_row_component_test.ts
+++ b/tools/winscope/src/app/components/timeline/expanded-timeline/default_timeline_row_component_test.ts
@@ -26,13 +26,13 @@
 import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
 import {assertDefined} from 'common/assert_utils';
 import {Rect} from 'common/geometry/rect';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {TimeRange} from 'common/time/time';
 import {DOMTestHelper} from 'test/unit/dom_test_utils';
 import {waitToBeCalled} from 'test/unit/spy_utils';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {TraceType} from 'trace_api/trace_type';
 import {DefaultTimelineRowComponent} from './default_timeline_row_component';
+import {makeRealTimestamp, UTC_CONVERTER} from 'test/unit/time_test_helpers';
 
 describe('DefaultTimelineRowComponent', () => {
   let component: DefaultTimelineRowComponent;
@@ -249,17 +249,17 @@
       .setType(TraceType.TRANSITION)
       .setEntries([{}, {}, {}, {}])
       .setTimestamps([
-        TimestampConverterUtils.makeRealTimestamp(10n),
-        TimestampConverterUtils.makeRealTimestamp(12n),
-        TimestampConverterUtils.makeRealTimestamp(15n),
-        TimestampConverterUtils.makeRealTimestamp(70n),
+        makeRealTimestamp(10n),
+        makeRealTimestamp(12n),
+        makeRealTimestamp(15n),
+        makeRealTimestamp(70n),
       ])
       .build();
     component.selectionRange = new TimeRange(
-      TimestampConverterUtils.makeRealTimestamp(low),
-      TimestampConverterUtils.makeRealTimestamp(high),
+      makeRealTimestamp(low),
+      makeRealTimestamp(high),
     );
-    component.timestampConverter = TimestampConverterUtils.TIMESTAMP_CONVERTER;
+    component.timestampConverter = UTC_CONVERTER;
   }
 
   async function drawCorrectEntryOnClick(
diff --git a/tools/winscope/src/app/components/timeline/expanded-timeline/expanded_timeline_component_test.ts b/tools/winscope/src/app/components/timeline/expanded-timeline/expanded_timeline_component_test.ts
index 3749468..732168e 100644
--- a/tools/winscope/src/app/components/timeline/expanded-timeline/expanded_timeline_component_test.ts
+++ b/tools/winscope/src/app/components/timeline/expanded-timeline/expanded_timeline_component_test.ts
@@ -30,9 +30,9 @@
 } from '@angular/platform-browser/animations';
 import {TimelineData} from 'app/timeline_data';
 import {assertDefined} from 'common/assert_utils';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {DOMTestHelper} from 'test/unit/dom_test_utils';
 import {HierarchyTreeBuilder} from 'test/unit/hierarchy_tree_builder';
+import {makeRealTimestamp, UTC_CONVERTER} from 'test/unit/time_test_helpers';
 import {TracesBuilder} from 'test/unit/traces_builder';
 import {TracePosition} from 'trace_api/trace_position';
 import {TraceType} from 'trace_api/trace_type';
@@ -44,12 +44,12 @@
   let component: ExpandedTimelineComponent;
   let dom: DOMTestHelper<ExpandedTimelineComponent>;
   let timelineData: TimelineData;
-  const time10 = TimestampConverterUtils.makeRealTimestamp(10n);
-  const time11 = TimestampConverterUtils.makeRealTimestamp(11n);
-  const time12 = TimestampConverterUtils.makeRealTimestamp(12n);
-  const time30 = TimestampConverterUtils.makeRealTimestamp(30n);
-  const time60 = TimestampConverterUtils.makeRealTimestamp(60n);
-  const time110 = TimestampConverterUtils.makeRealTimestamp(110n);
+  const time10 = makeRealTimestamp(10n);
+  const time11 = makeRealTimestamp(11n);
+  const time12 = makeRealTimestamp(12n);
+  const time30 = makeRealTimestamp(30n);
+  const time60 = makeRealTimestamp(60n);
+  const time110 = makeRealTimestamp(110n);
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
@@ -106,11 +106,7 @@
       .setTimestamps(TraceType.TRANSITION, [time10, time60])
       .setTimestamps(TraceType.PROTO_LOG, [time12, time12])
       .build();
-    await timelineData.initialize(
-      traces,
-      undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    await timelineData.initialize(traces, undefined, UTC_CONVERTER);
     component.timelineData = timelineData;
   });
 
diff --git a/tools/winscope/src/app/components/timeline/expanded-timeline/transition_timeline_component_test.ts b/tools/winscope/src/app/components/timeline/expanded-timeline/transition_timeline_component_test.ts
index 0e1de85..8eee951 100644
--- a/tools/winscope/src/app/components/timeline/expanded-timeline/transition_timeline_component_test.ts
+++ b/tools/winscope/src/app/components/timeline/expanded-timeline/transition_timeline_component_test.ts
@@ -30,10 +30,10 @@
 } from '@angular/platform-browser/animations';
 import {assertDefined} from 'common/assert_utils';
 import {Rect} from 'common/geometry/rect';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {TimeRange, Timestamp} from 'common/time/time';
 import {DOMTestHelper} from 'test/unit/dom_test_utils';
 import {HierarchyTreeBuilder} from 'test/unit/hierarchy_tree_builder';
+import {makeRealTimestamp, UTC_CONVERTER} from 'test/unit/time_test_helpers';
 import {waitToBeCalled} from 'test/unit/spy_utils';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {TransitionStatus} from 'trace/transitions/status';
@@ -45,17 +45,17 @@
   let component: TransitionTimelineComponent;
   let dom: DOMTestHelper<TransitionTimelineComponent>;
 
-  const time0 = TimestampConverterUtils.makeRealTimestamp(0n);
-  const time5 = TimestampConverterUtils.makeRealTimestamp(5n);
-  const time10 = TimestampConverterUtils.makeRealTimestamp(10n);
-  const time20 = TimestampConverterUtils.makeRealTimestamp(20n);
-  const time30 = TimestampConverterUtils.makeRealTimestamp(30n);
-  const time35 = TimestampConverterUtils.makeRealTimestamp(35n);
-  const time60 = TimestampConverterUtils.makeRealTimestamp(60n);
-  const time85 = TimestampConverterUtils.makeRealTimestamp(85n);
-  const time110 = TimestampConverterUtils.makeRealTimestamp(110n);
-  const time120 = TimestampConverterUtils.makeRealTimestamp(120n);
-  const time160 = TimestampConverterUtils.makeRealTimestamp(160n);
+  const time0 = makeRealTimestamp(0n);
+  const time5 = makeRealTimestamp(5n);
+  const time10 = makeRealTimestamp(10n);
+  const time20 = makeRealTimestamp(20n);
+  const time30 = makeRealTimestamp(30n);
+  const time35 = makeRealTimestamp(35n);
+  const time60 = makeRealTimestamp(60n);
+  const time85 = makeRealTimestamp(85n);
+  const time110 = makeRealTimestamp(110n);
+  const time120 = makeRealTimestamp(120n);
+  const time160 = makeRealTimestamp(160n);
 
   const range10to110 = new TimeRange(time10, time110);
   const range0to160 = new TimeRange(time0, time160);
@@ -84,7 +84,7 @@
     const fixture = TestBed.createComponent(TransitionTimelineComponent);
     component = fixture.componentInstance;
     dom = new DOMTestHelper(fixture, fixture.nativeElement);
-    component.timestampConverter = TimestampConverterUtils.TIMESTAMP_CONVERTER;
+    component.timestampConverter = UTC_CONVERTER;
     component.fullRange = range0to160;
   });
 
diff --git a/tools/winscope/src/app/components/timeline/mini-timeline/mini_timeline_component_test.ts b/tools/winscope/src/app/components/timeline/mini-timeline/mini_timeline_component_test.ts
index 72296e9..43020a4 100644
--- a/tools/winscope/src/app/components/timeline/mini-timeline/mini_timeline_component_test.ts
+++ b/tools/winscope/src/app/components/timeline/mini-timeline/mini_timeline_component_test.ts
@@ -32,9 +32,9 @@
 import {TimelineData} from 'app/timeline_data';
 import {assertDefined} from 'common/assert_utils';
 import {KeyboardEventCode} from 'common/dom_utils';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {TimeRange, Timestamp} from 'common/time/time';
 import {DOMTestHelper} from 'test/unit/dom_test_utils';
+import {makeRealTimestamp, UTC_CONVERTER} from 'test/unit/time_test_helpers';
 import {TracesBuilder} from 'test/unit/traces_builder';
 import {Trace} from 'trace_api/trace';
 import {TracePosition} from 'trace_api/trace_position';
@@ -52,21 +52,19 @@
   const zoomOutSelector = '#zoom-out-btn';
   const zoomControlSelector = '.zoom-control';
 
-  const timestamp10 = TimestampConverterUtils.makeRealTimestamp(10n);
-  const timestamp15 = TimestampConverterUtils.makeRealTimestamp(15n);
-  const timestamp16 = TimestampConverterUtils.makeRealTimestamp(16n);
-  const timestamp20 = TimestampConverterUtils.makeRealTimestamp(20n);
-  const timestamp700 = TimestampConverterUtils.makeRealTimestamp(700n);
-  const timestamp810 = TimestampConverterUtils.makeRealTimestamp(810n);
-  const timestamp1000 = TimestampConverterUtils.makeRealTimestamp(1000n);
-  const timestamp1750 = TimestampConverterUtils.makeRealTimestamp(1750n);
-  const timestamp2000 = TimestampConverterUtils.makeRealTimestamp(2000n);
-  const timestamp3000 = TimestampConverterUtils.makeRealTimestamp(3000n);
-  const timestamp4000 = TimestampConverterUtils.makeRealTimestamp(4000n);
+  const timestamp10 = makeRealTimestamp(10n);
+  const timestamp15 = makeRealTimestamp(15n);
+  const timestamp16 = makeRealTimestamp(16n);
+  const timestamp20 = makeRealTimestamp(20n);
+  const timestamp700 = makeRealTimestamp(700n);
+  const timestamp810 = makeRealTimestamp(810n);
+  const timestamp1000 = makeRealTimestamp(1000n);
+  const timestamp1750 = makeRealTimestamp(1750n);
+  const timestamp2000 = makeRealTimestamp(2000n);
+  const timestamp3000 = makeRealTimestamp(3000n);
+  const timestamp4000 = makeRealTimestamp(4000n);
 
-  const position800 = TracePosition.fromTimestamp(
-    TimestampConverterUtils.makeRealTimestamp(800n),
-  );
+  const position800 = TracePosition.fromTimestamp(makeRealTimestamp(800n));
 
   const traces = new TracesBuilder()
     .setTimestamps(TraceType.SURFACE_FLINGER, [timestamp10])
@@ -108,11 +106,7 @@
     dom = new DOMTestHelper(fixture, fixture.nativeElement);
 
     timelineData = new TimelineData();
-    await timelineData.initialize(
-      traces,
-      undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    await timelineData.initialize(traces, undefined, UTC_CONVERTER);
     component.timelineData = timelineData;
     expect(timelineData.getCurrentPosition()).toBeDefined();
     component.currentTracePosition = timelineData.getCurrentPosition()!;
@@ -658,11 +652,7 @@
       .setTimestamps(TraceType.WINDOW_MANAGER, [timestamp1000])
       .build();
 
-    timelineData.initialize(
-      traces,
-      undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    timelineData.initialize(traces, undefined, UTC_CONVERTER);
     dom.detectChanges();
   }
 
@@ -678,7 +668,7 @@
     assertDefined(component.timelineData).initialize(
       traces,
       undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
+      UTC_CONVERTER,
     );
   }
 
diff --git a/tools/winscope/src/app/components/timeline/mini-timeline/slider_component_test.ts b/tools/winscope/src/app/components/timeline/mini-timeline/slider_component_test.ts
index 63736c4..a306ee6 100644
--- a/tools/winscope/src/app/components/timeline/mini-timeline/slider_component_test.ts
+++ b/tools/winscope/src/app/components/timeline/mini-timeline/slider_component_test.ts
@@ -29,9 +29,9 @@
   NoopAnimationsModule,
 } from '@angular/platform-browser/animations';
 import {assertDefined} from 'common/assert_utils';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {TimeRange} from 'common/time/time';
 import {DOMTestHelper} from 'test/unit/dom_test_utils';
+import {makeRealTimestamp, UTC_CONVERTER} from 'test/unit/time_test_helpers';
 import {TracePosition} from 'trace_api/trace_position';
 import {MIN_SLIDER_WIDTH, SliderComponent} from './slider_component';
 
@@ -40,12 +40,12 @@
   let dom: DOMTestHelper<SliderComponent>;
   const leftCropperSelector = '.slider .cropper.left';
   const rightCropperSelector = '.slider .cropper.right';
-  const time100 = TimestampConverterUtils.makeRealTimestamp(100n);
-  const time125 = TimestampConverterUtils.makeRealTimestamp(125n);
-  const time126 = TimestampConverterUtils.makeRealTimestamp(126n);
-  const time150 = TimestampConverterUtils.makeRealTimestamp(150n);
-  const time175 = TimestampConverterUtils.makeRealTimestamp(175n);
-  const time200 = TimestampConverterUtils.makeRealTimestamp(200n);
+  const time100 = makeRealTimestamp(100n);
+  const time125 = makeRealTimestamp(125n);
+  const time126 = makeRealTimestamp(126n);
+  const time150 = makeRealTimestamp(150n);
+  const time175 = makeRealTimestamp(175n);
+  const time200 = makeRealTimestamp(200n);
 
   beforeEach(async () => {
     await TestBed.configureTestingModule({
@@ -74,7 +74,7 @@
     component.fullRange = new TimeRange(time100, time200);
     component.zoomRange = new TimeRange(time125, time175);
     component.currentPosition = TracePosition.fromTimestamp(time150);
-    component.timestampConverter = TimestampConverterUtils.TIMESTAMP_CONVERTER;
+    component.timestampConverter = UTC_CONVERTER;
     dom.detectChanges();
   });
 
diff --git a/tools/winscope/src/app/components/timeline/mini-timeline/transformer_test.ts b/tools/winscope/src/app/components/timeline/mini-timeline/transformer_test.ts
index 6b124f7..0862f6a 100644
--- a/tools/winscope/src/app/components/timeline/mini-timeline/transformer_test.ts
+++ b/tools/winscope/src/app/components/timeline/mini-timeline/transformer_test.ts
@@ -14,25 +14,21 @@
  * limitations under the License.
  */
 
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {TimeRange} from 'common/time/time';
+import {makeRealTimestamp, UTC_CONVERTER} from 'test/unit/time_test_helpers';
 import {Transformer} from './transformer';
 
 describe('Transformer', () => {
   it('can transform', () => {
     const fromRange = new TimeRange(
-      TimestampConverterUtils.makeRealTimestamp(1689763211000000000n),
-      TimestampConverterUtils.makeRealTimestamp(1689763571000000000n),
+      makeRealTimestamp(1689763211000000000n),
+      makeRealTimestamp(1689763571000000000n),
     );
     const toRange = {
       from: 100,
       to: 1100,
     };
-    const transformer = new Transformer(
-      fromRange,
-      toRange,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    const transformer = new Transformer(fromRange, toRange, UTC_CONVERTER);
 
     const rangeStart = fromRange.startNs;
     const rangeEnd = fromRange.endNs;
@@ -42,47 +38,33 @@
     expect(transformer.transform(fromRange.to)).toBe(toRange.to);
 
     expect(
-      transformer.transform(
-        TimestampConverterUtils.makeRealTimestamp(rangeStart + range / 2n),
-      ),
+      transformer.transform(makeRealTimestamp(rangeStart + range / 2n)),
     ).toBe(toRange.from + (toRange.to - toRange.from) / 2);
     expect(
-      transformer.transform(
-        TimestampConverterUtils.makeRealTimestamp(rangeStart + range / 4n),
-      ),
+      transformer.transform(makeRealTimestamp(rangeStart + range / 4n)),
     ).toBe(toRange.from + (toRange.to - toRange.from) / 4);
     expect(
-      transformer.transform(
-        TimestampConverterUtils.makeRealTimestamp(rangeStart + range / 20n),
-      ),
+      transformer.transform(makeRealTimestamp(rangeStart + range / 20n)),
     ).toBe(toRange.from + (toRange.to - toRange.from) / 20);
 
     expect(
-      transformer.transform(
-        TimestampConverterUtils.makeRealTimestamp(rangeStart - range / 2n),
-      ),
+      transformer.transform(makeRealTimestamp(rangeStart - range / 2n)),
     ).toBe(toRange.from - (toRange.to - toRange.from) / 2);
     expect(
-      transformer.transform(
-        TimestampConverterUtils.makeRealTimestamp(rangeEnd + range / 2n),
-      ),
+      transformer.transform(makeRealTimestamp(rangeEnd + range / 2n)),
     ).toBe(toRange.to + (toRange.to - toRange.from) / 2);
   });
 
   it('can untransform', () => {
     const fromRange = new TimeRange(
-      TimestampConverterUtils.makeRealTimestamp(1689763211000000000n),
-      TimestampConverterUtils.makeRealTimestamp(1689763571000000000n),
+      makeRealTimestamp(1689763211000000000n),
+      makeRealTimestamp(1689763571000000000n),
     );
     const toRange = {
       from: 100,
       to: 1100,
     };
-    const transformer = new Transformer(
-      fromRange,
-      toRange,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    const transformer = new Transformer(fromRange, toRange, UTC_CONVERTER);
 
     const rangeStart = fromRange.startNs;
     const range = fromRange.endNs - fromRange.startNs;
diff --git a/tools/winscope/src/app/components/timeline/timeline_component_test.ts b/tools/winscope/src/app/components/timeline/timeline_component_test.ts
index 2e68639..d08c92d 100644
--- a/tools/winscope/src/app/components/timeline/timeline_component_test.ts
+++ b/tools/winscope/src/app/components/timeline/timeline_component_test.ts
@@ -35,7 +35,6 @@
 import {TimelineData} from 'app/timeline_data';
 import {assertDefined} from 'common/assert_utils';
 import {PersistentStore} from 'common/store/persistent_store';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {TimeRange} from 'common/time/time';
 import {
   ActiveTraceChanged,
@@ -50,6 +49,7 @@
   WinscopeEvent,
 } from 'messaging/winscope_event';
 import {checkTooltips, DOMTestHelper} from 'test/unit/dom_test_utils';
+import {makeRealTimestamp, UTC_CONVERTER} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {makeEmptyTrace} from 'test/unit/trace_utils';
 import {TracesBuilder} from 'test/unit/traces_builder';
@@ -70,18 +70,18 @@
 import {TimelineComponent} from './timeline_component';
 
 describe('TimelineComponent', () => {
-  const time90 = TimestampConverterUtils.makeRealTimestamp(90n);
-  const time100 = TimestampConverterUtils.makeRealTimestamp(100n);
-  const time101 = TimestampConverterUtils.makeRealTimestamp(101n);
-  const time105 = TimestampConverterUtils.makeRealTimestamp(105n);
-  const time110 = TimestampConverterUtils.makeRealTimestamp(110n);
-  const time112 = TimestampConverterUtils.makeRealTimestamp(112n);
+  const time90 = makeRealTimestamp(90n);
+  const time100 = makeRealTimestamp(100n);
+  const time101 = makeRealTimestamp(101n);
+  const time105 = makeRealTimestamp(105n);
+  const time110 = makeRealTimestamp(110n);
+  const time112 = makeRealTimestamp(112n);
 
-  const time2000 = TimestampConverterUtils.makeRealTimestamp(2000n);
-  const time3000 = TimestampConverterUtils.makeRealTimestamp(3000n);
-  const time4000 = TimestampConverterUtils.makeRealTimestamp(4000n);
-  const time6000 = TimestampConverterUtils.makeRealTimestamp(6000n);
-  const time8000 = TimestampConverterUtils.makeRealTimestamp(8000n);
+  const time2000 = makeRealTimestamp(2000n);
+  const time3000 = makeRealTimestamp(3000n);
+  const time4000 = makeRealTimestamp(4000n);
+  const time6000 = makeRealTimestamp(6000n);
+  const time8000 = makeRealTimestamp(8000n);
 
   const position90 = TracePosition.fromTimestamp(time90);
   const position100 = TracePosition.fromTimestamp(time100);
@@ -142,7 +142,7 @@
     assertDefined(component.timelineData).initialize(
       traces,
       undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
+      UTC_CONVERTER,
     );
     dom.detectChanges();
 
@@ -180,7 +180,7 @@
     assertDefined(assertDefined(component.timelineData)).initialize(
       traces,
       undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
+      UTC_CONVERTER,
     );
     dom.detectChanges();
 
@@ -273,11 +273,7 @@
       .build();
 
     const timelineData = assertDefined(component.timelineData);
-    timelineData.initialize(
-      traces,
-      undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    timelineData.initialize(traces, undefined, UTC_CONVERTER);
     timelineData.setPosition(position100);
     dom.detectChanges();
     const nextEntryButton = dom.get(nextEntrySelector);
@@ -1127,11 +1123,7 @@
       .build();
 
     const timelineData = assertDefined(hostComponent.timelineData);
-    timelineData.initialize(
-      traces,
-      undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    timelineData.initialize(traces, undefined, UTC_CONVERTER);
     timelineData.setPosition(position100);
     hostComponent.allTraces = hostComponent.timelineData.getTraces();
     domHelper.detectChanges();
@@ -1178,7 +1170,7 @@
     assertDefined(hostComponent.timelineData).initialize(
       timelineDataTraces,
       undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
+      UTC_CONVERTER,
     );
     hostComponent.allTraces = traces;
     domHelper.detectChanges();
@@ -1201,11 +1193,7 @@
       .build();
 
     const timelineData = assertDefined(component.timelineData);
-    timelineData.initialize(
-      traces,
-      undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    timelineData.initialize(traces, undefined, UTC_CONVERTER);
     timelineData.setPosition(position100);
     component.allTraces = timelineData.getTraces();
     dom.detectChanges();
@@ -1230,7 +1218,7 @@
     assertDefined(hostComponent.timelineData).initialize(
       traces,
       undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
+      UTC_CONVERTER,
     );
     hostComponent.allTraces = traces;
     await domHelper.detectChangesAndWaitStable();
diff --git a/tools/winscope/src/app/components/timeline/timeline_utils_test.ts b/tools/winscope/src/app/components/timeline/timeline_utils_test.ts
index 66fe6b9..93e7fe7 100644
--- a/tools/winscope/src/app/components/timeline/timeline_utils_test.ts
+++ b/tools/winscope/src/app/components/timeline/timeline_utils_test.ts
@@ -14,9 +14,13 @@
  * limitations under the License.
  */
 
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {TimeRange} from 'common/time/time';
 import {HierarchyTreeBuilder} from 'test/unit/hierarchy_tree_builder';
+import {
+  makeRealTimestamp,
+  makeZeroTimestamp,
+  UTC_CONVERTER,
+} from 'test/unit/time_test_helpers';
 import {TransitionStatus} from 'trace/transitions/status';
 import {
   convertHexToRgb,
@@ -26,7 +30,7 @@
 } from './timeline_utils';
 
 describe('TimelineUtils', () => {
-  const zeroTs = TimestampConverterUtils.makeZeroTimestamp();
+  const zeroTs = makeZeroTimestamp();
 
   describe('isTransitionWithUnknownStart', () => {
     it('returns true if dispatch time missing', () => {
@@ -66,17 +70,17 @@
   });
 
   describe('getTimeRangeForTransition', () => {
-    const ts8 = TimestampConverterUtils.makeRealTimestamp(8n);
-    const ts9 = TimestampConverterUtils.makeRealTimestamp(9n);
-    const ts10 = TimestampConverterUtils.makeRealTimestamp(10n);
-    const ts12 = TimestampConverterUtils.makeRealTimestamp(12n);
-    const ts16 = TimestampConverterUtils.makeRealTimestamp(16n);
-    const ts17 = TimestampConverterUtils.makeRealTimestamp(17n);
-    const ts20 = TimestampConverterUtils.makeRealTimestamp(20n);
-    const ts21 = TimestampConverterUtils.makeRealTimestamp(21n);
-    const ts22 = TimestampConverterUtils.makeRealTimestamp(22n);
+    const ts8 = makeRealTimestamp(8n);
+    const ts9 = makeRealTimestamp(9n);
+    const ts10 = makeRealTimestamp(10n);
+    const ts12 = makeRealTimestamp(12n);
+    const ts16 = makeRealTimestamp(16n);
+    const ts17 = makeRealTimestamp(17n);
+    const ts20 = makeRealTimestamp(20n);
+    const ts21 = makeRealTimestamp(21n);
+    const ts22 = makeRealTimestamp(22n);
     const fullTimeRange = new TimeRange(ts10, ts20);
-    const converter = TimestampConverterUtils.TIMESTAMP_CONVERTER;
+    const converter = UTC_CONVERTER;
 
     it('returns undefined if dispatch, finish and abort times missing', () => {
       const transition = makeTransition({});
diff --git a/tools/winscope/src/app/components/trace_view_component_test.ts b/tools/winscope/src/app/components/trace_view_component_test.ts
index ada0b0e..6d7d5c8 100644
--- a/tools/winscope/src/app/components/trace_view_component_test.ts
+++ b/tools/winscope/src/app/components/trace_view_component_test.ts
@@ -33,7 +33,6 @@
 } from '@angular/platform-browser/animations';
 import {assertDefined} from 'common/assert_utils';
 import {InMemoryStorage} from 'common/store/in_memory_storage';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {
   FilterPresetApplyRequest,
   FilterPresetSaveRequest,
@@ -42,6 +41,7 @@
   WinscopeEventType,
 } from 'messaging/winscope_event';
 import {checkTooltips, DOMTestHelper} from 'test/unit/dom_test_utils';
+import {makeZeroTimestamp} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {makeEmptyTrace} from 'test/unit/trace_utils';
 import {TraceType} from 'trace_api/trace_type';
@@ -54,7 +54,7 @@
   const traceWm = new TraceBuilder<object>()
     .setType(TraceType.WINDOW_MANAGER)
     .setEntries([{}])
-    .setTimestamps([TimestampConverterUtils.makeZeroTimestamp()])
+    .setTimestamps([makeZeroTimestamp()])
     .setDescriptors(['file_1', 'file_1'])
     .build();
   const traceSr = makeEmptyTrace(TraceType.SCREEN_RECORDING);
diff --git a/tools/winscope/src/app/components/upload_traces_component_test.ts b/tools/winscope/src/app/components/upload_traces_component_test.ts
index 111b3f9..da4a4a9 100644
--- a/tools/winscope/src/app/components/upload_traces_component_test.ts
+++ b/tools/winscope/src/app/components/upload_traces_component_test.ts
@@ -27,7 +27,6 @@
 import {TracePipeline} from 'app/trace_pipeline';
 import {assertDefined} from 'common/assert_utils';
 import {InMemoryStorage} from 'common/store/in_memory_storage';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {
   AppTraceViewRequest,
   AppTraceViewRequestHandled,
@@ -35,6 +34,7 @@
 } from 'messaging/winscope_event';
 import {DOMTestHelper} from 'test/unit/dom_test_utils';
 import {getFixtureFile} from 'test/unit/fixture_file_utils';
+import {makeZeroTimestamp} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {Traces} from 'trace_api/traces';
 import {LoadProgressComponent} from './load_progress_component';
@@ -265,7 +265,7 @@
   it('shows error elements for corrupted traces', async () => {
     const corruptedTrace = new TraceBuilder<string>()
       .setEntries(['entry-0'])
-      .setTimestamps([TimestampConverterUtils.makeZeroTimestamp()])
+      .setTimestamps([makeZeroTimestamp()])
       .build();
     corruptedTrace.setCorruptedState(true);
     const traces = new Traces();
diff --git a/tools/winscope/src/app/loaded_parsers_test.ts b/tools/winscope/src/app/loaded_parsers_test.ts
index 916a4b9..f5dbb2d 100644
--- a/tools/winscope/src/app/loaded_parsers_test.ts
+++ b/tools/winscope/src/app/loaded_parsers_test.ts
@@ -16,13 +16,16 @@
 
 import {assertDefined} from 'common/assert_utils';
 import {unzipFile} from 'common/file_utils';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {TimeRange} from 'common/time/time';
 import {UserWarning} from 'messaging/user_warning';
 import {TraceHasOldData, TraceOverridden} from 'messaging/user_warnings';
 import {FileAndParser} from 'parsers/file_and_parser';
 import {FileAndParsers} from 'parsers/file_and_parsers';
 import {ParserBuilder} from 'test/unit/parser_builder';
+import {
+  makeRealTimestamp,
+  makeElapsedTimestamp,
+} from 'test/unit/time_test_helpers';
 import {UserNotifierChecker} from 'test/unit/user_notifier_checker';
 import {TraceFile} from 'trace/trace_file';
 import {Parser} from 'trace_api/parser';
@@ -30,28 +33,28 @@
 import {LoadedParsers} from './loaded_parsers';
 
 describe('LoadedParsers', () => {
-  const realZeroTimestamp = TimestampConverterUtils.makeRealTimestamp(0n);
-  const elapsedZeroTimestamp = TimestampConverterUtils.makeElapsedTimestamp(0n);
+  const realZeroTimestamp = makeRealTimestamp(0n);
+  const elapsedZeroTimestamp = makeElapsedTimestamp(0n);
   const oldTimestamps = [
     realZeroTimestamp,
-    TimestampConverterUtils.makeRealTimestamp(1n),
-    TimestampConverterUtils.makeRealTimestamp(2n),
-    TimestampConverterUtils.makeRealTimestamp(3n),
-    TimestampConverterUtils.makeRealTimestamp(4n),
+    makeRealTimestamp(1n),
+    makeRealTimestamp(2n),
+    makeRealTimestamp(3n),
+    makeRealTimestamp(4n),
   ];
 
   const elapsedTimestamps = [
     elapsedZeroTimestamp,
-    TimestampConverterUtils.makeElapsedTimestamp(1n),
-    TimestampConverterUtils.makeElapsedTimestamp(2n),
-    TimestampConverterUtils.makeElapsedTimestamp(3n),
-    TimestampConverterUtils.makeElapsedTimestamp(4n),
+    makeElapsedTimestamp(1n),
+    makeElapsedTimestamp(2n),
+    makeElapsedTimestamp(3n),
+    makeElapsedTimestamp(4n),
   ];
 
   const timestamps = [
-    TimestampConverterUtils.makeRealTimestamp(5n * 60n * 1000000000n + 10n), // 5m10ns
-    TimestampConverterUtils.makeRealTimestamp(5n * 60n * 1000000000n + 11n), // 5m11ns
-    TimestampConverterUtils.makeRealTimestamp(5n * 60n * 1000000000n + 12n), // 5m12ns
+    makeRealTimestamp(5n * 60n * 1000000000n + 10n), // 5m10ns
+    makeRealTimestamp(5n * 60n * 1000000000n + 11n), // 5m11ns
+    makeRealTimestamp(5n * 60n * 1000000000n + 12n), // 5m12ns
   ];
 
   const parserSf0 = new ParserBuilder<object>()
diff --git a/tools/winscope/src/app/mediator_test.ts b/tools/winscope/src/app/mediator_test.ts
index c5d32a7..0ec1162 100644
--- a/tools/winscope/src/app/mediator_test.ts
+++ b/tools/winscope/src/app/mediator_test.ts
@@ -17,7 +17,6 @@
 import {assertDefined} from 'common/assert_utils';
 import {mixin} from 'common/function_utils';
 import {InMemoryStorage} from 'common/store/in_memory_storage';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {TimezoneInfo} from 'common/time/time';
 import {TimestampConverter} from 'common/time/timestamp_converter';
 import {CrossToolProtocol} from 'cross_tool/cross_tool_protocol';
@@ -72,6 +71,10 @@
 import {WinscopeEventListener} from 'messaging/winscope_event_listener';
 import {WinscopeEventListenerStub} from 'messaging/winscope_event_listener_stub';
 import {getFixtureFile} from 'test/unit/fixture_file_utils';
+import {
+  makeRealTimestamp,
+  makeZeroTimestamp,
+} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {UserNotifierChecker} from 'test/unit/user_notifier_checker';
 import {Trace} from 'trace_api/trace';
@@ -87,8 +90,8 @@
 import {TraceSearchInitializer} from './trace_search/trace_search_initializer';
 
 describe('Mediator', () => {
-  const TIMESTAMP_10 = TimestampConverterUtils.makeRealTimestamp(10n);
-  const TIMESTAMP_11 = TimestampConverterUtils.makeRealTimestamp(11n);
+  const TIMESTAMP_10 = makeRealTimestamp(10n);
+  const TIMESTAMP_11 = makeRealTimestamp(11n);
 
   const POSITION_10 = TracePosition.fromTimestamp(TIMESTAMP_10);
   const POSITION_11 = TracePosition.fromTimestamp(TIMESTAMP_11);
@@ -103,7 +106,7 @@
     .build();
   const traceDump = new TraceBuilder<HierarchyTreeNode>()
     .setType(TraceType.SURFACE_FLINGER)
-    .setTimestamps([TimestampConverterUtils.makeZeroTimestamp()])
+    .setTimestamps([makeZeroTimestamp()])
     .build();
 
   let inputFiles: File[];
@@ -488,8 +491,7 @@
     // notify position
     resetSpyCalls();
     const finalTimestampNs = timelineData.getFullTimeRange().endNs;
-    const timestamp =
-      TimestampConverterUtils.makeRealTimestamp(finalTimestampNs);
+    const timestamp = makeRealTimestamp(finalTimestampNs);
     const position = TracePosition.fromTimestamp(timestamp);
 
     await mediator.onWinscopeEvent(new TracePositionUpdate(position, true));
diff --git a/tools/winscope/src/app/timeline_data_test.ts b/tools/winscope/src/app/timeline_data_test.ts
index a930f90..8b13e96 100644
--- a/tools/winscope/src/app/timeline_data_test.ts
+++ b/tools/winscope/src/app/timeline_data_test.ts
@@ -15,11 +15,11 @@
  */
 
 import {assertDefined} from 'common/assert_utils';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {TimeRange} from 'common/time/time';
 import {CannotParseAllTransitions} from 'messaging/user_warnings';
 import {HierarchyTreeBuilder} from 'test/unit/hierarchy_tree_builder';
 import {ParserBuilder} from 'test/unit/parser_builder';
+import {makeRealTimestamp, UTC_CONVERTER} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {makeEmptyTrace} from 'test/unit/trace_utils';
 import {TracesBuilder} from 'test/unit/traces_builder';
@@ -34,11 +34,11 @@
 describe('TimelineData', () => {
   let timelineData: TimelineData;
 
-  const timestamp0 = TimestampConverterUtils.makeRealTimestamp(0n);
-  const timestamp5 = TimestampConverterUtils.makeRealTimestamp(5n);
-  const timestamp9 = TimestampConverterUtils.makeRealTimestamp(9n);
-  const timestamp10 = TimestampConverterUtils.makeRealTimestamp(10n);
-  const timestamp11 = TimestampConverterUtils.makeRealTimestamp(11n);
+  const timestamp0 = makeRealTimestamp(0n);
+  const timestamp5 = makeRealTimestamp(5n);
+  const timestamp9 = makeRealTimestamp(9n);
+  const timestamp10 = makeRealTimestamp(10n);
+  const timestamp11 = makeRealTimestamp(11n);
 
   const traces = new TracesBuilder()
     .setTimestamps(TraceType.PROTO_LOG, [timestamp9])
@@ -59,9 +59,7 @@
   const position11 = TracePosition.fromTraceEntry(
     assertDefined(traces.getTrace(TraceType.WINDOW_MANAGER)).getEntry(0),
   );
-  const position1000 = TracePosition.fromTimestamp(
-    TimestampConverterUtils.makeRealTimestamp(1000n),
-  );
+  const position1000 = TracePosition.fromTimestamp(makeRealTimestamp(1000n));
 
   beforeEach(() => {
     timelineData = new TimelineData();
@@ -70,11 +68,7 @@
   it('can be initialized', () => {
     expect(timelineData.getCurrentPosition()).toBeUndefined();
 
-    timelineData.initialize(
-      traces,
-      undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    timelineData.initialize(traces, undefined, UTC_CONVERTER);
     expect(timelineData.getCurrentPosition()).toBeDefined();
   });
 
@@ -87,11 +81,7 @@
     const dumpWm = assertDefined(traces.getTrace(TraceType.WINDOW_MANAGER));
 
     it('drops trace if it is a dump (will not display in timeline UI)', () => {
-      timelineData.initialize(
-        traces,
-        undefined,
-        TimestampConverterUtils.TIMESTAMP_CONVERTER,
-      );
+      timelineData.initialize(traces, undefined, UTC_CONVERTER);
       expect(
         timelineData.getTraces().getTrace(TraceType.WINDOW_MANAGER),
       ).toBeUndefined();
@@ -100,22 +90,14 @@
     });
 
     it('is robust to prev/next entry request of a dump', () => {
-      timelineData.initialize(
-        traces,
-        undefined,
-        TimestampConverterUtils.TIMESTAMP_CONVERTER,
-      );
+      timelineData.initialize(traces, undefined, UTC_CONVERTER);
       expect(timelineData.getPreviousEntryFor(dumpWm)).toBeUndefined();
       expect(timelineData.getNextEntryFor(dumpWm)).toBeUndefined();
     });
   });
 
   it('drops empty trace', () => {
-    timelineData.initialize(
-      traces,
-      undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    timelineData.initialize(traces, undefined, UTC_CONVERTER);
     expect(
       timelineData.getTraces().getTrace(TraceType.TRANSACTIONS),
     ).toBeUndefined();
@@ -126,20 +108,12 @@
       .setTimestamps(TraceType.TRANSITION, [timestamp0, timestamp9])
       .setTimestamps(TraceType.SURFACE_FLINGER, [timestamp9, timestamp10])
       .build();
-    await timelineData.initialize(
-      traces,
-      undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    await timelineData.initialize(traces, undefined, UTC_CONVERTER);
     expect(timelineData.getFullTimeRange().from).toEqual(timestamp9);
   });
 
   it('uses first entry of first active trace by default, excluding screen recording', () => {
-    timelineData.initialize(
-      traces,
-      undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    timelineData.initialize(traces, undefined, UTC_CONVERTER);
     expect(timelineData.getActiveTrace()).toEqual(traceSf);
     expect(timelineData.getCurrentPosition()).toEqual(position10);
   });
@@ -147,20 +121,12 @@
   it('defaults active trace to screen recording if it is the only trace', () => {
     const tracesOnlySr = new Traces();
     tracesOnlySr.addTrace(traceSr);
-    timelineData.initialize(
-      tracesOnlySr,
-      undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    timelineData.initialize(tracesOnlySr, undefined, UTC_CONVERTER);
     expect(timelineData.getActiveTrace()).toEqual(traceSr);
   });
 
   it('uses explicit position if set and valid within time range', () => {
-    timelineData.initialize(
-      traces,
-      undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    timelineData.initialize(traces, undefined, UTC_CONVERTER);
     expect(timelineData.getCurrentPosition()).toEqual(position10);
 
     timelineData.setPosition(position11);
@@ -177,11 +143,7 @@
   });
 
   it('crops explicit position to within timeline range', () => {
-    timelineData.initialize(
-      traces,
-      undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    timelineData.initialize(traces, undefined, UTC_CONVERTER);
 
     timelineData.setPosition(TracePosition.fromTimestamp(timestamp0));
     expect(timelineData.getCurrentPosition()).toEqual(
@@ -193,11 +155,7 @@
   });
 
   it('sets active trace and update current position accordingly', () => {
-    timelineData.initialize(
-      traces,
-      undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    timelineData.initialize(traces, undefined, UTC_CONVERTER);
 
     expect(timelineData.getCurrentPosition()).toEqual(position10);
 
@@ -209,11 +167,7 @@
   });
 
   it('does not set active trace if not present in timeline, or already set', () => {
-    timelineData.initialize(
-      traces,
-      undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    timelineData.initialize(traces, undefined, UTC_CONVERTER);
 
     expect(timelineData.getCurrentPosition()).toEqual(position10);
 
@@ -238,11 +192,7 @@
     // no trace
     {
       const traces = new TracesBuilder().build();
-      timelineData.initialize(
-        traces,
-        undefined,
-        TimestampConverterUtils.TIMESTAMP_CONVERTER,
-      );
+      timelineData.initialize(traces, undefined, UTC_CONVERTER);
       expect(timelineData.hasTimestamps()).toBeFalse();
     }
     // trace without timestamps
@@ -250,11 +200,7 @@
       const traces = new TracesBuilder()
         .setTimestamps(TraceType.SURFACE_FLINGER, [])
         .build();
-      timelineData.initialize(
-        traces,
-        undefined,
-        TimestampConverterUtils.TIMESTAMP_CONVERTER,
-      );
+      timelineData.initialize(traces, undefined, UTC_CONVERTER);
       expect(timelineData.hasTimestamps()).toBeFalse();
     }
     // trace with timestamps
@@ -262,11 +208,7 @@
       const traces = new TracesBuilder()
         .setTimestamps(TraceType.SURFACE_FLINGER, [timestamp10])
         .build();
-      timelineData.initialize(
-        traces,
-        undefined,
-        TimestampConverterUtils.TIMESTAMP_CONVERTER,
-      );
+      timelineData.initialize(traces, undefined, UTC_CONVERTER);
       expect(timelineData.hasTimestamps()).toBeTrue();
     }
   });
@@ -277,11 +219,7 @@
     // no trace
     {
       const traces = new TracesBuilder().build();
-      timelineData.initialize(
-        traces,
-        undefined,
-        TimestampConverterUtils.TIMESTAMP_CONVERTER,
-      );
+      timelineData.initialize(traces, undefined, UTC_CONVERTER);
       expect(timelineData.hasMoreThanOneDistinctTimestamp()).toBeFalse();
     }
     // no distinct timestamps
@@ -290,11 +228,7 @@
         .setTimestamps(TraceType.SURFACE_FLINGER, [timestamp10])
         .setTimestamps(TraceType.WINDOW_MANAGER, [timestamp10])
         .build();
-      timelineData.initialize(
-        traces,
-        undefined,
-        TimestampConverterUtils.TIMESTAMP_CONVERTER,
-      );
+      timelineData.initialize(traces, undefined, UTC_CONVERTER);
       expect(timelineData.hasMoreThanOneDistinctTimestamp()).toBeFalse();
     }
     // distinct timestamps
@@ -303,21 +237,13 @@
         .setTimestamps(TraceType.SURFACE_FLINGER, [timestamp10])
         .setTimestamps(TraceType.WINDOW_MANAGER, [timestamp11])
         .build();
-      timelineData.initialize(
-        traces,
-        undefined,
-        TimestampConverterUtils.TIMESTAMP_CONVERTER,
-      );
+      timelineData.initialize(traces, undefined, UTC_CONVERTER);
       expect(timelineData.hasMoreThanOneDistinctTimestamp()).toBeTrue();
     }
   });
 
   it('getCurrentPosition() returns same object if no change to range', () => {
-    timelineData.initialize(
-      traces,
-      undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    timelineData.initialize(traces, undefined, UTC_CONVERTER);
 
     expect(timelineData.getCurrentPosition()).toBe(
       timelineData.getCurrentPosition(),
@@ -331,12 +257,8 @@
   });
 
   it('makePositionFromActiveTrace()', () => {
-    timelineData.initialize(
-      traces,
-      undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
-    const time100 = TimestampConverterUtils.makeRealTimestamp(100n);
+    timelineData.initialize(traces, undefined, UTC_CONVERTER);
+    const time100 = makeRealTimestamp(100n);
 
     {
       timelineData.trySetActiveTrace(traceSf);
@@ -354,11 +276,7 @@
   });
 
   it('getFullTimeRange() returns same object if no change to range', () => {
-    timelineData.initialize(
-      traces,
-      undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    timelineData.initialize(traces, undefined, UTC_CONVERTER);
 
     expect(timelineData.getFullTimeRange()).toBe(
       timelineData.getFullTimeRange(),
@@ -366,11 +284,7 @@
   });
 
   it('getSelectionTimeRange() returns same object if no change to range', () => {
-    timelineData.initialize(
-      traces,
-      undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    timelineData.initialize(traces, undefined, UTC_CONVERTER);
 
     expect(timelineData.getSelectionTimeRange()).toBe(
       timelineData.getSelectionTimeRange(),
@@ -384,11 +298,7 @@
   });
 
   it('getZoomRange() returns same object if no change to range', () => {
-    timelineData.initialize(
-      traces,
-      undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    timelineData.initialize(traces, undefined, UTC_CONVERTER);
 
     expect(timelineData.getZoomRange()).toBe(timelineData.getZoomRange());
 
@@ -398,11 +308,7 @@
   });
 
   it("getCurrentPosition() prioritizes active trace's first entry", () => {
-    timelineData.initialize(
-      traces,
-      undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    timelineData.initialize(traces, undefined, UTC_CONVERTER);
     timelineData.trySetActiveTrace(traceWm);
 
     expect(timelineData.getCurrentPosition()?.timestamp).toBe(timestamp11);
@@ -428,11 +334,7 @@
       .build();
     traces.addTrace(trace as Trace<{}>);
 
-    await timelineData.initialize(
-      traces,
-      undefined,
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
-    );
+    await timelineData.initialize(traces, undefined, UTC_CONVERTER);
     userNotifierChecker.expectAdded([new CannotParseAllTransitions()]);
     expect(timelineData.getTransitionEntries()).toEqual([
       transition,
diff --git a/tools/winscope/src/app/trace_pipeline_test.ts b/tools/winscope/src/app/trace_pipeline_test.ts
index ebbf4d3..c31e4a1 100644
--- a/tools/winscope/src/app/trace_pipeline_test.ts
+++ b/tools/winscope/src/app/trace_pipeline_test.ts
@@ -20,10 +20,6 @@
   DOWNLOAD_FILENAME_REGEX,
   unzipFile,
 } from 'common/file_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {ProgressListenerStub} from 'messaging/progress_listener_stub';
 import {UserWarning} from 'messaging/user_warning';
 import {
@@ -36,6 +32,10 @@
 import {BugreportFileSelected} from 'messaging/winscope_event';
 import {LegacyToPerfettoConverter} from 'parsers/legacy_to_perfetto_converter';
 import {getFixtureFile} from 'test/unit/fixture_file_utils';
+import {
+  makeRealTimestampWithUTCOffset,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {extractEntries} from 'test/unit/traces_utils';
 import {UserNotifierChecker} from 'test/unit/user_notifier_checker';
 import {TraceFile} from 'trace/trace_file';
@@ -243,9 +243,7 @@
     expect(timestampConverter.getUTCOffset()).toBe('UTC+05:30');
 
     const expectedTimestamp =
-      TimestampConverterUtils.makeRealTimestampWithUTCOffset(
-        1659107089102062832n,
-      );
+      makeRealTimestampWithUTCOffset(1659107089102062832n);
     expect(
       timestampConverter.makeTimestampFromMonotonicNs(14500282843n),
     ).toEqual(expectedTimestamp);
diff --git a/tools/winscope/src/common/time/time_test.ts b/tools/winscope/src/common/time/time_test.ts
index 03c2801..c38371b 100644
--- a/tools/winscope/src/common/time/time_test.ts
+++ b/tools/winscope/src/common/time/time_test.ts
@@ -14,18 +14,21 @@
  * limitations under the License.
  */
 
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
+import {
+  makeElapsedTimestamp,
+  makeRealTimestamp,
+  TIMESTAMP_CONVERTER_WITH_UTC_OFFSET,
+  UTC_CONVERTER,
+} from 'test/unit/time_test_helpers';
 import {TimeRange} from './time';
 import {TIME_UNIT_TO_NANO} from './time_units';
 
 describe('Timestamp', () => {
   describe('arithmetic', () => {
-    const REAL_TIMESTAMP_10 = TimestampConverterUtils.makeRealTimestamp(10n);
-    const REAL_TIMESTAMP_20 = TimestampConverterUtils.makeRealTimestamp(20n);
-    const ELAPSED_TIMESTAMP_10 =
-      TimestampConverterUtils.makeElapsedTimestamp(10n);
-    const ELAPSED_TIMESTAMP_20 =
-      TimestampConverterUtils.makeElapsedTimestamp(20n);
+    const REAL_TIMESTAMP_10 = makeRealTimestamp(10n);
+    const REAL_TIMESTAMP_20 = makeRealTimestamp(20n);
+    const ELAPSED_TIMESTAMP_10 = makeElapsedTimestamp(10n);
+    const ELAPSED_TIMESTAMP_20 = makeElapsedTimestamp(20n);
 
     it('can add', () => {
       let timestamp = REAL_TIMESTAMP_10.add(REAL_TIMESTAMP_20.getValueNs());
@@ -44,7 +47,7 @@
     });
 
     it('can divide', () => {
-      let timestamp = TimestampConverterUtils.makeRealTimestamp(10n).div(2n);
+      let timestamp = makeRealTimestamp(10n).div(2n);
       expect(timestamp.getValueNs()).toBe(5n);
 
       timestamp = ELAPSED_TIMESTAMP_10.div(2n);
@@ -60,67 +63,41 @@
     const DAY = BigInt(TIME_UNIT_TO_NANO.d);
 
     it('elapsed timestamps', () => {
-      expect(TimestampConverterUtils.makeElapsedTimestamp(0n).format()).toEqual(
-        '0ns',
+      expect(makeElapsedTimestamp(0n).format()).toEqual('0ns');
+      expect(makeElapsedTimestamp(1000n).format()).toBe('1000ns');
+      expect(makeElapsedTimestamp(10n * MILLISECOND).format()).toBe('10ms0ns');
+
+      expect(makeElapsedTimestamp(SECOND - 1n).format()).toBe('999ms999999ns');
+      expect(makeElapsedTimestamp(SECOND).format()).toBe('1s0ms0ns');
+      expect(makeElapsedTimestamp(SECOND + MILLISECOND).format()).toBe(
+        '1s1ms0ns',
       );
-      expect(TimestampConverterUtils.makeElapsedTimestamp(1000n).format()).toBe(
-        '1000ns',
+
+      expect(makeElapsedTimestamp(MINUTE - 1n).format()).toBe(
+        '59s999ms999999ns',
+      );
+      expect(makeElapsedTimestamp(MINUTE).format()).toBe('1m0s0ms0ns');
+      expect(makeElapsedTimestamp(MINUTE + SECOND + MILLISECOND).format()).toBe(
+        '1m1s1ms0ns',
       );
       expect(
-        TimestampConverterUtils.makeElapsedTimestamp(
-          10n * MILLISECOND,
-        ).format(),
-      ).toBe('10ms0ns');
-
-      expect(
-        TimestampConverterUtils.makeElapsedTimestamp(SECOND - 1n).format(),
-      ).toBe('999ms999999ns');
-      expect(
-        TimestampConverterUtils.makeElapsedTimestamp(SECOND).format(),
-      ).toBe('1s0ms0ns');
-      expect(
-        TimestampConverterUtils.makeElapsedTimestamp(
-          SECOND + MILLISECOND,
-        ).format(),
-      ).toBe('1s1ms0ns');
-
-      expect(
-        TimestampConverterUtils.makeElapsedTimestamp(MINUTE - 1n).format(),
-      ).toBe('59s999ms999999ns');
-      expect(
-        TimestampConverterUtils.makeElapsedTimestamp(MINUTE).format(),
-      ).toBe('1m0s0ms0ns');
-      expect(
-        TimestampConverterUtils.makeElapsedTimestamp(
-          MINUTE + SECOND + MILLISECOND,
-        ).format(),
-      ).toBe('1m1s1ms0ns');
-      expect(
-        TimestampConverterUtils.makeElapsedTimestamp(
-          MINUTE + SECOND + MILLISECOND + 1n,
-        ).format(),
+        makeElapsedTimestamp(MINUTE + SECOND + MILLISECOND + 1n).format(),
       ).toBe('1m1s1ms1ns');
 
-      expect(
-        TimestampConverterUtils.makeElapsedTimestamp(HOUR - 1n).format(),
-      ).toBe('59m59s999ms999999ns');
-      expect(TimestampConverterUtils.makeElapsedTimestamp(HOUR).format()).toBe(
-        '1h0m0s0ms0ns',
+      expect(makeElapsedTimestamp(HOUR - 1n).format()).toBe(
+        '59m59s999ms999999ns',
       );
+      expect(makeElapsedTimestamp(HOUR).format()).toBe('1h0m0s0ms0ns');
       expect(
-        TimestampConverterUtils.makeElapsedTimestamp(
-          HOUR + MINUTE + SECOND + MILLISECOND,
-        ).format(),
+        makeElapsedTimestamp(HOUR + MINUTE + SECOND + MILLISECOND).format(),
       ).toBe('1h1m1s1ms0ns');
 
-      expect(
-        TimestampConverterUtils.makeElapsedTimestamp(DAY - 1n).format(),
-      ).toBe('23h59m59s999ms999999ns');
-      expect(TimestampConverterUtils.makeElapsedTimestamp(DAY).format()).toBe(
-        '1d0h0m0s0ms0ns',
+      expect(makeElapsedTimestamp(DAY - 1n).format()).toBe(
+        '23h59m59s999ms999999ns',
       );
+      expect(makeElapsedTimestamp(DAY).format()).toBe('1d0h0m0s0ms0ns');
       expect(
-        TimestampConverterUtils.makeElapsedTimestamp(
+        makeElapsedTimestamp(
           DAY + HOUR + MINUTE + SECOND + MILLISECOND,
         ).format(),
       ).toBe('1d1h1m1s1ms0ns');
@@ -128,11 +105,11 @@
 
     it('real timestamps without timezone info', () => {
       const NOV_10_2022 = 1668038400000n * MILLISECOND;
-      expect(TimestampConverterUtils.makeRealTimestamp(0n).format()).toEqual(
+      expect(makeRealTimestamp(0n).format()).toEqual(
         '1970-01-01, 00:00:00.000',
       );
       expect(
-        TimestampConverterUtils.makeRealTimestamp(
+        makeRealTimestamp(
           NOV_10_2022 +
             22n * HOUR +
             4n * MINUTE +
@@ -141,18 +118,18 @@
             123212n,
         ).format(),
       ).toBe('2022-11-10, 22:04:54.186');
-      expect(
-        TimestampConverterUtils.makeRealTimestamp(NOV_10_2022).format(),
-      ).toBe('2022-11-10, 00:00:00.000');
-      expect(
-        TimestampConverterUtils.makeRealTimestamp(NOV_10_2022 + 1n).format(),
-      ).toBe('2022-11-10, 00:00:00.000');
+      expect(makeRealTimestamp(NOV_10_2022).format()).toBe(
+        '2022-11-10, 00:00:00.000',
+      );
+      expect(makeRealTimestamp(NOV_10_2022 + 1n).format()).toBe(
+        '2022-11-10, 00:00:00.000',
+      );
 
-      expect(TimestampConverterUtils.makeRealTimestamp(0n).format()).toEqual(
+      expect(makeRealTimestamp(0n).format()).toEqual(
         '1970-01-01, 00:00:00.000',
       );
       expect(
-        TimestampConverterUtils.makeRealTimestamp(
+        makeRealTimestamp(
           NOV_10_2022 +
             22n * HOUR +
             4n * MINUTE +
@@ -161,23 +138,23 @@
             123212n,
         ).format(),
       ).toBe('2022-11-10, 22:04:54.186');
-      expect(
-        TimestampConverterUtils.makeRealTimestamp(NOV_10_2022).format(),
-      ).toBe('2022-11-10, 00:00:00.000');
-      expect(
-        TimestampConverterUtils.makeRealTimestamp(NOV_10_2022 + 1n).format(),
-      ).toBe('2022-11-10, 00:00:00.000');
+      expect(makeRealTimestamp(NOV_10_2022).format()).toBe(
+        '2022-11-10, 00:00:00.000',
+      );
+      expect(makeRealTimestamp(NOV_10_2022 + 1n).format()).toBe(
+        '2022-11-10, 00:00:00.000',
+      );
     });
 
     it('real timestamps with timezone info', () => {
       const NOV_10_2022 = 1668038400000n * MILLISECOND;
       expect(
-        TimestampConverterUtils.TIMESTAMP_CONVERTER_WITH_UTC_OFFSET.makeTimestampFromRealNs(
+        TIMESTAMP_CONVERTER_WITH_UTC_OFFSET.makeTimestampFromRealNs(
           0n,
         ).format(),
       ).toBe('1970-01-01, 05:30:00.000');
       expect(
-        TimestampConverterUtils.TIMESTAMP_CONVERTER_WITH_UTC_OFFSET.makeTimestampFromRealNs(
+        TIMESTAMP_CONVERTER_WITH_UTC_OFFSET.makeTimestampFromRealNs(
           NOV_10_2022 +
             22n * HOUR +
             4n * MINUTE +
@@ -187,23 +164,23 @@
         ).format(),
       ).toBe('2022-11-11, 03:34:54.186');
       expect(
-        TimestampConverterUtils.TIMESTAMP_CONVERTER_WITH_UTC_OFFSET.makeTimestampFromRealNs(
+        TIMESTAMP_CONVERTER_WITH_UTC_OFFSET.makeTimestampFromRealNs(
           NOV_10_2022,
         ).format(),
       ).toBe('2022-11-10, 05:30:00.000');
       expect(
-        TimestampConverterUtils.TIMESTAMP_CONVERTER_WITH_UTC_OFFSET.makeTimestampFromRealNs(
+        TIMESTAMP_CONVERTER_WITH_UTC_OFFSET.makeTimestampFromRealNs(
           NOV_10_2022 + 1n,
         ).format(),
       ).toBe('2022-11-10, 05:30:00.000');
 
       expect(
-        TimestampConverterUtils.TIMESTAMP_CONVERTER_WITH_UTC_OFFSET.makeTimestampFromRealNs(
+        TIMESTAMP_CONVERTER_WITH_UTC_OFFSET.makeTimestampFromRealNs(
           0n,
         ).format(),
       ).toBe('1970-01-01, 05:30:00.000');
       expect(
-        TimestampConverterUtils.TIMESTAMP_CONVERTER_WITH_UTC_OFFSET.makeTimestampFromRealNs(
+        TIMESTAMP_CONVERTER_WITH_UTC_OFFSET.makeTimestampFromRealNs(
           NOV_10_2022 +
             22n * HOUR +
             4n * MINUTE +
@@ -213,12 +190,12 @@
         ).format(),
       ).toBe('2022-11-11, 03:34:54.186');
       expect(
-        TimestampConverterUtils.TIMESTAMP_CONVERTER_WITH_UTC_OFFSET.makeTimestampFromRealNs(
+        TIMESTAMP_CONVERTER_WITH_UTC_OFFSET.makeTimestampFromRealNs(
           NOV_10_2022,
         ).format(),
       ).toBe('2022-11-10, 05:30:00.000');
       expect(
-        TimestampConverterUtils.TIMESTAMP_CONVERTER_WITH_UTC_OFFSET.makeTimestampFromRealNs(
+        TIMESTAMP_CONVERTER_WITH_UTC_OFFSET.makeTimestampFromRealNs(
           NOV_10_2022 + 1n,
         ).format(),
       ).toBe('2022-11-10, 05:30:00.000');
@@ -229,41 +206,31 @@
 describe('TimeRange', () => {
   describe('containsTimestamp', () => {
     const range = new TimeRange(
-      TimestampConverterUtils.TIMESTAMP_CONVERTER.makeTimestampFromNs(10n),
-      TimestampConverterUtils.TIMESTAMP_CONVERTER.makeTimestampFromNs(600n),
+      UTC_CONVERTER.makeTimestampFromNs(10n),
+      UTC_CONVERTER.makeTimestampFromNs(600n),
     );
 
     it('returns true for range containing timestamp', () => {
       expect(
-        range.containsTimestamp(
-          TimestampConverterUtils.TIMESTAMP_CONVERTER.makeTimestampFromNs(10n),
-        ),
+        range.containsTimestamp(UTC_CONVERTER.makeTimestampFromNs(10n)),
       ).toBeTrue();
 
       expect(
-        range.containsTimestamp(
-          TimestampConverterUtils.TIMESTAMP_CONVERTER.makeTimestampFromNs(600n),
-        ),
+        range.containsTimestamp(UTC_CONVERTER.makeTimestampFromNs(600n)),
       ).toBeTrue();
 
       expect(
-        range.containsTimestamp(
-          TimestampConverterUtils.TIMESTAMP_CONVERTER.makeTimestampFromNs(300n),
-        ),
+        range.containsTimestamp(UTC_CONVERTER.makeTimestampFromNs(300n)),
       ).toBeTrue();
     });
 
     it('returns false for range not containing timestamp', () => {
       expect(
-        range.containsTimestamp(
-          TimestampConverterUtils.TIMESTAMP_CONVERTER.makeTimestampFromNs(0n),
-        ),
+        range.containsTimestamp(UTC_CONVERTER.makeTimestampFromNs(0n)),
       ).toBeFalse();
 
       expect(
-        range.containsTimestamp(
-          TimestampConverterUtils.TIMESTAMP_CONVERTER.makeTimestampFromNs(601n),
-        ),
+        range.containsTimestamp(UTC_CONVERTER.makeTimestampFromNs(601n)),
       ).toBeFalse();
     });
   });
diff --git a/tools/winscope/src/common/time/time_test_helpers.ts b/tools/winscope/src/common/time/time_test_helpers.ts
deleted file mode 100644
index 5908530..0000000
--- a/tools/winscope/src/common/time/time_test_helpers.ts
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import {Timestamp, TimezoneInfo} from './time';
-import {TimestampConverter} from './timestamp_converter';
-
-class TimestampConverterTestUtils {
-  readonly ASIA_TIMEZONE_INFO: TimezoneInfo = {
-    timezone: 'Asia/Kolkata',
-    locale: 'en-US',
-  };
-  readonly UTC_TIMEZONE_INFO: TimezoneInfo = {
-    timezone: 'UTC',
-    locale: 'en-US',
-  };
-
-  readonly TIMESTAMP_CONVERTER = new TimestampConverter(
-    this.UTC_TIMEZONE_INFO,
-    0n,
-    0n,
-  );
-
-  readonly TIMESTAMP_CONVERTER_WITH_UTC_OFFSET = new TimestampConverter(
-    this.ASIA_TIMEZONE_INFO,
-    0n,
-    0n,
-  );
-
-  private readonly TIMESTAMP_CONVERTER_NO_RTE_OFFSET = new TimestampConverter({
-    timezone: 'UTC',
-    locale: 'en-US',
-  });
-
-  constructor() {
-    this.TIMESTAMP_CONVERTER_WITH_UTC_OFFSET.initializeUTCOffset(
-      this.TIMESTAMP_CONVERTER_WITH_UTC_OFFSET.makeTimestampFromRealNs(0n),
-    );
-  }
-
-  makeRealTimestamp(valueNs: bigint): Timestamp {
-    return this.TIMESTAMP_CONVERTER.makeTimestampFromRealNs(valueNs);
-  }
-
-  makeRealTimestampWithUTCOffset(valueNs: bigint): Timestamp {
-    return this.TIMESTAMP_CONVERTER_WITH_UTC_OFFSET.makeTimestampFromRealNs(
-      valueNs,
-    );
-  }
-
-  makeElapsedTimestamp(valueNs: bigint): Timestamp {
-    return this.TIMESTAMP_CONVERTER_NO_RTE_OFFSET.makeTimestampFromMonotonicNs(
-      valueNs,
-    );
-  }
-
-  makeZeroTimestamp(): Timestamp {
-    return this.TIMESTAMP_CONVERTER_NO_RTE_OFFSET.makeZeroTimestamp();
-  }
-}
-
-function testTimestamps(
-  timestamp: Timestamp,
-  expectedTimestamp: Timestamp,
-): boolean {
-  if (timestamp.format() !== expectedTimestamp.format()) return false;
-  if (timestamp.getValueNs() !== expectedTimestamp.getValueNs()) {
-    return false;
-  }
-  return true;
-}
-
-/**
- * A Jasmine custom equality tester for Timestamps.
- *
- * @param first The first object to compare.
- * @param second The second object to compare.
- * @return True if the objects are equal, false otherwise.
- */
-export function timestampEqualityTester(
-  first: unknown,
-  second: unknown,
-): boolean | undefined {
-  if (first instanceof Timestamp && second instanceof Timestamp) {
-    return testTimestamps(first, second);
-  }
-  return undefined;
-}
-
-/**
- * A utility class for creating TimestampConverter instances for tests.
- */
-export const TimestampConverterUtils = new TimestampConverterTestUtils();
-
-/**
- * Gets a TimestampConverter for tests.
- *
- * @param withUTCOffset Whether to create a converter with a UTC offset.
- * @return A TimestampConverter.
- */
-export function getTimestampConverter(
-  withUTCOffset = false,
-): TimestampConverter {
-  return withUTCOffset
-    ? new TimestampConverter(TimestampConverterUtils.ASIA_TIMEZONE_INFO)
-    : new TimestampConverter(TimestampConverterUtils.UTC_TIMEZONE_INFO);
-}
diff --git a/tools/winscope/src/common/time/timestamp_converter.ts b/tools/winscope/src/common/time/timestamp_converter.ts
index 6695879..e8c9aa2 100644
--- a/tools/winscope/src/common/time/timestamp_converter.ts
+++ b/tools/winscope/src/common/time/timestamp_converter.ts
@@ -139,7 +139,13 @@
     private timezoneInfo: TimezoneInfo,
     private realToMonotonicTimeOffsetNs?: bigint,
     private realToBootTimeOffsetNs?: bigint,
-  ) {}
+    utcOffset?: Timestamp,
+  ) {
+    if (utcOffset !== undefined) {
+      this.createdTimestampType = TimestampType.REAL;
+      this.initializeUTCOffset(utcOffset);
+    }
+  }
 
   /**
    * Initializes the UTC offset.
diff --git a/tools/winscope/src/common/time/timestamp_converter_test.ts b/tools/winscope/src/common/time/timestamp_converter_test.ts
index 41e49cd..1cdf2af 100644
--- a/tools/winscope/src/common/time/timestamp_converter_test.ts
+++ b/tools/winscope/src/common/time/timestamp_converter_test.ts
@@ -15,11 +15,11 @@
  */
 
 import {
-  TimestampConverterUtils,
   timestampEqualityTester,
-} from './time_test_helpers';
+  ASIA_TIMEZONE_INFO,
+} from 'test/unit/time_test_helpers';
 import {TIME_UNIT_TO_NANO} from './time_units';
-import {TimestampConverter} from './timestamp_converter';
+import {UTC_TIMEZONE_INFO, TimestampConverter} from './timestamp_converter';
 
 describe('TimestampConverter', () => {
   const MILLISECOND = BigInt(TIME_UNIT_TO_NANO.ms);
@@ -39,14 +39,14 @@
 
   describe('makes timestamps from ns without timezone info', () => {
     const converterWithMonotonicOffset = new TimestampConverter(
-      TimestampConverterUtils.UTC_TIMEZONE_INFO,
+      UTC_TIMEZONE_INFO,
     );
     converterWithMonotonicOffset.setRealToMonotonicTimeOffsetNs(
       testMonotonicTimeOffsetNs,
     );
 
     const converterWithBootTimeOffset = new TimestampConverter(
-      TimestampConverterUtils.UTC_TIMEZONE_INFO,
+      UTC_TIMEZONE_INFO,
     );
     converterWithBootTimeOffset.setRealToBootTimeOffsetNs(
       testRealToBootTimeOffsetNs,
@@ -54,7 +54,7 @@
 
     it('can create real-formatted timestamp without real-time offset set', () => {
       const timestamp = new TimestampConverter(
-        TimestampConverterUtils.UTC_TIMEZONE_INFO,
+        UTC_TIMEZONE_INFO,
       ).makeTimestampFromRealNs(testRealNs);
       expect(timestamp.getValueNs()).toBe(testRealNs);
       expect(timestamp.format()).toBe('2022-07-31, 04:55:41.051');
@@ -80,7 +80,7 @@
 
     it('can create elapsed-formatted timestamp', () => {
       const timestamp = new TimestampConverter(
-        TimestampConverterUtils.UTC_TIMEZONE_INFO,
+        UTC_TIMEZONE_INFO,
       ).makeTimestampFromMonotonicNs(testElapsedNs);
       expect(timestamp.getValueNs()).toBe(testElapsedNs);
       expect(timestamp.format()).toBe('100ns');
@@ -102,7 +102,7 @@
 
   describe('makes timestamps from ns with timezone info', () => {
     const converterWithMonotonicOffset = new TimestampConverter(
-      TimestampConverterUtils.ASIA_TIMEZONE_INFO,
+      ASIA_TIMEZONE_INFO,
     );
     converterWithMonotonicOffset.setRealToMonotonicTimeOffsetNs(
       testMonotonicTimeOffsetNs,
@@ -112,7 +112,7 @@
     );
 
     const converterWithBootTimeOffset = new TimestampConverter(
-      TimestampConverterUtils.ASIA_TIMEZONE_INFO,
+      ASIA_TIMEZONE_INFO,
     );
     converterWithBootTimeOffset.setRealToBootTimeOffsetNs(
       testRealToBootTimeOffsetNs,
@@ -122,9 +122,7 @@
     );
 
     it('can create real-formatted timestamp without real-time offset set', () => {
-      const converter = new TimestampConverter(
-        TimestampConverterUtils.ASIA_TIMEZONE_INFO,
-      );
+      const converter = new TimestampConverter(ASIA_TIMEZONE_INFO);
       converter.initializeUTCOffset(
         converter.makeTimestampFromRealNs(testRealNs),
       );
@@ -154,7 +152,7 @@
 
     it('can create elapsed-formatted timestamp', () => {
       const timestamp = new TimestampConverter(
-        TimestampConverterUtils.ASIA_TIMEZONE_INFO,
+        ASIA_TIMEZONE_INFO,
       ).makeTimestampFromMonotonicNs(testElapsedNs);
       expect(timestamp.getValueNs()).toBe(testElapsedNs);
       expect(timestamp.format()).toBe('100ns');
@@ -222,12 +220,10 @@
   });
 
   describe('makes timestamps from string without timezone info', () => {
-    const converterWithoutOffsets = new TimestampConverter(
-      TimestampConverterUtils.UTC_TIMEZONE_INFO,
-    );
+    const converterWithoutOffsets = new TimestampConverter(UTC_TIMEZONE_INFO);
 
     const converterWithMonotonicOffset = new TimestampConverter(
-      TimestampConverterUtils.UTC_TIMEZONE_INFO,
+      UTC_TIMEZONE_INFO,
     );
     converterWithMonotonicOffset.setRealToMonotonicTimeOffsetNs(
       testMonotonicTimeOffsetNs,
@@ -469,9 +465,7 @@
   });
 
   describe('makes timestamps from string with timezone info', () => {
-    const converter = new TimestampConverter(
-      TimestampConverterUtils.ASIA_TIMEZONE_INFO,
-    );
+    const converter = new TimestampConverter(ASIA_TIMEZONE_INFO);
     converter.setRealToMonotonicTimeOffsetNs(testMonotonicTimeOffsetNs);
     converter.initializeUTCOffset(
       converter.makeTimestampFromRealNs(testRealNs),
diff --git a/tools/winscope/src/common/time/timestamp_utils_test.ts b/tools/winscope/src/common/time/timestamp_utils_test.ts
index 9515013..23d2b42 100644
--- a/tools/winscope/src/common/time/timestamp_utils_test.ts
+++ b/tools/winscope/src/common/time/timestamp_utils_test.ts
@@ -15,9 +15,9 @@
  */
 
 import {
-  TimestampConverterUtils,
+  makeRealTimestamp,
   timestampEqualityTester,
-} from './time_test_helpers';
+} from 'test/unit/time_test_helpers';
 import {
   compareFn,
   isHumanElapsedTimeFormat,
@@ -35,20 +35,20 @@
   describe('compareFn', () => {
     it('allows to sort arrays', () => {
       const array = [
-        TimestampConverterUtils.makeRealTimestamp(100n),
-        TimestampConverterUtils.makeRealTimestamp(10n),
-        TimestampConverterUtils.makeRealTimestamp(12n),
-        TimestampConverterUtils.makeRealTimestamp(110n),
-        TimestampConverterUtils.makeRealTimestamp(11n),
+        makeRealTimestamp(100n),
+        makeRealTimestamp(10n),
+        makeRealTimestamp(12n),
+        makeRealTimestamp(110n),
+        makeRealTimestamp(11n),
       ];
       array.sort(compareFn);
 
       const expected = [
-        TimestampConverterUtils.makeRealTimestamp(10n),
-        TimestampConverterUtils.makeRealTimestamp(11n),
-        TimestampConverterUtils.makeRealTimestamp(12n),
-        TimestampConverterUtils.makeRealTimestamp(100n),
-        TimestampConverterUtils.makeRealTimestamp(110n),
+        makeRealTimestamp(10n),
+        makeRealTimestamp(11n),
+        makeRealTimestamp(12n),
+        makeRealTimestamp(100n),
+        makeRealTimestamp(110n),
       ];
       expect(array).toEqual(expected);
     });
diff --git a/tools/winscope/src/parsers/events/legacy/parser_eventlog_test.ts b/tools/winscope/src/parsers/events/legacy/parser_eventlog_test.ts
index 0675f07..09a06ed 100644
--- a/tools/winscope/src/parsers/events/legacy/parser_eventlog_test.ts
+++ b/tools/winscope/src/parsers/events/legacy/parser_eventlog_test.ts
@@ -15,12 +15,12 @@
  */
 
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {LegacyParserProvider} from 'test/unit/fixture_utils';
 import {PropertyTreeBuilder} from 'test/unit/property_tree_builder';
+import {
+  makeRealTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {Parser} from 'trace_api/parser';
 import {TraceType} from 'trace_api/trace_type';
@@ -52,9 +52,9 @@
       expect(timestamps.length).toBe(184);
 
       const expected = [
-        TimestampConverterUtils.makeRealTimestamp(1681207047981157174n),
-        TimestampConverterUtils.makeRealTimestamp(1681207047991161039n),
-        TimestampConverterUtils.makeRealTimestamp(1681207047991310494n),
+        makeRealTimestamp(1681207047981157174n),
+        makeRealTimestamp(1681207047991161039n),
+        makeRealTimestamp(1681207047991310494n),
       ];
       expect(timestamps.slice(0, 3)).toEqual(expected);
     });
@@ -101,9 +101,9 @@
       expect(timestamps.length).toBe(3);
 
       const expected = [
-        TimestampConverterUtils.makeRealTimestamp(1681207047981157174n),
-        TimestampConverterUtils.makeRealTimestamp(1681207047991161039n),
-        TimestampConverterUtils.makeRealTimestamp(1681207047991310494n),
+        makeRealTimestamp(1681207047981157174n),
+        makeRealTimestamp(1681207047991161039n),
+        makeRealTimestamp(1681207047991310494n),
       ];
       expect(timestamps).toEqual(expected);
     });
diff --git a/tools/winscope/src/parsers/events/legacy/traces_parser_cujs_test.ts b/tools/winscope/src/parsers/events/legacy/traces_parser_cujs_test.ts
index f9c8f45..41c345d 100644
--- a/tools/winscope/src/parsers/events/legacy/traces_parser_cujs_test.ts
+++ b/tools/winscope/src/parsers/events/legacy/traces_parser_cujs_test.ts
@@ -15,11 +15,12 @@
  */
 
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {getTracesParser} from 'test/unit/fixture_utils';
+import {
+  makeRealTimestamp,
+  timestampEqualityTester,
+  UTC_CONVERTER,
+} from 'test/unit/time_test_helpers';
 import {PropertyTreeBuilder} from 'test/unit/property_tree_builder';
 import {
   CUJ_TYPE_FORMATTER,
@@ -57,9 +58,9 @@
 
   it('provides timestamps', () => {
     const expected = [
-      TimestampConverterUtils.makeRealTimestamp(1681207048025446000n),
-      TimestampConverterUtils.makeRealTimestamp(1681207048025551000n),
-      TimestampConverterUtils.makeRealTimestamp(1681207048025580000n),
+      makeRealTimestamp(1681207048025446000n),
+      makeRealTimestamp(1681207048025551000n),
+      makeRealTimestamp(1681207048025580000n),
     ];
 
     const timestamps = assertDefined(parser.getTimestamps());
@@ -82,18 +83,12 @@
         },
         {
           name: 'startTimestamp',
-          value:
-            TimestampConverterUtils.TIMESTAMP_CONVERTER.makeTimestampFromNs(
-              1681207048025580000n,
-            ),
+          value: UTC_CONVERTER.makeTimestampFromNs(1681207048025580000n),
           formatter: TIMESTAMP_NODE_FORMATTER,
         },
         {
           name: 'endTimestamp',
-          value:
-            TimestampConverterUtils.TIMESTAMP_CONVERTER.makeTimestampFromNs(
-              1681207048643085000n,
-            ),
+          value: UTC_CONVERTER.makeTimestampFromNs(1681207048643085000n),
           formatter: TIMESTAMP_NODE_FORMATTER,
         },
         {name: 'canceled', value: true, formatter: DEFAULT_PROPERTY_FORMATTER},
diff --git a/tools/winscope/src/parsers/events/perfetto/parser_cujs_test.ts b/tools/winscope/src/parsers/events/perfetto/parser_cujs_test.ts
index 9b6ad0c..08ce152 100644
--- a/tools/winscope/src/parsers/events/perfetto/parser_cujs_test.ts
+++ b/tools/winscope/src/parsers/events/perfetto/parser_cujs_test.ts
@@ -15,11 +15,12 @@
  */
 
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {getPerfettoParser} from 'test/unit/fixture_utils';
+import {
+  makeRealTimestamp,
+  timestampEqualityTester,
+  UTC_CONVERTER,
+} from 'test/unit/time_test_helpers';
 import {PropertyTreeBuilder} from 'test/unit/property_tree_builder';
 import {
   DEFAULT_PROPERTY_FORMATTER,
@@ -56,9 +57,9 @@
 
   it('provides timestamps', () => {
     const expected = [
-      TimestampConverterUtils.makeRealTimestamp(1754580961363780030n),
-      TimestampConverterUtils.makeRealTimestamp(1754580962747188031n),
-      TimestampConverterUtils.makeRealTimestamp(1754580962769690133n),
+      makeRealTimestamp(1754580961363780030n),
+      makeRealTimestamp(1754580962747188031n),
+      makeRealTimestamp(1754580962769690133n),
     ];
     expect(assertDefined(parser.getTimestamps())).toEqual(expected);
   });
@@ -79,18 +80,12 @@
         },
         {
           name: 'ts',
-          value:
-            TimestampConverterUtils.TIMESTAMP_CONVERTER.makeTimestampFromNs(
-              1754580962747188031n,
-            ),
+          value: UTC_CONVERTER.makeTimestampFromNs(1754580962747188031n),
           formatter: TIMESTAMP_NODE_FORMATTER,
         },
         {
           name: 'endTimestamp',
-          value:
-            TimestampConverterUtils.TIMESTAMP_CONVERTER.makeTimestampFromNs(
-              1754580963548041327n,
-            ),
+          value: UTC_CONVERTER.makeTimestampFromNs(1754580963548041327n),
           formatter: TIMESTAMP_NODE_FORMATTER,
         },
         {
diff --git a/tools/winscope/src/parsers/input/perfetto/parser_key_event_test.ts b/tools/winscope/src/parsers/input/perfetto/parser_key_event_test.ts
index 75f5659..0125004 100644
--- a/tools/winscope/src/parsers/input/perfetto/parser_key_event_test.ts
+++ b/tools/winscope/src/parsers/input/perfetto/parser_key_event_test.ts
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {getPerfettoParser} from 'test/unit/fixture_utils';
+import {
+  makeRealTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {CustomQueryType} from 'trace_api/custom_query';
@@ -51,8 +51,8 @@
     expect(timestamps.length).toBe(2);
 
     const expected = [
-      TimestampConverterUtils.makeRealTimestamp(1718386905115026232n),
-      TimestampConverterUtils.makeRealTimestamp(1718386905123057319n),
+      makeRealTimestamp(1718386905115026232n),
+      makeRealTimestamp(1718386905123057319n),
     ];
     expect(timestamps).toEqual(expected);
   });
diff --git a/tools/winscope/src/parsers/input/perfetto/parser_motion_event_test.ts b/tools/winscope/src/parsers/input/perfetto/parser_motion_event_test.ts
index 08c1b82..4a91578 100644
--- a/tools/winscope/src/parsers/input/perfetto/parser_motion_event_test.ts
+++ b/tools/winscope/src/parsers/input/perfetto/parser_motion_event_test.ts
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {getPerfettoParser} from 'test/unit/fixture_utils';
+import {
+  makeRealTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {CustomQueryType} from 'trace_api/custom_query';
@@ -51,12 +51,12 @@
     expect(timestamps.length).toBe(6);
 
     const expected = [
-      TimestampConverterUtils.makeRealTimestamp(1718386903800330430n),
-      TimestampConverterUtils.makeRealTimestamp(1718386903800330430n),
-      TimestampConverterUtils.makeRealTimestamp(1718386903821511338n),
-      TimestampConverterUtils.makeRealTimestamp(1718386903827304592n),
-      TimestampConverterUtils.makeRealTimestamp(1718386903836681382n),
-      TimestampConverterUtils.makeRealTimestamp(1718386903841727281n),
+      makeRealTimestamp(1718386903800330430n),
+      makeRealTimestamp(1718386903800330430n),
+      makeRealTimestamp(1718386903821511338n),
+      makeRealTimestamp(1718386903827304592n),
+      makeRealTimestamp(1718386903836681382n),
+      makeRealTimestamp(1718386903841727281n),
     ];
     expect(timestamps).toEqual(expected);
   });
diff --git a/tools/winscope/src/parsers/input/perfetto/traces_parser_input_test.ts b/tools/winscope/src/parsers/input/perfetto/traces_parser_input_test.ts
index e91e686..11a05f3 100644
--- a/tools/winscope/src/parsers/input/perfetto/traces_parser_input_test.ts
+++ b/tools/winscope/src/parsers/input/perfetto/traces_parser_input_test.ts
@@ -15,11 +15,11 @@
  */
 
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {getTracesParser} from 'test/unit/fixture_utils';
+import {
+  makeRealTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {UserNotifierChecker} from 'test/unit/user_notifier_checker';
 import {CoarseVersion} from 'trace_api/coarse_version';
@@ -60,14 +60,14 @@
   it('provides timestamps', () => {
     const timestamps = assertDefined(parser.getTimestamps());
     const expected = [
-      TimestampConverterUtils.makeRealTimestamp(1718386903800330430n),
-      TimestampConverterUtils.makeRealTimestamp(1718386903800330430n),
-      TimestampConverterUtils.makeRealTimestamp(1718386903821511338n),
-      TimestampConverterUtils.makeRealTimestamp(1718386903827304592n),
-      TimestampConverterUtils.makeRealTimestamp(1718386903836681382n),
-      TimestampConverterUtils.makeRealTimestamp(1718386903841727281n),
-      TimestampConverterUtils.makeRealTimestamp(1718386905115026232n),
-      TimestampConverterUtils.makeRealTimestamp(1718386905123057319n),
+      makeRealTimestamp(1718386903800330430n),
+      makeRealTimestamp(1718386903800330430n),
+      makeRealTimestamp(1718386903821511338n),
+      makeRealTimestamp(1718386903827304592n),
+      makeRealTimestamp(1718386903836681382n),
+      makeRealTimestamp(1718386903841727281n),
+      makeRealTimestamp(1718386905115026232n),
+      makeRealTimestamp(1718386905123057319n),
     ];
     expect(timestamps).toEqual(expected);
   });
diff --git a/tools/winscope/src/parsers/input_method/legacy/parser_input_method_clients_test.ts b/tools/winscope/src/parsers/input_method/legacy/parser_input_method_clients_test.ts
index 79466ad..adda56f 100644
--- a/tools/winscope/src/parsers/input_method/legacy/parser_input_method_clients_test.ts
+++ b/tools/winscope/src/parsers/input_method/legacy/parser_input_method_clients_test.ts
@@ -15,12 +15,13 @@
  */
 
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import Long from 'long';
 import {LegacyParserProvider} from 'test/unit/fixture_utils';
+import {
+  makeElapsedTimestamp,
+  makeRealTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {Parser} from 'trace_api/parser';
 import {TraceType} from 'trace_api/trace_type';
@@ -47,9 +48,9 @@
 
     it('provides timestamps', () => {
       const expected = [
-        TimestampConverterUtils.makeRealTimestamp(1659107090215405395n),
-        TimestampConverterUtils.makeRealTimestamp(1659107090249283325n),
-        TimestampConverterUtils.makeRealTimestamp(1659107090279417928n),
+        makeRealTimestamp(1659107090215405395n),
+        makeRealTimestamp(1659107090249283325n),
+        makeRealTimestamp(1659107090279417928n),
       ];
       expect(parser.getTimestamps()?.slice(0, 3)).toEqual(expected);
     });
@@ -80,9 +81,9 @@
         .getParser<HierarchyTreeNode>();
 
       expect(perfettoParser.getTimestamps()?.slice(0, 3)).toEqual([
-        TimestampConverterUtils.makeRealTimestamp(1659107090215405395n),
-        TimestampConverterUtils.makeRealTimestamp(1659107090249283325n),
-        TimestampConverterUtils.makeRealTimestamp(1659107090279417928n),
+        makeRealTimestamp(1659107090215405395n),
+        makeRealTimestamp(1659107090249283325n),
+        makeRealTimestamp(1659107090279417928n),
       ]);
 
       const entry = await perfettoParser.getEntry(10);
@@ -116,7 +117,7 @@
 
     it('provides timestamps', () => {
       expect(assertDefined(parser.getTimestamps())[0]).toEqual(
-        TimestampConverterUtils.makeElapsedTimestamp(1149083651642n),
+        makeElapsedTimestamp(1149083651642n),
       );
     });
 
diff --git a/tools/winscope/src/parsers/input_method/legacy/parser_input_method_manager_service_test.ts b/tools/winscope/src/parsers/input_method/legacy/parser_input_method_manager_service_test.ts
index 468a82a..84ee68c 100644
--- a/tools/winscope/src/parsers/input_method/legacy/parser_input_method_manager_service_test.ts
+++ b/tools/winscope/src/parsers/input_method/legacy/parser_input_method_manager_service_test.ts
@@ -14,12 +14,13 @@
  * limitations under the License.
  */
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import Long from 'long';
 import {LegacyParserProvider} from 'test/unit/fixture_utils';
+import {
+  makeElapsedTimestamp,
+  makeRealTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {Parser} from 'trace_api/parser';
 import {TraceType} from 'trace_api/trace_type';
@@ -49,7 +50,7 @@
 
     it('provides timestamps', () => {
       expect(parser.getTimestamps()).toEqual([
-        TimestampConverterUtils.makeRealTimestamp(1659107090565549479n),
+        makeRealTimestamp(1659107090565549479n),
       ]);
     });
 
@@ -83,7 +84,7 @@
         .getParser<HierarchyTreeNode>();
 
       expect(perfettoParser.getTimestamps()).toEqual([
-        TimestampConverterUtils.makeRealTimestamp(1659107090565549479n),
+        makeRealTimestamp(1659107090565549479n),
       ]);
 
       const entry = await perfettoParser.getEntry(0);
@@ -111,7 +112,7 @@
 
     it('provides timestamps', () => {
       expect(assertDefined(parser.getTimestamps())[0]).toEqual(
-        TimestampConverterUtils.makeElapsedTimestamp(1149226290110n),
+        makeElapsedTimestamp(1149226290110n),
       );
     });
 
diff --git a/tools/winscope/src/parsers/input_method/legacy/parser_input_method_service_test.ts b/tools/winscope/src/parsers/input_method/legacy/parser_input_method_service_test.ts
index 80a47fe..fa85bb7 100644
--- a/tools/winscope/src/parsers/input_method/legacy/parser_input_method_service_test.ts
+++ b/tools/winscope/src/parsers/input_method/legacy/parser_input_method_service_test.ts
@@ -14,12 +14,13 @@
  * limitations under the License.
  */
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import Long from 'long';
 import {LegacyParserProvider} from 'test/unit/fixture_utils';
+import {
+  makeElapsedTimestamp,
+  makeRealTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {Parser} from 'trace_api/parser';
 import {TraceType} from 'trace_api/trace_type';
@@ -45,9 +46,7 @@
     });
 
     it('provides timestamps', () => {
-      const expected = [
-        TimestampConverterUtils.makeRealTimestamp(1659107091180519857n),
-      ];
+      const expected = [makeRealTimestamp(1659107091180519857n)];
       expect(parser.getTimestamps()).toEqual(expected);
     });
 
@@ -77,7 +76,7 @@
         .getParser<HierarchyTreeNode>();
 
       expect(perfettoParser.getTimestamps()).toEqual([
-        TimestampConverterUtils.makeRealTimestamp(1659107091180519857n),
+        makeRealTimestamp(1659107091180519857n),
       ]);
 
       const entry = await perfettoParser.getEntry(0);
@@ -103,7 +102,7 @@
 
     it('provides timestamps', () => {
       expect(assertDefined(parser.getTimestamps())[0]).toEqual(
-        TimestampConverterUtils.makeElapsedTimestamp(1149230019887n),
+        makeElapsedTimestamp(1149230019887n),
       );
     });
 
diff --git a/tools/winscope/src/parsers/input_method/perfetto/parser_input_method_clients_test.ts b/tools/winscope/src/parsers/input_method/perfetto/parser_input_method_clients_test.ts
index 42301d2..0c9b9c1 100644
--- a/tools/winscope/src/parsers/input_method/perfetto/parser_input_method_clients_test.ts
+++ b/tools/winscope/src/parsers/input_method/perfetto/parser_input_method_clients_test.ts
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {getPerfettoParser} from 'test/unit/fixture_utils';
+import {
+  makeRealTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {Parser} from 'trace_api/parser';
 import {TraceType} from 'trace_api/trace_type';
@@ -47,9 +47,9 @@
     expect(assertDefined(parser.getTimestamps()).length).toBe(56);
 
     const expected = [
-      TimestampConverterUtils.makeRealTimestamp(1714659585862265133n),
-      TimestampConverterUtils.makeRealTimestamp(1714659585890068600n),
-      TimestampConverterUtils.makeRealTimestamp(1714659587314072751n),
+      makeRealTimestamp(1714659585862265133n),
+      makeRealTimestamp(1714659585890068600n),
+      makeRealTimestamp(1714659587314072751n),
     ];
     expect(assertDefined(parser.getTimestamps()).slice(0, 3)).toEqual(expected);
   });
diff --git a/tools/winscope/src/parsers/input_method/perfetto/parser_input_method_manager_service_test.ts b/tools/winscope/src/parsers/input_method/perfetto/parser_input_method_manager_service_test.ts
index 01fdd4d..127131c 100644
--- a/tools/winscope/src/parsers/input_method/perfetto/parser_input_method_manager_service_test.ts
+++ b/tools/winscope/src/parsers/input_method/perfetto/parser_input_method_manager_service_test.ts
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {getPerfettoParser} from 'test/unit/fixture_utils';
+import {
+  makeRealTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {Parser} from 'trace_api/parser';
 import {TraceType} from 'trace_api/trace_type';
@@ -49,9 +49,9 @@
     expect(assertDefined(parser.getTimestamps()).length).toBe(7);
 
     const expected = [
-      TimestampConverterUtils.makeRealTimestamp(1714659587704398638n),
-      TimestampConverterUtils.makeRealTimestamp(1714659588929259723n),
-      TimestampConverterUtils.makeRealTimestamp(1714659588964769244n),
+      makeRealTimestamp(1714659587704398638n),
+      makeRealTimestamp(1714659588929259723n),
+      makeRealTimestamp(1714659588964769244n),
     ];
     expect(assertDefined(parser.getTimestamps()).slice(0, 3)).toEqual(expected);
   });
diff --git a/tools/winscope/src/parsers/input_method/perfetto/parser_input_method_service_test.ts b/tools/winscope/src/parsers/input_method/perfetto/parser_input_method_service_test.ts
index f00a64d..d58221e 100644
--- a/tools/winscope/src/parsers/input_method/perfetto/parser_input_method_service_test.ts
+++ b/tools/winscope/src/parsers/input_method/perfetto/parser_input_method_service_test.ts
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {getPerfettoParser} from 'test/unit/fixture_utils';
+import {
+  makeRealTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {Parser} from 'trace_api/parser';
 import {TraceType} from 'trace_api/trace_type';
@@ -47,9 +47,9 @@
     expect(assertDefined(parser.getTimestamps()).length).toBe(18);
 
     const expected = [
-      TimestampConverterUtils.makeRealTimestamp(1714659587709640744n),
-      TimestampConverterUtils.makeRealTimestamp(1714659588932531777n),
-      TimestampConverterUtils.makeRealTimestamp(1714659588933263019n),
+      makeRealTimestamp(1714659587709640744n),
+      makeRealTimestamp(1714659588932531777n),
+      makeRealTimestamp(1714659588933263019n),
     ];
     expect(assertDefined(parser.getTimestamps()).slice(0, 3)).toEqual(expected);
   });
diff --git a/tools/winscope/src/parsers/legacy/parser_common_test.ts b/tools/winscope/src/parsers/legacy/parser_common_test.ts
index 962d6e0..34552e0 100644
--- a/tools/winscope/src/parsers/legacy/parser_common_test.ts
+++ b/tools/winscope/src/parsers/legacy/parser_common_test.ts
@@ -14,12 +14,14 @@
  * limitations under the License.
  */
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {getFixtureFile} from 'test/unit/fixture_file_utils';
 import {LegacyParserProvider} from 'test/unit/fixture_utils';
+import {
+  makeElapsedTimestamp,
+  makeRealTimestamp,
+  timestampEqualityTester,
+  UTC_CONVERTER,
+} from 'test/unit/time_test_helpers';
 import {TraceFile} from 'trace/trace_file';
 import {Parser} from 'trace_api/parser';
 import {HierarchyTreeNode} from 'tree_node/hierarchy_tree_node';
@@ -47,7 +49,7 @@
       const trace = new TraceFile(await getFixtureFile(file), undefined);
       const processed = await new ParserFactory().processFiles(
         [trace],
-        TimestampConverterUtils.TIMESTAMP_CONVERTER,
+        UTC_CONVERTER,
         {},
       );
       expect(processed.parsers.length).toBe(0);
@@ -70,9 +72,9 @@
 
     it('provides timestamps', () => {
       const expected = [
-        TimestampConverterUtils.makeRealTimestamp(1659107089075566202n),
-        TimestampConverterUtils.makeRealTimestamp(1659107089999048990n),
-        TimestampConverterUtils.makeRealTimestamp(1659107090010194213n),
+        makeRealTimestamp(1659107089075566202n),
+        makeRealTimestamp(1659107089999048990n),
+        makeRealTimestamp(1659107090010194213n),
       ];
       expect(assertDefined(parser.getTimestamps()).slice(0, 3)).toEqual(
         expected,
@@ -103,9 +105,9 @@
 
     it('provides timestamps', () => {
       const expected = [
-        TimestampConverterUtils.makeElapsedTimestamp(850254319343n),
-        TimestampConverterUtils.makeElapsedTimestamp(850763506110n),
-        TimestampConverterUtils.makeElapsedTimestamp(850782750048n),
+        makeElapsedTimestamp(850254319343n),
+        makeElapsedTimestamp(850763506110n),
+        makeElapsedTimestamp(850782750048n),
       ];
       expect(parser.getTimestamps()).toEqual(expected);
     });
diff --git a/tools/winscope/src/parsers/legacy_to_perfetto_converter_test.ts b/tools/winscope/src/parsers/legacy_to_perfetto_converter_test.ts
index a6d748a..16affc4 100644
--- a/tools/winscope/src/parsers/legacy_to_perfetto_converter_test.ts
+++ b/tools/winscope/src/parsers/legacy_to_perfetto_converter_test.ts
@@ -15,11 +15,11 @@
  */
 
 import {assertDefined} from 'common/assert_utils';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import Long from 'long';
 import {FailedToConvertLegacyTraces} from 'messaging/user_warnings';
 import {perfetto} from 'protos/perfetto/trace/static';
 import {ParserBuilder} from 'test/unit/parser_builder';
+import {makeRealTimestamp} from 'test/unit/time_test_helpers';
 import {UserNotifierChecker} from 'test/unit/user_notifier_checker';
 import {TraceFile} from 'trace/trace_file';
 import {Parser} from 'trace_api/parser';
@@ -299,10 +299,10 @@
   ): Parser<{}> {
     const ts =
       testPackets.length === 0
-        ? [TimestampConverterUtils.makeRealTimestamp(0n)]
+        ? [makeRealTimestamp(0n)]
         : testPackets.map((testPacket) => {
             const ns = BigInt(testPacket?.timestamp.toString() ?? 0n);
-            return TimestampConverterUtils.makeRealTimestamp(ns);
+            return makeRealTimestamp(ns);
           });
     const parser = new ParserBuilder<string>()
       .setEntries(ts.length === 0 ? [''] : ts.map(() => ''))
diff --git a/tools/winscope/src/parsers/operations/set_formatters_test.ts b/tools/winscope/src/parsers/operations/set_formatters_test.ts
index 60114f1..2ff31492 100644
--- a/tools/winscope/src/parsers/operations/set_formatters_test.ts
+++ b/tools/winscope/src/parsers/operations/set_formatters_test.ts
@@ -16,9 +16,9 @@
 
 import {assertDefined} from 'common/assert_utils';
 import {TransformTypeFlags} from 'common/geometry/transform_utils';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import root from 'protos/test/fake_proto/json';
 import {PropertyTreeBuilder} from 'test/unit/property_tree_builder';
+import {makeElapsedTimestamp} from 'test/unit/time_test_helpers';
 import {
   makeBufferNode,
   makeColorNode,
@@ -271,7 +271,10 @@
       .setRootId('test')
       .setName('node')
       .setChildren([
-        {name: 'ts', value: TimestampConverterUtils.makeElapsedTimestamp(10n)},
+        {
+          name: 'ts',
+          value: makeElapsedTimestamp(10n),
+        },
       ])
       .build();
     operation.apply(propertyRoot);
diff --git a/tools/winscope/src/parsers/operations/transform_to_timestamp_test.ts b/tools/winscope/src/parsers/operations/transform_to_timestamp_test.ts
index 26c0221..ead9097 100644
--- a/tools/winscope/src/parsers/operations/transform_to_timestamp_test.ts
+++ b/tools/winscope/src/parsers/operations/transform_to_timestamp_test.ts
@@ -15,10 +15,13 @@
  */
 
 import {assertDefined} from 'common/assert_utils';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {MockLong} from 'test/unit/mock_long';
 import {PropertyTreeBuilder} from 'test/unit/property_tree_builder';
 import {PropertyTreeNode} from 'tree_node/property_tree_node';
+import {
+  makeRealTimestamp,
+  makeElapsedTimestamp,
+} from 'test/unit/time_test_helpers';
 import {TransformToTimestamp} from './transform_to_timestamp';
 
 describe('TransformToTimestamp', () => {
@@ -46,7 +49,7 @@
     operation.apply(propertyRoot);
     expect(
       assertDefined(propertyRoot.getChildByName('timestamp')).getValue(),
-    ).toEqual(TimestampConverterUtils.makeRealTimestamp(10n));
+    ).toEqual(makeRealTimestamp(10n));
     expect(
       assertDefined(propertyRoot.getChildByName('otherTimestamp')).getValue(),
     ).toEqual(longTimestamp);
@@ -60,17 +63,17 @@
     operation.apply(propertyRoot);
     expect(
       assertDefined(propertyRoot.getChildByName('timestamp')).getValue(),
-    ).toEqual(TimestampConverterUtils.makeElapsedTimestamp(10n));
+    ).toEqual(makeElapsedTimestamp(10n));
     expect(
       assertDefined(propertyRoot.getChildByName('otherTimestamp')).getValue(),
     ).toEqual(longTimestamp);
   });
 
   function makeRealTimestampStrategy(valueNs: bigint) {
-    return TimestampConverterUtils.makeRealTimestamp(valueNs);
+    return makeRealTimestamp(valueNs);
   }
 
   function makeElapsedTimestampStrategy(valueNs: bigint) {
-    return TimestampConverterUtils.makeElapsedTimestamp(valueNs);
+    return makeElapsedTimestamp(valueNs);
   }
 });
diff --git a/tools/winscope/src/parsers/protolog/legacy/parser_protolog_test.ts b/tools/winscope/src/parsers/protolog/legacy/parser_protolog_test.ts
index 36cf848..55d1335 100644
--- a/tools/winscope/src/parsers/protolog/legacy/parser_protolog_test.ts
+++ b/tools/winscope/src/parsers/protolog/legacy/parser_protolog_test.ts
@@ -16,14 +16,14 @@
 
 import {assertDefined} from 'common/assert_utils';
 import {utf8Encode} from 'common/string_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {Timestamp} from 'common/time/time';
 import Long from 'long';
 import {perfetto} from 'protos/perfetto/trace/static';
 import {LegacyParserProvider} from 'test/unit/fixture_utils';
+import {
+  makeRealTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {Parser} from 'trace_api/parser';
 import {TraceType} from 'trace_api/trace_type';
@@ -241,9 +241,9 @@
     'traces/elapsed_and_real_timestamp/ProtoLog32.pb';
   override readonly timestampCount = 50;
   override readonly first3ExpectedRealTimestamps = [
-    TimestampConverterUtils.makeRealTimestamp(1655727125377266486n),
-    TimestampConverterUtils.makeRealTimestamp(1655727125377336718n),
-    TimestampConverterUtils.makeRealTimestamp(1655727125377350430n),
+    makeRealTimestamp(1655727125377266486n),
+    makeRealTimestamp(1655727125377336718n),
+    makeRealTimestamp(1655727125377350430n),
   ];
   override readonly expectedConfig = CONFIG_32;
   override readonly internedData1: ExpectedInternedData = {
@@ -292,9 +292,9 @@
     'traces/elapsed_and_real_timestamp/ProtoLog64.pb';
   override readonly timestampCount = 4615;
   override readonly first3ExpectedRealTimestamps = [
-    TimestampConverterUtils.makeRealTimestamp(1709196806399529939n),
-    TimestampConverterUtils.makeRealTimestamp(1709196806399763866n),
-    TimestampConverterUtils.makeRealTimestamp(1709196806400297151n),
+    makeRealTimestamp(1709196806399529939n),
+    makeRealTimestamp(1709196806399763866n),
+    makeRealTimestamp(1709196806400297151n),
   ];
   override readonly expectedConfig = CONFIG_64;
   override readonly internedData1: ExpectedInternedData = {
@@ -342,9 +342,9 @@
     'traces/elapsed_and_real_timestamp/ProtoLogMissingConfigMessage.pb';
   override readonly timestampCount = 7295;
   override readonly first3ExpectedRealTimestamps = [
-    TimestampConverterUtils.makeRealTimestamp(1669053909777144978n),
-    TimestampConverterUtils.makeRealTimestamp(1669053909778011697n),
-    TimestampConverterUtils.makeRealTimestamp(1669053909778800707n),
+    makeRealTimestamp(1669053909777144978n),
+    makeRealTimestamp(1669053909778011697n),
+    makeRealTimestamp(1669053909778800707n),
   ];
   override readonly expectedConfig = CONFIG_32;
   override readonly internedData1: ExpectedInternedData = {
diff --git a/tools/winscope/src/parsers/protolog/perfetto/parser_protolog_test.ts b/tools/winscope/src/parsers/protolog/perfetto/parser_protolog_test.ts
index 13f75ba..e894e28 100644
--- a/tools/winscope/src/parsers/protolog/perfetto/parser_protolog_test.ts
+++ b/tools/winscope/src/parsers/protolog/perfetto/parser_protolog_test.ts
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {getPerfettoParser} from 'test/unit/fixture_utils';
+import {
+  makeRealTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {ProtologColumnType} from 'trace/protolog/protolog_column_type';
 import {CustomQueryType} from 'trace_api/custom_query';
@@ -47,9 +47,9 @@
     expect(timestamps.length).toBe(3);
 
     const expected = [
-      TimestampConverterUtils.makeRealTimestamp(1713866817780323315n),
-      TimestampConverterUtils.makeRealTimestamp(1713866817780323415n),
-      TimestampConverterUtils.makeRealTimestamp(1713866817780323445n),
+      makeRealTimestamp(1713866817780323315n),
+      makeRealTimestamp(1713866817780323415n),
+      makeRealTimestamp(1713866817780323445n),
     ];
     expect(timestamps.slice(0, 3)).toEqual(expected);
   });
diff --git a/tools/winscope/src/parsers/screen_recording/parser_screen_recording_legacy_test.ts b/tools/winscope/src/parsers/screen_recording/parser_screen_recording_legacy_test.ts
index f733d47..ce9d26c 100644
--- a/tools/winscope/src/parsers/screen_recording/parser_screen_recording_legacy_test.ts
+++ b/tools/winscope/src/parsers/screen_recording/parser_screen_recording_legacy_test.ts
@@ -15,8 +15,8 @@
  */
 
 import {assertDefined} from 'common/assert_utils';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {LegacyParserProvider} from 'test/unit/fixture_utils';
+import {makeElapsedTimestamp} from 'test/unit/time_test_helpers';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {MediaBasedTraceEntry} from 'trace_api/media_based_trace_entry';
 import {Parser} from 'trace_api/parser';
@@ -45,16 +45,16 @@
     expect(timestamps.length).toBe(85);
 
     let expected = [
-      TimestampConverterUtils.makeElapsedTimestamp(19446131807000n),
-      TimestampConverterUtils.makeElapsedTimestamp(19446158500000n),
-      TimestampConverterUtils.makeElapsedTimestamp(19446167117000n),
+      makeElapsedTimestamp(19446131807000n),
+      makeElapsedTimestamp(19446158500000n),
+      makeElapsedTimestamp(19446167117000n),
     ];
     expect(timestamps.slice(0, 3)).toEqual(expected);
 
     expected = [
-      TimestampConverterUtils.makeElapsedTimestamp(19448470076000n),
-      TimestampConverterUtils.makeElapsedTimestamp(19448487525000n),
-      TimestampConverterUtils.makeElapsedTimestamp(19448501007000n),
+      makeElapsedTimestamp(19448470076000n),
+      makeElapsedTimestamp(19448487525000n),
+      makeElapsedTimestamp(19448501007000n),
     ];
     expect(timestamps.slice(timestamps.length - 3, timestamps.length)).toEqual(
       expected,
diff --git a/tools/winscope/src/parsers/screen_recording/parser_screen_recording_test.ts b/tools/winscope/src/parsers/screen_recording/parser_screen_recording_test.ts
index d3e7e69..00e4852 100644
--- a/tools/winscope/src/parsers/screen_recording/parser_screen_recording_test.ts
+++ b/tools/winscope/src/parsers/screen_recording/parser_screen_recording_test.ts
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {TIME_UNIT_TO_NANO} from 'common/time/time_units';
 import {LegacyParserProvider} from 'test/unit/fixture_utils';
+import {
+  makeRealTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {MediaBasedTraceEntry} from 'trace_api/media_based_trace_entry';
 import {Parser} from 'trace_api/parser';
@@ -52,9 +52,9 @@
       expect(timestamps.length).toBe(123);
 
       const expected = [
-        TimestampConverterUtils.makeRealTimestamp(1666361048792787045n),
-        TimestampConverterUtils.makeRealTimestamp(1666361048807348045n),
-        TimestampConverterUtils.makeRealTimestamp(1666361048827119045n),
+        makeRealTimestamp(1666361048792787045n),
+        makeRealTimestamp(1666361048807348045n),
+        makeRealTimestamp(1666361048827119045n),
       ];
       expect(timestamps.slice(0, 3)).toEqual(expected);
     });
@@ -95,11 +95,11 @@
       const timestamps = assertDefined(parser.getTimestamps());
       expect(timestamps.length).toBe(105);
       const expected = [
-        TimestampConverterUtils.makeRealTimestamp(1755862820270527000n),
-        TimestampConverterUtils.makeRealTimestamp(1755862820414660000n),
-        TimestampConverterUtils.makeRealTimestamp(1755862820431423000n),
-        TimestampConverterUtils.makeRealTimestamp(1755862820447282000n),
-        TimestampConverterUtils.makeRealTimestamp(1755862820464489000n),
+        makeRealTimestamp(1755862820270527000n),
+        makeRealTimestamp(1755862820414660000n),
+        makeRealTimestamp(1755862820431423000n),
+        makeRealTimestamp(1755862820447282000n),
+        makeRealTimestamp(1755862820464489000n),
       ];
       expect(timestamps.slice(0, 5)).toEqual(expected);
     });
@@ -155,9 +155,9 @@
 
       const totalOffset = elapsedNs + realtoElapsedNs;
       const expected = [
-        TimestampConverterUtils.makeRealTimestamp(599300000n + totalOffset),
-        TimestampConverterUtils.makeRealTimestamp(599400000n + totalOffset),
-        TimestampConverterUtils.makeRealTimestamp(1066066666n + totalOffset),
+        makeRealTimestamp(599300000n + totalOffset),
+        makeRealTimestamp(599400000n + totalOffset),
+        makeRealTimestamp(1066066666n + totalOffset),
       ];
       expect(timestamps.slice(0, 3)).toEqual(expected);
     });
@@ -259,9 +259,9 @@
         expect(timestamps.length).toBe(158);
 
         const expected = [
-          TimestampConverterUtils.makeRealTimestamp(599300000n + startTimeNs),
-          TimestampConverterUtils.makeRealTimestamp(599400000n + startTimeNs),
-          TimestampConverterUtils.makeRealTimestamp(1066066666n + startTimeNs),
+          makeRealTimestamp(599300000n + startTimeNs),
+          makeRealTimestamp(599400000n + startTimeNs),
+          makeRealTimestamp(1066066666n + startTimeNs),
         ];
         expect(timestamps.slice(0, 3)).toEqual(expected);
       });
diff --git a/tools/winscope/src/parsers/screenshot/parser_screenshot_test.ts b/tools/winscope/src/parsers/screenshot/parser_screenshot_test.ts
index d408c95..470046b 100644
--- a/tools/winscope/src/parsers/screenshot/parser_screenshot_test.ts
+++ b/tools/winscope/src/parsers/screenshot/parser_screenshot_test.ts
@@ -16,11 +16,15 @@
 
 import {assertDefined} from 'common/assert_utils';
 import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
-import {TimestampConverter} from 'common/time/timestamp_converter';
+  TimestampConverter,
+  UTC_TIMEZONE_INFO,
+} from 'common/time/timestamp_converter';
 import {getFixtureFile} from 'test/unit/fixture_file_utils';
+import {
+  TIMESTAMP_CONVERTER_WITH_UTC_OFFSET,
+  makeElapsedTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {TraceFile} from 'trace/trace_file';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {MediaBasedTraceEntry} from 'trace_api/media_based_trace_entry';
@@ -36,7 +40,7 @@
     file = await getFixtureFile('traces/screenshot/screenshot.png');
     parser = new ParserScreenshot(
       new TraceFile(file),
-      new TimestampConverter(TimestampConverterUtils.UTC_TIMEZONE_INFO, 0n),
+      new TimestampConverter(UTC_TIMEZONE_INFO, 0n),
     );
     await parser.parse();
     parser.createTimestamps();
@@ -53,18 +57,18 @@
   it('provides timestamps', () => {
     const timestamps = assertDefined(parser.getTimestamps());
 
-    const expected = TimestampConverterUtils.makeElapsedTimestamp(0n);
+    const expected = makeElapsedTimestamp(0n);
     timestamps.forEach((timestamp) => expect(timestamp).toEqual(expected));
   });
 
   it('does not apply timezone info', async () => {
     const parserWithTimezoneInfo = new ParserScreenshot(
       new TraceFile(file),
-      TimestampConverterUtils.TIMESTAMP_CONVERTER_WITH_UTC_OFFSET,
+      TIMESTAMP_CONVERTER_WITH_UTC_OFFSET,
     );
     await parserWithTimezoneInfo.parse();
 
-    const expectedReal = TimestampConverterUtils.makeElapsedTimestamp(0n);
+    const expectedReal = makeElapsedTimestamp(0n);
     assertDefined(parser.getTimestamps()).forEach((timestamp) =>
       expect(timestamp).toEqual(expectedReal),
     );
diff --git a/tools/winscope/src/parsers/search/parser_search_test.ts b/tools/winscope/src/parsers/search/parser_search_test.ts
index 80114ae..1b3d80f 100644
--- a/tools/winscope/src/parsers/search/parser_search_test.ts
+++ b/tools/winscope/src/parsers/search/parser_search_test.ts
@@ -15,15 +15,16 @@
  */
 
 import {assertDefined} from 'common/assert_utils';
-import {
-  getTimestampConverter,
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {TraceSearchQueryFailed} from 'messaging/user_warnings';
 import {ParserSurfaceFlinger} from 'parsers/surface_flinger/perfetto/parser_surface_flinger';
 import {getPerfettoParser} from 'test/unit/fixture_utils';
 import {UserNotifierChecker} from 'test/unit/user_notifier_checker';
+import {
+  getTimestampConverter,
+  makeElapsedTimestamp,
+  makeZeroTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {TraceType} from 'trace_api/trace_type';
 import {ParserSearch} from './parser_search';
@@ -72,9 +73,9 @@
 
     it('provides timestamps', () => {
       const expected = [
-        TimestampConverterUtils.makeElapsedTimestamp(14500282843n),
-        TimestampConverterUtils.makeElapsedTimestamp(14631249355n),
-        TimestampConverterUtils.makeElapsedTimestamp(15403446377n),
+        makeElapsedTimestamp(14500282843n),
+        makeElapsedTimestamp(14631249355n),
+        makeElapsedTimestamp(15403446377n),
       ];
       const actual = assertDefined(parser.getTimestamps()).slice(0, 3);
       expect(actual).toEqual(expected);
@@ -105,9 +106,7 @@
     });
 
     it('provides one invalid timestamp so query result can be accessed', () => {
-      expect(parser.getTimestamps()).toEqual([
-        TimestampConverterUtils.makeZeroTimestamp(),
-      ]);
+      expect(parser.getTimestamps()).toEqual([makeZeroTimestamp()]);
     });
 
     it('provides query result', async () => {
@@ -134,9 +133,7 @@
     });
 
     it('provides one invalid timestamp so query result can be accessed', () => {
-      expect(parser.getTimestamps()).toEqual([
-        TimestampConverterUtils.makeZeroTimestamp(),
-      ]);
+      expect(parser.getTimestamps()).toEqual([makeZeroTimestamp()]);
     });
 
     it('provides query result', async () => {
diff --git a/tools/winscope/src/parsers/surface_flinger/legacy/parser_surface_flinger_dump_test.ts b/tools/winscope/src/parsers/surface_flinger/legacy/parser_surface_flinger_dump_test.ts
index c2a4f05..ff83aa5 100644
--- a/tools/winscope/src/parsers/surface_flinger/legacy/parser_surface_flinger_dump_test.ts
+++ b/tools/winscope/src/parsers/surface_flinger/legacy/parser_surface_flinger_dump_test.ts
@@ -15,15 +15,16 @@
  */
 
 import {assertDefined} from 'common/assert_utils';
-import {
-  getTimestampConverter,
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import Long from 'long';
 import {perfetto} from 'protos/perfetto/trace/static';
 import {LegacyParserProvider} from 'test/unit/fixture_utils';
 import {UserNotifierChecker} from 'test/unit/user_notifier_checker';
+import {
+  getTimestampConverter,
+  makeElapsedTimestamp,
+  makeZeroTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {Parser} from 'trace_api/parser';
 import {TraceType} from 'trace_api/trace_type';
@@ -60,7 +61,7 @@
     });
 
     it('provides timestamps (always zero)', () => {
-      const expected = [TimestampConverterUtils.makeElapsedTimestamp(0n)];
+      const expected = [makeElapsedTimestamp(0n)];
       expect(parser.getTimestamps()).toEqual(expected);
     });
 
@@ -70,7 +71,7 @@
         .setTimestampConverter(getTimestampConverter(true))
         .getParser<HierarchyTreeNode>();
 
-      const expected = [TimestampConverterUtils.makeElapsedTimestamp(0n)];
+      const expected = [makeElapsedTimestamp(0n)];
       expect(parserWithTimezoneInfo.getTimestamps()).toEqual(expected);
     });
 
@@ -117,7 +118,7 @@
     });
 
     it('provides timestamp (always zero)', () => {
-      const expected = [TimestampConverterUtils.makeElapsedTimestamp(0n)];
+      const expected = [makeElapsedTimestamp(0n)];
       expect(parser.getTimestamps()).toEqual(expected);
     });
 
@@ -154,7 +155,7 @@
       .addFile(filename)
       .setConvertToPerfetto(true)
       .getParser<HierarchyTreeNode>();
-    const expected = [TimestampConverterUtils.makeZeroTimestamp()];
+    const expected = [makeZeroTimestamp()];
     expect(assertDefined(perfettoParser.getTimestamps())).toEqual(expected);
     const entry = await perfettoParser.getEntry(0);
     let count = 0;
diff --git a/tools/winscope/src/parsers/surface_flinger/legacy/parser_surface_flinger_test.ts b/tools/winscope/src/parsers/surface_flinger/legacy/parser_surface_flinger_test.ts
index a1d051c..1963e37 100644
--- a/tools/winscope/src/parsers/surface_flinger/legacy/parser_surface_flinger_test.ts
+++ b/tools/winscope/src/parsers/surface_flinger/legacy/parser_surface_flinger_test.ts
@@ -14,16 +14,17 @@
  * limitations under the License.
  */
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import Long from 'long';
 import {DuplicateLayerIds} from 'messaging/user_warnings';
 import {perfetto} from 'protos/perfetto/trace/static';
 import {LegacyParserProvider} from 'test/unit/fixture_utils';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {UserNotifierChecker} from 'test/unit/user_notifier_checker';
+import {
+  makeElapsedTimestamp,
+  makeRealTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {CustomQueryType} from 'trace_api/custom_query';
 import {Parser} from 'trace_api/parser';
@@ -64,9 +65,9 @@
 
     it('provides timestamps', () => {
       const expected = [
-        TimestampConverterUtils.makeRealTimestamp(1659107089102062832n),
-        TimestampConverterUtils.makeRealTimestamp(1659107089233029344n),
-        TimestampConverterUtils.makeRealTimestamp(1659107090005226366n),
+        makeRealTimestamp(1659107089102062832n),
+        makeRealTimestamp(1659107089233029344n),
+        makeRealTimestamp(1659107090005226366n),
       ];
       expect(assertDefined(realParser.getTimestamps()).slice(0, 3)).toEqual(
         expected,
@@ -109,9 +110,9 @@
 
       it('provides timestamps', () => {
         const expected = [
-          TimestampConverterUtils.makeRealTimestamp(1659107089102062832n),
-          TimestampConverterUtils.makeRealTimestamp(1659107089233029344n),
-          TimestampConverterUtils.makeRealTimestamp(1659107090005226366n),
+          makeRealTimestamp(1659107089102062832n),
+          makeRealTimestamp(1659107089233029344n),
+          makeRealTimestamp(1659107090005226366n),
         ];
         expect(
           assertDefined(perfettoParser.getTimestamps()).slice(0, 3),
@@ -211,7 +212,7 @@
 
     it('provides timestamps', () => {
       expect(assertDefined(elapsedParser.getTimestamps())[0]).toEqual(
-        TimestampConverterUtils.makeElapsedTimestamp(850335483446n),
+        makeElapsedTimestamp(850335483446n),
       );
     });
 
diff --git a/tools/winscope/src/parsers/surface_flinger/perfetto/parser_surface_flinger_test.ts b/tools/winscope/src/parsers/surface_flinger/perfetto/parser_surface_flinger_test.ts
index e0ab9a8..e24b9d4 100644
--- a/tools/winscope/src/parsers/surface_flinger/perfetto/parser_surface_flinger_test.ts
+++ b/tools/winscope/src/parsers/surface_flinger/perfetto/parser_surface_flinger_test.ts
@@ -16,12 +16,12 @@
 import {assertDefined} from 'common/assert_utils';
 import {Rect} from 'common/geometry/rect';
 import {Region} from 'common/geometry/region';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {DuplicateLayerIds} from 'messaging/user_warnings';
 import {getPerfettoParser} from 'test/unit/fixture_utils';
+import {
+  makeRealTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {UserNotifierChecker} from 'test/unit/user_notifier_checker';
 import {CoarseVersion} from 'trace_api/coarse_version';
@@ -71,9 +71,9 @@
 
     it('provides timestamps', () => {
       const expected = [
-        TimestampConverterUtils.makeRealTimestamp(1659107089102062832n),
-        TimestampConverterUtils.makeRealTimestamp(1659107089233029344n),
-        TimestampConverterUtils.makeRealTimestamp(1659107090005226366n),
+        makeRealTimestamp(1659107089102062832n),
+        makeRealTimestamp(1659107089233029344n),
+        makeRealTimestamp(1659107090005226366n),
       ];
       const actual = assertDefined(parser.getTimestamps()).slice(0, 3);
       expect(actual).toEqual(expected);
diff --git a/tools/winscope/src/parsers/transactions/legacy/parser_transactions_test.ts b/tools/winscope/src/parsers/transactions/legacy/parser_transactions_test.ts
index 120416d..dbb0a42 100644
--- a/tools/winscope/src/parsers/transactions/legacy/parser_transactions_test.ts
+++ b/tools/winscope/src/parsers/transactions/legacy/parser_transactions_test.ts
@@ -14,14 +14,15 @@
  * limitations under the License.
  */
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import Long from 'long';
 import {perfetto} from 'protos/perfetto/trace/static';
 import {LegacyParserProvider} from 'test/unit/fixture_utils';
 import {TraceBuilder} from 'test/unit/trace_builder';
+import {
+  makeRealTimestamp,
+  makeElapsedTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {CustomQueryType} from 'trace_api/custom_query';
 import {Parser} from 'trace_api/parser';
@@ -53,9 +54,9 @@
       expect(timestamps.length).toBe(712);
 
       const expected = [
-        TimestampConverterUtils.makeRealTimestamp(1659507541051480997n),
-        TimestampConverterUtils.makeRealTimestamp(1659507541118452067n),
-        TimestampConverterUtils.makeRealTimestamp(1659507542621651001n),
+        makeRealTimestamp(1659507541051480997n),
+        makeRealTimestamp(1659507541118452067n),
+        makeRealTimestamp(1659507542621651001n),
       ];
       expect(timestamps.slice(0, 3)).toEqual(expected);
     });
@@ -95,9 +96,9 @@
         expect(timestamps.length).toBe(712);
 
         const expected = [
-          TimestampConverterUtils.makeRealTimestamp(1659507541051480997n),
-          TimestampConverterUtils.makeRealTimestamp(1659507541118452067n),
-          TimestampConverterUtils.makeRealTimestamp(1659507542621651001n),
+          makeRealTimestamp(1659507541051480997n),
+          makeRealTimestamp(1659507541118452067n),
+          makeRealTimestamp(1659507542621651001n),
         ];
         expect(timestamps.slice(0, 3)).toEqual(expected);
       });
@@ -164,9 +165,9 @@
       expect(timestamps.length).toBe(4997);
 
       const expected = [
-        TimestampConverterUtils.makeElapsedTimestamp(14862317023n),
-        TimestampConverterUtils.makeElapsedTimestamp(14873423549n),
-        TimestampConverterUtils.makeElapsedTimestamp(14884850511n),
+        makeElapsedTimestamp(14862317023n),
+        makeElapsedTimestamp(14873423549n),
+        makeElapsedTimestamp(14884850511n),
       ];
       expect(timestamps.slice(0, 3)).toEqual(expected);
     });
diff --git a/tools/winscope/src/parsers/transactions/perfetto/parser_transactions_test.ts b/tools/winscope/src/parsers/transactions/perfetto/parser_transactions_test.ts
index a2f1f22..dfd9d12 100644
--- a/tools/winscope/src/parsers/transactions/perfetto/parser_transactions_test.ts
+++ b/tools/winscope/src/parsers/transactions/perfetto/parser_transactions_test.ts
@@ -15,11 +15,11 @@
  */
 
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {getPerfettoParser} from 'test/unit/fixture_utils';
+import {
+  makeRealTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {TransactionColumnType} from 'trace/transactions/transaction_column_type';
 import {TransactionType} from 'trace/transactions/transaction_type';
@@ -55,9 +55,9 @@
     expect(timestamps.length).toBe(712);
 
     const expected = [
-      TimestampConverterUtils.makeRealTimestamp(1659507541051480997n),
-      TimestampConverterUtils.makeRealTimestamp(1659507541118452067n),
-      TimestampConverterUtils.makeRealTimestamp(1659507542621651001n),
+      makeRealTimestamp(1659507541051480997n),
+      makeRealTimestamp(1659507541118452067n),
+      makeRealTimestamp(1659507542621651001n),
     ];
     expect(timestamps.slice(0, 3)).toEqual(expected);
   });
diff --git a/tools/winscope/src/parsers/transitions/legacy/parser_transitions_shell_test.ts b/tools/winscope/src/parsers/transitions/legacy/parser_transitions_shell_test.ts
index c8ce247..80e1d29 100644
--- a/tools/winscope/src/parsers/transitions/legacy/parser_transitions_shell_test.ts
+++ b/tools/winscope/src/parsers/transitions/legacy/parser_transitions_shell_test.ts
@@ -15,12 +15,12 @@
  */
 
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {com} from 'protos/transitions/udc/static';
 import {LegacyParserProvider} from 'test/unit/fixture_utils';
+import {
+  makeRealTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {Parser} from 'trace_api/parser';
 import {TraceType} from 'trace_api/trace_type';
@@ -47,12 +47,12 @@
   it('provides timestamps', () => {
     const timestamps = assertDefined(parser.getTimestamps());
     const expected = [
-      TimestampConverterUtils.makeRealTimestamp(1683188477607285317n),
-      TimestampConverterUtils.makeRealTimestamp(1683130827957362976n),
-      TimestampConverterUtils.makeRealTimestamp(1683130827957362976n),
-      TimestampConverterUtils.makeRealTimestamp(1683188479256449868n),
-      TimestampConverterUtils.makeRealTimestamp(1683130827957362976n),
-      TimestampConverterUtils.makeRealTimestamp(1683130827957362976n),
+      makeRealTimestamp(1683188477607285317n),
+      makeRealTimestamp(1683130827957362976n),
+      makeRealTimestamp(1683130827957362976n),
+      makeRealTimestamp(1683188479256449868n),
+      makeRealTimestamp(1683130827957362976n),
+      makeRealTimestamp(1683130827957362976n),
     ];
     expect(timestamps).toEqual(expected);
   });
diff --git a/tools/winscope/src/parsers/transitions/legacy/parser_transitions_wm_test.ts b/tools/winscope/src/parsers/transitions/legacy/parser_transitions_wm_test.ts
index 144fba6..b5951ec 100644
--- a/tools/winscope/src/parsers/transitions/legacy/parser_transitions_wm_test.ts
+++ b/tools/winscope/src/parsers/transitions/legacy/parser_transitions_wm_test.ts
@@ -15,12 +15,12 @@
  */
 
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {com} from 'protos/transitions/udc/static';
 import {LegacyParserProvider} from 'test/unit/fixture_utils';
+import {
+  makeZeroTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {Parser} from 'trace_api/parser';
 import {TraceType} from 'trace_api/trace_type';
@@ -46,7 +46,7 @@
   it('provides timestamps', () => {
     const timestamps = assertDefined(parser.getTimestamps());
     expect(timestamps.length).toBe(8);
-    const expected = TimestampConverterUtils.makeZeroTimestamp();
+    const expected = makeZeroTimestamp();
     timestamps.forEach((timestamp) => expect(timestamp).toEqual(expected));
   });
 
diff --git a/tools/winscope/src/parsers/transitions/legacy/traces_parser_transitions_test.ts b/tools/winscope/src/parsers/transitions/legacy/traces_parser_transitions_test.ts
index 292c362..dde0971 100644
--- a/tools/winscope/src/parsers/transitions/legacy/traces_parser_transitions_test.ts
+++ b/tools/winscope/src/parsers/transitions/legacy/traces_parser_transitions_test.ts
@@ -15,16 +15,16 @@
  */
 
 import {assertDefined} from 'common/assert_utils';
-import {
-  getTimestampConverter,
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import Long from 'long';
 import {FileAndParser} from 'parsers/file_and_parser';
 import {perfetto} from 'protos/perfetto/trace/static';
 import {com} from 'protos/transitions/udc/static';
 import {convertToPerfettoTrace, getTracesParser} from 'test/unit/fixture_utils';
+import {
+  getTimestampConverter,
+  makeRealTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {TraceFile} from 'trace/trace_file';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {Parser} from 'trace_api/parser';
@@ -64,10 +64,10 @@
   it('provides timestamps', () => {
     const timestamps = assertDefined(parser.getTimestamps());
     const expected = [
-      TimestampConverterUtils.makeRealTimestamp(1683188477607285317n),
-      TimestampConverterUtils.makeRealTimestamp(1683188477785406289n),
-      TimestampConverterUtils.makeRealTimestamp(1683188479256449868n),
-      TimestampConverterUtils.makeRealTimestamp(1683188481345929443n),
+      makeRealTimestamp(1683188477607285317n),
+      makeRealTimestamp(1683188477785406289n),
+      makeRealTimestamp(1683188479256449868n),
+      makeRealTimestamp(1683188481345929443n),
     ];
     expect(timestamps).toEqual(expected);
   });
@@ -99,7 +99,7 @@
 
     await (transitionsParser as TracesParserTransitions).parse();
     expect(transitionsParser.getTimestamps()?.at(0)).toEqual(
-      TimestampConverterUtils.makeRealTimestamp(0n),
+      makeRealTimestamp(0n),
     );
   });
 
@@ -204,10 +204,10 @@
     );
     perfettoParser.createTimestamps();
     expect(perfettoParser.getTimestamps()).toEqual([
-      TimestampConverterUtils.makeRealTimestamp(1683188477607285317n),
-      TimestampConverterUtils.makeRealTimestamp(1683188477785406289n),
-      TimestampConverterUtils.makeRealTimestamp(1683188479256449868n),
-      TimestampConverterUtils.makeRealTimestamp(1683188481345929443n),
+      makeRealTimestamp(1683188477607285317n),
+      makeRealTimestamp(1683188477785406289n),
+      makeRealTimestamp(1683188479256449868n),
+      makeRealTimestamp(1683188481345929443n),
     ]);
     const entries = [
       await perfettoParser.getEntry(0),
diff --git a/tools/winscope/src/parsers/transitions/perfetto/parser_transitions_test.ts b/tools/winscope/src/parsers/transitions/perfetto/parser_transitions_test.ts
index 7fd0704..dd3cc44 100644
--- a/tools/winscope/src/parsers/transitions/perfetto/parser_transitions_test.ts
+++ b/tools/winscope/src/parsers/transitions/perfetto/parser_transitions_test.ts
@@ -15,11 +15,11 @@
  */
 
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {getPerfettoParser} from 'test/unit/fixture_utils';
+import {
+  makeRealTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {Parser} from 'trace_api/parser';
 import {TraceType} from 'trace_api/trace_type';
@@ -47,10 +47,10 @@
 
     it('provides timestamps', () => {
       const expected = [
-        TimestampConverterUtils.makeRealTimestamp(1700573425448299306n),
-        TimestampConverterUtils.makeRealTimestamp(1700573426522433299n),
-        TimestampConverterUtils.makeRealTimestamp(1700573433040642612n),
-        TimestampConverterUtils.makeRealTimestamp(1700573433279358351n),
+        makeRealTimestamp(1700573425448299306n),
+        makeRealTimestamp(1700573426522433299n),
+        makeRealTimestamp(1700573433040642612n),
+        makeRealTimestamp(1700573433279358351n),
       ];
       const actual = assertDefined(parser.getTimestamps());
       expect(actual).toEqual(expected);
diff --git a/tools/winscope/src/parsers/view_capture/legacy/parser_view_capture_test.ts b/tools/winscope/src/parsers/view_capture/legacy/parser_view_capture_test.ts
index 46cc254..90657b1 100644
--- a/tools/winscope/src/parsers/view_capture/legacy/parser_view_capture_test.ts
+++ b/tools/winscope/src/parsers/view_capture/legacy/parser_view_capture_test.ts
@@ -15,13 +15,13 @@
  */
 import {assertDefined} from 'common/assert_utils';
 import {utf8Encode} from 'common/string_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import Long from 'long';
 import {perfetto} from 'protos/perfetto/trace/static';
 import {LegacyParserProvider} from 'test/unit/fixture_utils';
+import {
+  makeRealTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {Parser} from 'trace_api/parser';
 import {TraceType} from 'trace_api/trace_type';
@@ -57,9 +57,9 @@
 
   it('provides timestamps', () => {
     const expected = [
-      TimestampConverterUtils.makeRealTimestamp(1691692936292808460n),
-      TimestampConverterUtils.makeRealTimestamp(1691692936301385080n),
-      TimestampConverterUtils.makeRealTimestamp(1691692936309419870n),
+      makeRealTimestamp(1691692936292808460n),
+      makeRealTimestamp(1691692936301385080n),
+      makeRealTimestamp(1691692936309419870n),
     ];
     expect(assertDefined(parser.getTimestamps()).slice(0, 3)).toEqual(expected);
   });
@@ -139,9 +139,9 @@
       .setConvertToPerfetto(true)
       .getParser<HierarchyTreeNode>();
     expect(perfettoParser.getTimestamps()?.slice(0, 3)).toEqual([
-      TimestampConverterUtils.makeRealTimestamp(1691692936292808460n),
-      TimestampConverterUtils.makeRealTimestamp(1691692936301385080n),
-      TimestampConverterUtils.makeRealTimestamp(1691692936309419870n),
+      makeRealTimestamp(1691692936292808460n),
+      makeRealTimestamp(1691692936301385080n),
+      makeRealTimestamp(1691692936309419870n),
     ]);
 
     const entry = await perfettoParser.getEntry(1);
diff --git a/tools/winscope/src/parsers/view_capture/perfetto/parser_view_capture_window_test.ts b/tools/winscope/src/parsers/view_capture/perfetto/parser_view_capture_window_test.ts
index ac4d3bb..16dfea8 100644
--- a/tools/winscope/src/parsers/view_capture/perfetto/parser_view_capture_window_test.ts
+++ b/tools/winscope/src/parsers/view_capture/perfetto/parser_view_capture_window_test.ts
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {getPerfettoParser} from 'test/unit/fixture_utils';
+import {
+  makeRealTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {CustomQueryType} from 'trace_api/custom_query';
 import {Parser} from 'trace_api/parser';
@@ -58,9 +58,9 @@
     expect(assertDefined(parser.getTimestamps()).length).toBe(36);
 
     const expected = [
-      TimestampConverterUtils.makeRealTimestamp(1716828479973482553n),
-      TimestampConverterUtils.makeRealTimestamp(1716828479982373666n),
-      TimestampConverterUtils.makeRealTimestamp(1716828479986084197n),
+      makeRealTimestamp(1716828479973482553n),
+      makeRealTimestamp(1716828479982373666n),
+      makeRealTimestamp(1716828479986084197n),
     ];
     expect(assertDefined(parser.getTimestamps()).slice(0, 3)).toEqual(expected);
   });
diff --git a/tools/winscope/src/parsers/window_manager/legacy/parser_window_manager_dump_test.ts b/tools/winscope/src/parsers/window_manager/legacy/parser_window_manager_dump_test.ts
index 95f8e20..a58967f 100644
--- a/tools/winscope/src/parsers/window_manager/legacy/parser_window_manager_dump_test.ts
+++ b/tools/winscope/src/parsers/window_manager/legacy/parser_window_manager_dump_test.ts
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
+import {LegacyParserProvider} from 'test/unit/fixture_utils';
 import {
   getTimestampConverter,
-  TimestampConverterUtils,
+  makeElapsedTimestamp,
   timestampEqualityTester,
-} from 'common/time/time_test_helpers';
-import {LegacyParserProvider} from 'test/unit/fixture_utils';
+} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {CustomQueryType} from 'trace_api/custom_query';
@@ -52,7 +52,7 @@
   });
 
   it('provides timestamp (always zero)', () => {
-    const expected = [TimestampConverterUtils.makeElapsedTimestamp(0n)];
+    const expected = [makeElapsedTimestamp(0n)];
     expect(parser.getTimestamps()).toEqual(expected);
   });
 
@@ -65,9 +65,7 @@
       TraceType.WINDOW_MANAGER,
     );
 
-    expect(parser.getTimestamps()).toEqual([
-      TimestampConverterUtils.makeElapsedTimestamp(0n),
-    ]);
+    expect(parser.getTimestamps()).toEqual([makeElapsedTimestamp(0n)]);
   });
 
   it('retrieves trace entry', async () => {
diff --git a/tools/winscope/src/parsers/window_manager/legacy/parser_window_manager_test.ts b/tools/winscope/src/parsers/window_manager/legacy/parser_window_manager_test.ts
index b37089d..51eab9f 100644
--- a/tools/winscope/src/parsers/window_manager/legacy/parser_window_manager_test.ts
+++ b/tools/winscope/src/parsers/window_manager/legacy/parser_window_manager_test.ts
@@ -14,11 +14,12 @@
  * limitations under the License.
  */
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {LegacyParserProvider} from 'test/unit/fixture_utils';
+import {
+  makeRealTimestamp,
+  makeElapsedTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {CustomQueryType} from 'trace_api/custom_query';
@@ -53,9 +54,9 @@
 
     it('provides timestamps', () => {
       const expected = [
-        TimestampConverterUtils.makeRealTimestamp(1659107089075566202n),
-        TimestampConverterUtils.makeRealTimestamp(1659107089999048990n),
-        TimestampConverterUtils.makeRealTimestamp(1659107090010194213n),
+        makeRealTimestamp(1659107089075566202n),
+        makeRealTimestamp(1659107089999048990n),
+        makeRealTimestamp(1659107090010194213n),
       ];
       expect(assertDefined(parser.getTimestamps()).slice(0, 3)).toEqual(
         expected,
@@ -92,9 +93,9 @@
 
     it('provides timestamps', () => {
       const expected = [
-        TimestampConverterUtils.makeElapsedTimestamp(850254319343n),
-        TimestampConverterUtils.makeElapsedTimestamp(850763506110n),
-        TimestampConverterUtils.makeElapsedTimestamp(850782750048n),
+        makeElapsedTimestamp(850254319343n),
+        makeElapsedTimestamp(850763506110n),
+        makeElapsedTimestamp(850782750048n),
       ];
       expect(parser.getTimestamps()).toEqual(expected);
     });
@@ -123,9 +124,9 @@
 
     it('provides timestamps', () => {
       const expected = [
-        TimestampConverterUtils.makeRealTimestamp(1721405245732015868n),
-        TimestampConverterUtils.makeRealTimestamp(1721405246510267496n),
-        TimestampConverterUtils.makeRealTimestamp(1721405246549639200n),
+        makeRealTimestamp(1721405245732015868n),
+        makeRealTimestamp(1721405246510267496n),
+        makeRealTimestamp(1721405246549639200n),
       ];
       expect(parser.getTimestamps()?.slice(0, 3)).toEqual(expected);
     });
diff --git a/tools/winscope/src/parsers/window_manager/perfetto/parser_window_manager_test.ts b/tools/winscope/src/parsers/window_manager/perfetto/parser_window_manager_test.ts
index 4bc78b6..60fc3fa 100644
--- a/tools/winscope/src/parsers/window_manager/perfetto/parser_window_manager_test.ts
+++ b/tools/winscope/src/parsers/window_manager/perfetto/parser_window_manager_test.ts
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 import {assertDefined} from 'common/assert_utils';
-import {
-  TimestampConverterUtils,
-  timestampEqualityTester,
-} from 'common/time/time_test_helpers';
 import {getPerfettoParser} from 'test/unit/fixture_utils';
+import {
+  makeRealTimestamp,
+  timestampEqualityTester,
+} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {CoarseVersion} from 'trace_api/coarse_version';
 import {CustomQueryType} from 'trace_api/custom_query';
@@ -53,9 +53,9 @@
 
   it('provides timestamps', () => {
     const expected = [
-      TimestampConverterUtils.makeRealTimestamp(1719409456335086006n),
-      TimestampConverterUtils.makeRealTimestamp(1719409456922787137n),
-      TimestampConverterUtils.makeRealTimestamp(1719409456929933622n),
+      makeRealTimestamp(1719409456335086006n),
+      makeRealTimestamp(1719409456922787137n),
+      makeRealTimestamp(1719409456929933622n),
     ];
     expect(assertDefined(parser.getTimestamps()).slice(0, 3)).toEqual(expected);
   });
diff --git a/tools/winscope/src/test/unit/fixture_utils.ts b/tools/winscope/src/test/unit/fixture_utils.ts
index 1b016ac..434727a 100644
--- a/tools/winscope/src/test/unit/fixture_utils.ts
+++ b/tools/winscope/src/test/unit/fixture_utils.ts
@@ -15,7 +15,6 @@
  */
 
 import {assertDefined, assertTrue} from 'common/assert_utils';
-import {getTimestampConverter} from 'common/time/time_test_helpers';
 import {TimestampConverter} from 'common/time/timestamp_converter';
 import {FileAndParser} from 'parsers/file_and_parser';
 import {ParserFactory as LegacyParserFactory} from 'parsers/legacy/parser_factory';
@@ -27,6 +26,7 @@
 import {ParserFactory as PerfettoParserFactory} from 'parsers/perfetto/parser_factory';
 import {TracesParserFactory} from 'parsers/traces/traces_parser_factory';
 import {getFixtureFile} from 'test/unit/fixture_file_utils';
+import {getTimestampConverter} from 'test/unit/time_test_helpers';
 import {TraceFile} from 'trace/trace_file';
 import {Parser} from 'trace_api/parser';
 import {Trace} from 'trace_api/trace';
diff --git a/tools/winscope/src/test/unit/parser_builder.ts b/tools/winscope/src/test/unit/parser_builder.ts
index c18b125..93526f1 100644
--- a/tools/winscope/src/test/unit/parser_builder.ts
+++ b/tools/winscope/src/test/unit/parser_builder.ts
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {Timestamp} from 'common/time/time';
+import {makeRealTimestamp} from 'test/unit/time_test_helpers';
 import {
   CustomQueryParamTypeMap,
   CustomQueryParserResultTypeMap,
@@ -118,7 +118,7 @@
   private createTimestamps(entries: T[]): Timestamp[] {
     const timestamps = new Array<Timestamp>();
     for (let i = 0; i < entries.length; ++i) {
-      timestamps[i] = TimestampConverterUtils.makeRealTimestamp(BigInt(i));
+      timestamps[i] = makeRealTimestamp(BigInt(i));
     }
     return timestamps;
   }
diff --git a/tools/winscope/src/test/unit/time_test_helpers.ts b/tools/winscope/src/test/unit/time_test_helpers.ts
new file mode 100644
index 0000000..d1d47cb
--- /dev/null
+++ b/tools/winscope/src/test/unit/time_test_helpers.ts
@@ -0,0 +1,98 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import {Timestamp, TimezoneInfo} from 'common/time/time';
+import {
+  TimestampConverter,
+  UTC_TIMEZONE_INFO,
+} from 'common/time/timestamp_converter';
+
+/**
+ * Timezone information for Asia/Kolkata.
+ */
+export const ASIA_TIMEZONE_INFO: TimezoneInfo = {
+  timezone: 'Asia/Kolkata',
+  locale: 'en-US',
+};
+
+export const UTC_CONVERTER = new TimestampConverter(UTC_TIMEZONE_INFO, 0n, 0n);
+
+const noRTEOffset = new TimestampConverter({
+  timezone: 'UTC',
+  locale: 'en-US',
+});
+
+export const TIMESTAMP_CONVERTER_WITH_UTC_OFFSET = new TimestampConverter(
+  ASIA_TIMEZONE_INFO,
+  0n,
+  0n,
+  new TimestampConverter({
+    timezone: 'UTC',
+    locale: 'en-US',
+  }).makeTimestampFromRealNs(0n),
+);
+
+export function makeRealTimestamp(valueNs: bigint): Timestamp {
+  return UTC_CONVERTER.makeTimestampFromRealNs(valueNs);
+}
+
+export function makeRealTimestampWithUTCOffset(valueNs: bigint): Timestamp {
+  return TIMESTAMP_CONVERTER_WITH_UTC_OFFSET.makeTimestampFromRealNs(valueNs);
+}
+
+export function makeElapsedTimestamp(valueNs: bigint): Timestamp {
+  return noRTEOffset.makeTimestampFromMonotonicNs(valueNs);
+}
+
+export function makeZeroTimestamp(): Timestamp {
+  return noRTEOffset.makeZeroTimestamp();
+}
+
+/**
+ * A Jasmine custom equality tester for Timestamps.
+ *
+ * @param first The first object to compare.
+ * @param second The second object to compare.
+ * @return True if the objects are equal, false otherwise.
+ */
+export function timestampEqualityTester(
+  first: unknown,
+  second: unknown,
+): boolean | undefined {
+  if (first instanceof Timestamp && second instanceof Timestamp) {
+    const firstTime = first as Timestamp;
+    const secondTime = second as Timestamp;
+    return (
+      firstTime.format() === secondTime.format() &&
+      firstTime.getValueNs() === secondTime.getValueNs()
+    );
+  }
+  return undefined;
+}
+
+/**
+ * Gets a TimestampConverter for tests.
+ *
+ * @param withUTCOffset Whether to create a converter with a UTC offset.
+ * @return A TimestampConverter.
+ */
+export function getTimestampConverter(
+  withUTCOffset = false,
+): TimestampConverter {
+  return withUTCOffset
+    ? new TimestampConverter(ASIA_TIMEZONE_INFO)
+    : new TimestampConverter(UTC_TIMEZONE_INFO);
+}
diff --git a/tools/winscope/src/trace_api/frame_mapper_test.ts b/tools/winscope/src/trace_api/frame_mapper_test.ts
index 8dab1bb..855acf6 100644
--- a/tools/winscope/src/trace_api/frame_mapper_test.ts
+++ b/tools/winscope/src/trace_api/frame_mapper_test.ts
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
+import {makeRealTimestamp} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {extractFrames} from 'test/unit/traces_utils';
 import {HierarchyTreeNode} from 'tree_node/hierarchy_tree_node';
@@ -28,18 +28,16 @@
 import {Traces} from './traces';
 
 describe('FrameMapper', () => {
-  const time0 = TimestampConverterUtils.makeRealTimestamp(0n);
-  const time1 = TimestampConverterUtils.makeRealTimestamp(1n);
-  const time2 = TimestampConverterUtils.makeRealTimestamp(2n);
-  const time3 = TimestampConverterUtils.makeRealTimestamp(3n);
-  const time4 = TimestampConverterUtils.makeRealTimestamp(4n);
-  const time5 = TimestampConverterUtils.makeRealTimestamp(5n);
-  const time6 = TimestampConverterUtils.makeRealTimestamp(6n);
-  const time7 = TimestampConverterUtils.makeRealTimestamp(7n);
-  const time8 = TimestampConverterUtils.makeRealTimestamp(8n);
-  const time10seconds = TimestampConverterUtils.makeRealTimestamp(
-    10n * 1000000000n,
-  );
+  const time0 = makeRealTimestamp(0n);
+  const time1 = makeRealTimestamp(1n);
+  const time2 = makeRealTimestamp(2n);
+  const time3 = makeRealTimestamp(3n);
+  const time4 = makeRealTimestamp(4n);
+  const time5 = makeRealTimestamp(5n);
+  const time6 = makeRealTimestamp(6n);
+  const time7 = makeRealTimestamp(7n);
+  const time8 = makeRealTimestamp(8n);
+  const time10seconds = makeRealTimestamp(10n * 1000000000n);
 
   describe('ProtoLog <-> WindowManager', () => {
     let protoLog: Trace<PropertyTreeNode>;
diff --git a/tools/winscope/src/trace_api/trace_entry_finder_test.ts b/tools/winscope/src/trace_api/trace_entry_finder_test.ts
index c49ffb7..fc1fcc3 100644
--- a/tools/winscope/src/trace_api/trace_entry_finder_test.ts
+++ b/tools/winscope/src/trace_api/trace_entry_finder_test.ts
@@ -14,7 +14,10 @@
  * limitations under the License.
  */
 
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
+import {
+  makeRealTimestamp,
+  makeZeroTimestamp,
+} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {makeEmptyTrace} from 'test/unit/trace_utils';
 import {TraceEntryFinder} from './trace_entry_finder';
@@ -23,18 +26,18 @@
 
 describe('TraceEntryFinder', () => {
   const emptyTrace = makeEmptyTrace(TraceType.TEST_TRACE_STRING);
-  const ts10 = TimestampConverterUtils.makeRealTimestamp(10n);
-  const ts14 = TimestampConverterUtils.makeRealTimestamp(14n);
-  const ts16 = TimestampConverterUtils.makeRealTimestamp(16n);
+  const ts10 = makeRealTimestamp(10n);
+  const ts14 = makeRealTimestamp(14n);
+  const ts16 = makeRealTimestamp(16n);
   const posTs10 = TracePosition.fromTimestamp(ts10);
   const trace = new TraceBuilder<string>()
     .setType(TraceType.SURFACE_FLINGER)
     .setTimestamps([
       ts10,
-      TimestampConverterUtils.makeRealTimestamp(11n),
-      TimestampConverterUtils.makeRealTimestamp(12n),
+      makeRealTimestamp(11n),
+      makeRealTimestamp(12n),
       ts14,
-      TimestampConverterUtils.makeRealTimestamp(15n),
+      makeRealTimestamp(15n),
       ts16,
     ])
     .setEntries([
@@ -62,7 +65,7 @@
 
   it('returns sole entry of dump without timestamp regardless of position', () => {
     const dump = new TraceBuilder<string>()
-      .setTimestamps([TimestampConverterUtils.makeZeroTimestamp()])
+      .setTimestamps([makeZeroTimestamp()])
       .setEntries(['entry-0'])
       .build();
     expect(TraceEntryFinder.findCorrespondingEntry(dump, posTs10)).toEqual(
@@ -146,7 +149,7 @@
       trace.getEntry(0),
     );
 
-    const ts13 = TimestampConverterUtils.makeRealTimestamp(13n);
+    const ts13 = makeRealTimestamp(13n);
     const posTs13 = TracePosition.fromTimestamp(ts13);
     expect(TraceEntryFinder.findCorrespondingEntry(trace, posTs13)).toEqual(
       trace.getEntry(2),
diff --git a/tools/winscope/src/trace_api/trace_entry_test.ts b/tools/winscope/src/trace_api/trace_entry_test.ts
index 3427aff..a09a79c 100644
--- a/tools/winscope/src/trace_api/trace_entry_test.ts
+++ b/tools/winscope/src/trace_api/trace_entry_test.ts
@@ -15,9 +15,9 @@
  */
 
 import {
-  TimestampConverterUtils,
+  makeRealTimestamp,
   timestampEqualityTester,
-} from 'common/time/time_test_helpers';
+} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {Trace} from './trace';
 
@@ -28,12 +28,12 @@
     jasmine.addCustomEqualityTester(timestampEqualityTester);
     trace = new TraceBuilder<string>()
       .setTimestamps([
-        TimestampConverterUtils.makeRealTimestamp(10n),
-        TimestampConverterUtils.makeRealTimestamp(11n),
-        TimestampConverterUtils.makeRealTimestamp(12n),
-        TimestampConverterUtils.makeRealTimestamp(13n),
-        TimestampConverterUtils.makeRealTimestamp(14n),
-        TimestampConverterUtils.makeRealTimestamp(15n),
+        makeRealTimestamp(10n),
+        makeRealTimestamp(11n),
+        makeRealTimestamp(12n),
+        makeRealTimestamp(13n),
+        makeRealTimestamp(14n),
+        makeRealTimestamp(15n),
       ])
       .setEntries([
         'entry-0',
@@ -64,12 +64,8 @@
   });
 
   it('getTimestamp()', () => {
-    expect(trace.getEntry(0).getTimestamp()).toEqual(
-      TimestampConverterUtils.makeRealTimestamp(10n),
-    );
-    expect(trace.getEntry(1).getTimestamp()).toEqual(
-      TimestampConverterUtils.makeRealTimestamp(11n),
-    );
+    expect(trace.getEntry(0).getTimestamp()).toEqual(makeRealTimestamp(10n));
+    expect(trace.getEntry(1).getTimestamp()).toEqual(makeRealTimestamp(11n));
   });
 
   it('getFramesRange()', () => {
diff --git a/tools/winscope/src/trace_api/trace_test.ts b/tools/winscope/src/trace_api/trace_test.ts
index e5c1eec..72cf889 100644
--- a/tools/winscope/src/trace_api/trace_test.ts
+++ b/tools/winscope/src/trace_api/trace_test.ts
@@ -14,9 +14,13 @@
  * limitations under the License.
  */
 
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {TIME_UNIT_TO_NANO} from 'common/time/time_units';
 import {ParserBuilder} from 'test/unit/parser_builder';
+import {
+  makeElapsedTimestamp,
+  makeRealTimestamp,
+  makeZeroTimestamp,
+} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {
   extractEntries,
@@ -32,13 +36,13 @@
 describe('Trace', () => {
   let trace: Trace<string>;
 
-  const time9 = TimestampConverterUtils.makeRealTimestamp(9n);
-  const time10 = TimestampConverterUtils.makeRealTimestamp(10n);
-  const time11 = TimestampConverterUtils.makeRealTimestamp(11n);
-  const time12 = TimestampConverterUtils.makeRealTimestamp(12n);
-  const time13 = TimestampConverterUtils.makeRealTimestamp(13n);
-  const time14 = TimestampConverterUtils.makeRealTimestamp(14n);
-  const time15 = TimestampConverterUtils.makeRealTimestamp(15n);
+  const time9 = makeRealTimestamp(9n);
+  const time10 = makeRealTimestamp(10n);
+  const time11 = makeRealTimestamp(11n);
+  const time12 = makeRealTimestamp(12n);
+  const time13 = makeRealTimestamp(13n);
+  const time14 = makeRealTimestamp(14n);
+  const time15 = makeRealTimestamp(15n);
 
   beforeAll(() => {
     // Time:       10    11                 12    13
@@ -880,8 +884,8 @@
     ]);
 
     // time
-    const time12 = TimestampConverterUtils.makeRealTimestamp(12n);
-    const time13 = TimestampConverterUtils.makeRealTimestamp(13n);
+    const time12 = makeRealTimestamp(12n);
+    const time13 = makeRealTimestamp(13n);
     expect(await extractEntries(trace.sliceTime(time12, time12))).toEqual([]);
     expect(await extractEntries(trace.sliceTime())).toEqual([
       'entry-0',
@@ -934,8 +938,8 @@
     expect(await extractEntries(empty.sliceEntries(1, 2))).toEqual([]);
 
     // time
-    const time12 = TimestampConverterUtils.makeRealTimestamp(12n);
-    const time13 = TimestampConverterUtils.makeRealTimestamp(13n);
+    const time12 = makeRealTimestamp(12n);
+    const time13 = makeRealTimestamp(13n);
     expect(await extractEntries(empty.sliceTime())).toEqual([]);
     expect(await extractEntries(empty.sliceTime(time12))).toEqual([]);
     expect(await extractEntries(empty.sliceTime(time12, time13))).toEqual([]);
@@ -1288,7 +1292,7 @@
   it('isDumpWithoutTimestamp()', () => {
     const trace = new TraceBuilder<string>()
       .setEntries(['entry-0'])
-      .setTimestamps([TimestampConverterUtils.makeZeroTimestamp()])
+      .setTimestamps([makeZeroTimestamp()])
       .build();
     expect(trace.isDumpWithoutTimestamp()).toBeTrue();
   });
@@ -1299,7 +1303,7 @@
         new ParserBuilder<string>()
           .setIsCorrupted(true)
           .setEntries(['entry-0'])
-          .setTimestamps([TimestampConverterUtils.makeZeroTimestamp()])
+          .setTimestamps([makeZeroTimestamp()])
           .build(),
       )
       .build();
@@ -1318,18 +1322,13 @@
   });
 
   it('spansMultipleDates()', () => {
-    const time0 = TimestampConverterUtils.makeZeroTimestamp();
+    const time0 = makeZeroTimestamp();
     const emptyTrace = makeEmptyTrace(TraceType.TEST_TRACE_STRING);
     expect(emptyTrace.spansMultipleDates()).toBeFalse();
 
     const traceWithElapsedTimestamps = new TraceBuilder<string>()
       .setEntries(['entry-0', 'entry-1'])
-      .setTimestamps([
-        time0,
-        TimestampConverterUtils.makeElapsedTimestamp(
-          BigInt(TIME_UNIT_TO_NANO.d),
-        ),
-      ])
+      .setTimestamps([time0, makeElapsedTimestamp(BigInt(TIME_UNIT_TO_NANO.d))])
       .build();
     expect(traceWithElapsedTimestamps.spansMultipleDates()).toBeFalse();
 
@@ -1342,12 +1341,8 @@
     const traceWitMultipleDates = new TraceBuilder<string>()
       .setEntries(['entry-0', 'entry-1'])
       .setTimestamps([
-        TimestampConverterUtils.makeRealTimestamp(
-          BigInt(TIME_UNIT_TO_NANO.h * 23),
-        ),
-        TimestampConverterUtils.makeRealTimestamp(
-          BigInt(TIME_UNIT_TO_NANO.h * 25),
-        ),
+        makeRealTimestamp(BigInt(TIME_UNIT_TO_NANO.h * 23)),
+        makeRealTimestamp(BigInt(TIME_UNIT_TO_NANO.h * 25)),
       ])
       .build();
     expect(traceWitMultipleDates.spansMultipleDates()).toBeTrue();
diff --git a/tools/winscope/src/trace_api/traces_test.ts b/tools/winscope/src/trace_api/traces_test.ts
index 44f7462..801d228 100644
--- a/tools/winscope/src/trace_api/traces_test.ts
+++ b/tools/winscope/src/trace_api/traces_test.ts
@@ -16,7 +16,7 @@
 
 import {assertDefined} from 'common/assert_utils';
 import {DO_NOTHING} from 'common/function_utils';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
+import {makeRealTimestamp} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {
   extractEntries as extractTraceEntries,
@@ -36,16 +36,16 @@
 describe('Traces', () => {
   let traces: Traces;
 
-  const time1 = TimestampConverterUtils.makeRealTimestamp(1n);
-  const time2 = TimestampConverterUtils.makeRealTimestamp(2n);
-  const time3 = TimestampConverterUtils.makeRealTimestamp(3n);
-  const time4 = TimestampConverterUtils.makeRealTimestamp(4n);
-  const time5 = TimestampConverterUtils.makeRealTimestamp(5n);
-  const time6 = TimestampConverterUtils.makeRealTimestamp(6n);
-  const time7 = TimestampConverterUtils.makeRealTimestamp(7n);
-  const time8 = TimestampConverterUtils.makeRealTimestamp(8n);
-  const time9 = TimestampConverterUtils.makeRealTimestamp(9n);
-  const time10 = TimestampConverterUtils.makeRealTimestamp(10n);
+  const time1 = makeRealTimestamp(1n);
+  const time2 = makeRealTimestamp(2n);
+  const time3 = makeRealTimestamp(3n);
+  const time4 = makeRealTimestamp(4n);
+  const time5 = makeRealTimestamp(5n);
+  const time6 = makeRealTimestamp(6n);
+  const time7 = makeRealTimestamp(7n);
+  const time8 = makeRealTimestamp(8n);
+  const time9 = makeRealTimestamp(9n);
+  const time10 = makeRealTimestamp(10n);
 
   let extractedEntriesEmpty: Map<TraceType, Array<{}>>;
   let extractedEntriesFull: Map<TraceType, Array<{}>>;
diff --git a/tools/winscope/src/viewers/common/abstract_log_viewer_presenter_test.ts b/tools/winscope/src/viewers/common/abstract_log_viewer_presenter_test.ts
index e7390f2..244c66f 100644
--- a/tools/winscope/src/viewers/common/abstract_log_viewer_presenter_test.ts
+++ b/tools/winscope/src/viewers/common/abstract_log_viewer_presenter_test.ts
@@ -15,9 +15,9 @@
  */
 
 import {assertDefined} from 'common/assert_utils';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {wait} from 'common/time/time_utils';
 import {TracePositionUpdate} from 'messaging/winscope_event';
+import {makeRealTimestamp} from 'test/unit/time_test_helpers';
 import {setNumRowsSpyQueryResult} from 'trace_processor/test_utils';
 import {TraceProcessor} from 'trace_processor/trace_processor';
 import {
@@ -56,9 +56,7 @@
           Promise.resolve(setNumRowsSpyQueryResult(0)),
         );
         await presenter.onAppEvent(
-          TracePositionUpdate.fromTimestamp(
-            TimestampConverterUtils.makeRealTimestamp(0n),
-          ),
+          TracePositionUpdate.fromTimestamp(makeRealTimestamp(0n)),
         );
         await wait(() => !uiData.isFetchingData);
         for (const [index, expectedHeader] of this.expectedHeaders.entries()) {
diff --git a/tools/winscope/src/viewers/common/hierarchy_presenter_test.ts b/tools/winscope/src/viewers/common/hierarchy_presenter_test.ts
index 2b7be42..c4a43ff 100644
--- a/tools/winscope/src/viewers/common/hierarchy_presenter_test.ts
+++ b/tools/winscope/src/viewers/common/hierarchy_presenter_test.ts
@@ -16,8 +16,8 @@
 
 import {assertDefined} from 'common/assert_utils';
 import {InMemoryStorage} from 'common/store/in_memory_storage';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {HierarchyTreeBuilder} from 'test/unit/hierarchy_tree_builder';
+import {makeElapsedTimestamp} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {
   makeUiHierarchyNode,
@@ -33,8 +33,8 @@
 import {UserOptions} from './user_options';
 
 describe('HierarchyPresenter', () => {
-  const timestamp1 = TimestampConverterUtils.makeElapsedTimestamp(1n);
-  const timestamp2 = TimestampConverterUtils.makeElapsedTimestamp(2n);
+  const timestamp1 = makeElapsedTimestamp(1n);
+  const timestamp2 = makeElapsedTimestamp(2n);
   const tree1 = new HierarchyTreeBuilder()
     .setId('Test Trace')
     .setName('entry')
diff --git a/tools/winscope/src/viewers/common/hierarchy_viewer_presenter_test.ts b/tools/winscope/src/viewers/common/hierarchy_viewer_presenter_test.ts
index 247e5b2..722ea09 100644
--- a/tools/winscope/src/viewers/common/hierarchy_viewer_presenter_test.ts
+++ b/tools/winscope/src/viewers/common/hierarchy_viewer_presenter_test.ts
@@ -17,7 +17,6 @@
 import {assertDefined} from 'common/assert_utils';
 import {TransformMatrix} from 'common/geometry/transform_matrix';
 import {InMemoryStorage} from 'common/store/in_memory_storage';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {
   DarkModeToggled,
   FilterPresetApplyRequest,
@@ -26,6 +25,10 @@
 } from 'messaging/winscope_event';
 import {HierarchyTreeBuilder} from 'test/unit/hierarchy_tree_builder';
 import {MockPresenter} from 'test/unit/mock_hierarchy_viewer_presenter';
+import {
+  makeElapsedTimestamp,
+  makeRealTimestamp,
+} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {makeEmptyTrace} from 'test/unit/trace_utils';
 import {
@@ -46,8 +49,8 @@
 import {ViewerEvents} from './viewer_events';
 
 describe('AbstractHierarchyViewerPresenter', () => {
-  const timestamp2 = TimestampConverterUtils.makeElapsedTimestamp(2n);
-  const timestamp3 = TimestampConverterUtils.makeElapsedTimestamp(3n);
+  const timestamp2 = makeElapsedTimestamp(2n);
+  const timestamp3 = makeElapsedTimestamp(3n);
   let uiData: UiDataHierarchy;
   let presenter: MockPresenter;
   let trace: Trace<HierarchyTreeNode>;
@@ -183,9 +186,7 @@
     expect(uiData.propertiesTree).toBeDefined();
 
     await presenter.onAppEvent(
-      TracePositionUpdate.fromTimestamp(
-        TimestampConverterUtils.makeElapsedTimestamp(1n),
-      ),
+      TracePositionUpdate.fromTimestamp(makeElapsedTimestamp(1n)),
     );
     expect(uiData.hierarchyTrees).toBeUndefined();
     expect(uiData.pinnedItems.length).toBe(0);
@@ -305,7 +306,7 @@
     presenter.initializeRectsPresenter();
 
     const positionUpdateWithoutTraceEntry = TracePositionUpdate.fromTimestamp(
-      TimestampConverterUtils.makeRealTimestamp(0n),
+      makeRealTimestamp(0n),
     );
     await presenter.onAppEvent(positionUpdateWithoutTraceEntry);
 
diff --git a/tools/winscope/src/viewers/common/log_presenter_test.ts b/tools/winscope/src/viewers/common/log_presenter_test.ts
index 2853557..6bfaf94 100644
--- a/tools/winscope/src/viewers/common/log_presenter_test.ts
+++ b/tools/winscope/src/viewers/common/log_presenter_test.ts
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {PropertyTreeBuilder} from 'test/unit/property_tree_builder';
+import {makeElapsedTimestamp} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {TraceType} from 'trace_api/trace_type';
 import {PropertyTreeNode} from 'tree_node/property_tree_node';
@@ -26,10 +26,10 @@
 
 describe('LogPresenter', () => {
   let presenter: LogPresenter<LogEntry>;
-  const timestamp1 = TimestampConverterUtils.makeElapsedTimestamp(1n);
-  const timestamp2 = TimestampConverterUtils.makeElapsedTimestamp(2n);
-  const timestamp3 = TimestampConverterUtils.makeElapsedTimestamp(3n);
-  const timestamp4 = TimestampConverterUtils.makeElapsedTimestamp(4n);
+  const timestamp1 = makeElapsedTimestamp(1n);
+  const timestamp2 = makeElapsedTimestamp(2n);
+  const timestamp3 = makeElapsedTimestamp(3n);
+  const timestamp4 = makeElapsedTimestamp(4n);
   const trace = new TraceBuilder<PropertyTreeNode>()
     .setType(TraceType.TRANSACTIONS)
     .setEntries([
diff --git a/tools/winscope/src/viewers/common/log_viewer_presenter_test.ts b/tools/winscope/src/viewers/common/log_viewer_presenter_test.ts
index 375916d..3647a4a 100644
--- a/tools/winscope/src/viewers/common/log_viewer_presenter_test.ts
+++ b/tools/winscope/src/viewers/common/log_viewer_presenter_test.ts
@@ -17,7 +17,6 @@
 import {assertDefined} from 'common/assert_utils';
 import {KeyboardEventKey} from 'common/dom_utils';
 import {InMemoryStorage} from 'common/store/in_memory_storage';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {wait} from 'common/time/time_utils';
 import {
   ActiveTraceChanged,
@@ -26,6 +25,11 @@
 } from 'messaging/winscope_event';
 import {HierarchyTreeBuilder} from 'test/unit/hierarchy_tree_builder';
 import {MockPresenter} from 'test/unit/mock_log_viewer_presenter';
+import {
+  makeElapsedTimestamp,
+  makeRealTimestamp,
+  makeZeroTimestamp,
+} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {makeEmptyTrace} from 'test/unit/trace_utils';
 import {DEFAULT_PROPERTY_FORMATTER} from 'trace/formatters';
@@ -54,10 +58,10 @@
   let lastEntryPositionUpdate: TracePositionUpdate;
 
   beforeAll(async () => {
-    const timestamp1 = TimestampConverterUtils.makeElapsedTimestamp(1n);
-    const timestamp2 = TimestampConverterUtils.makeElapsedTimestamp(2n);
-    const timestamp3 = TimestampConverterUtils.makeElapsedTimestamp(3n);
-    const timestamp4 = TimestampConverterUtils.makeElapsedTimestamp(4n);
+    const timestamp1 = makeElapsedTimestamp(1n);
+    const timestamp2 = makeElapsedTimestamp(2n);
+    const timestamp3 = makeElapsedTimestamp(3n);
+    const timestamp4 = makeElapsedTimestamp(4n);
     trace = new TraceBuilder<HierarchyTreeNode>()
       .setType(TraceType.TRANSACTIONS)
       .setEntries([
@@ -162,7 +166,7 @@
     expect(spy).toHaveBeenCalledWith(uiData.entries[0].traceEntry);
 
     spy = spyOn(presenter, 'onRawTimestampClick');
-    const ts = TimestampConverterUtils.makeZeroTimestamp();
+    const ts = makeZeroTimestamp();
     element.dispatchEvent(
       new CustomEvent(ViewerEvents.TimestampClick, {
         detail: new TimestampClickDetail(undefined, ts),
@@ -250,9 +254,7 @@
 
     await sendPositionUpdate(
       new TracePositionUpdate(
-        TracePosition.fromTimestamp(
-          TimestampConverterUtils.makeElapsedTimestamp(-1n),
-        ),
+        TracePosition.fromTimestamp(makeElapsedTimestamp(-1n)),
       ),
       true,
     );
@@ -487,7 +489,7 @@
     const spy = jasmine.createSpy();
     presenter.setEmitEvent(spy);
 
-    const ts = TimestampConverterUtils.makeZeroTimestamp();
+    const ts = makeZeroTimestamp();
     await presenter.onRawTimestampClick(ts);
     expect(spy).toHaveBeenCalledWith(
       TracePositionUpdate.fromTimestamp(ts, true),
@@ -538,9 +540,7 @@
     );
 
     await sendPositionUpdate(
-      TracePositionUpdate.fromTimestamp(
-        TimestampConverterUtils.makeRealTimestamp(0n),
-      ),
+      TracePositionUpdate.fromTimestamp(makeRealTimestamp(0n)),
       true,
       presenter,
     );
diff --git a/tools/winscope/src/viewers/components/log_component_test.ts b/tools/winscope/src/viewers/components/log_component_test.ts
index f110507..40942cb 100644
--- a/tools/winscope/src/viewers/components/log_component_test.ts
+++ b/tools/winscope/src/viewers/components/log_component_test.ts
@@ -31,9 +31,12 @@
 import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
 import {assertDefined} from 'common/assert_utils';
 import {KeyboardEventKey} from 'common/dom_utils';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {Timestamp} from 'common/time/time';
 import {DOMTestHelper} from 'test/unit/dom_test_utils';
+import {
+  makeElapsedTimestamp,
+  makeRealTimestamp,
+} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {TraceEntry} from 'trace_api/trace';
 import {TraceType} from 'trace_api/trace_type';
@@ -409,11 +412,11 @@
     let entryTime: Timestamp;
     let fieldTime: Timestamp;
     if (elapsed) {
-      entryTime = TimestampConverterUtils.makeElapsedTimestamp(1n);
-      fieldTime = TimestampConverterUtils.makeElapsedTimestamp(2n);
+      entryTime = makeElapsedTimestamp(1n);
+      fieldTime = makeElapsedTimestamp(2n);
     } else {
-      entryTime = TimestampConverterUtils.makeRealTimestamp(1n);
-      fieldTime = TimestampConverterUtils.makeRealTimestamp(2n);
+      entryTime = makeRealTimestamp(1n);
+      fieldTime = makeRealTimestamp(2n);
     }
 
     const fields1: LogField[] = [
diff --git a/tools/winscope/src/viewers/components/property_tree_node_data_view_component_test.ts b/tools/winscope/src/viewers/components/property_tree_node_data_view_component_test.ts
index 2f0783f..d396125 100644
--- a/tools/winscope/src/viewers/components/property_tree_node_data_view_component_test.ts
+++ b/tools/winscope/src/viewers/components/property_tree_node_data_view_component_test.ts
@@ -17,10 +17,10 @@
 import {MatButtonModule} from '@angular/material/button';
 import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
 import {assertDefined} from 'common/assert_utils';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {Timestamp} from 'common/time/time';
 import {DOMTestHelper} from 'test/unit/dom_test_utils';
 import {PropertyTreeBuilder} from 'test/unit/property_tree_builder';
+import {makeRealTimestamp} from 'test/unit/time_test_helpers';
 import {
   DEFAULT_PROPERTY_FORMATTER,
   FixedStringFormatter,
@@ -63,9 +63,7 @@
       new PropertyTreeBuilder()
         .setRootId('test node')
         .setName('timestamp')
-        .setValue(
-          TimestampConverterUtils.makeRealTimestamp(1659126889102158832n),
-        )
+        .setValue(makeRealTimestamp(1659126889102158832n))
         .setFormatter(TIMESTAMP_NODE_FORMATTER)
         .build(),
     );
diff --git a/tools/winscope/src/viewers/viewer_input/presenter_test.ts b/tools/winscope/src/viewers/viewer_input/presenter_test.ts
index 2533002..c074448 100644
--- a/tools/winscope/src/viewers/viewer_input/presenter_test.ts
+++ b/tools/winscope/src/viewers/viewer_input/presenter_test.ts
@@ -17,7 +17,6 @@
 import {assertDefined} from 'common/assert_utils';
 import {Transform} from 'common/geometry/transform_utils';
 import {InMemoryStorage} from 'common/store/in_memory_storage';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {wait} from 'common/time/time_utils';
 import {
   TabbedViewSwitchRequest,
@@ -25,6 +24,7 @@
 } from 'messaging/winscope_event';
 import {getTracesParser} from 'test/unit/fixture_utils';
 import {HierarchyTreeBuilder} from 'test/unit/hierarchy_tree_builder';
+import {makeRealTimestamp} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {TracesBuilder} from 'test/unit/traces_builder';
 import {FixedStringFormatter} from 'trace/formatters';
@@ -319,14 +319,14 @@
 
   override executeSpecializedTests() {
     describe('Specialized tests', () => {
-      const time0 = TimestampConverterUtils.makeRealTimestamp(0n);
-      const time10 = TimestampConverterUtils.makeRealTimestamp(10n);
-      const time19 = TimestampConverterUtils.makeRealTimestamp(19n);
-      const time20 = TimestampConverterUtils.makeRealTimestamp(20n);
-      const time25 = TimestampConverterUtils.makeRealTimestamp(25n);
-      const time30 = TimestampConverterUtils.makeRealTimestamp(30n);
-      const time35 = TimestampConverterUtils.makeRealTimestamp(35n);
-      const time36 = TimestampConverterUtils.makeRealTimestamp(36n);
+      const time0 = makeRealTimestamp(0n);
+      const time10 = makeRealTimestamp(10n);
+      const time19 = makeRealTimestamp(19n);
+      const time20 = makeRealTimestamp(20n);
+      const time25 = makeRealTimestamp(25n);
+      const time30 = makeRealTimestamp(30n);
+      const time35 = makeRealTimestamp(35n);
+      const time36 = makeRealTimestamp(36n);
       const layerRect = new TraceRectBuilder()
         .setX(0)
         .setY(0)
diff --git a/tools/winscope/src/viewers/viewer_input/viewer_input_component_test.ts b/tools/winscope/src/viewers/viewer_input/viewer_input_component_test.ts
index 6aacb1e..4c7d305 100644
--- a/tools/winscope/src/viewers/viewer_input/viewer_input_component_test.ts
+++ b/tools/winscope/src/viewers/viewer_input/viewer_input_component_test.ts
@@ -16,10 +16,10 @@
 
 import {CdkVirtualScrollViewport} from '@angular/cdk/scrolling';
 import {assertDefined} from 'common/assert_utils';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {DOMTestHelper} from 'test/unit/dom_test_utils';
 import {HierarchyTreeBuilder} from 'test/unit/hierarchy_tree_builder';
 import {PropertyTreeBuilder} from 'test/unit/property_tree_builder';
+import {makeElapsedTimestamp} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {InputColumnType} from 'trace/input/input_column_type';
 import {TraceType} from 'trace_api/trace_type';
@@ -52,7 +52,7 @@
   private trace = new TraceBuilder<HierarchyTreeNode>()
     .setType(TraceType.INPUT_EVENT_MERGED)
     .setEntries([this.hTree])
-    .setTimestamps([TimestampConverterUtils.makeElapsedTimestamp(20n)])
+    .setTimestamps([makeElapsedTimestamp(20n)])
     .build();
   private entry = this.trace.getEntry(0);
 
diff --git a/tools/winscope/src/viewers/viewer_media_based/presenter_test.ts b/tools/winscope/src/viewers/viewer_media_based/presenter_test.ts
index bf7a6bf..1d9ef20 100644
--- a/tools/winscope/src/viewers/viewer_media_based/presenter_test.ts
+++ b/tools/winscope/src/viewers/viewer_media_based/presenter_test.ts
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {
   ActiveTraceChanged,
   ExpandedTimelineToggled,
   TracePositionUpdate,
 } from 'messaging/winscope_event';
+import {makeRealTimestamp} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {MediaBasedTraceEntry} from 'trace_api/media_based_trace_entry';
 import {TraceType} from 'trace_api/trace_type';
@@ -32,10 +32,7 @@
     new MediaBasedTraceEntry(10, new Blob(), false),
     new MediaBasedTraceEntry(15, new Blob(), false),
   ];
-  const timestamps = [
-    TimestampConverterUtils.makeRealTimestamp(10n),
-    TimestampConverterUtils.makeRealTimestamp(15n),
-  ];
+  const timestamps = [makeRealTimestamp(10n), makeRealTimestamp(15n)];
   const trace1 = new TraceBuilder<MediaBasedTraceEntry>()
     .setType(TraceType.SCREEN_RECORDING)
     .setDescriptors(['recording 1'])
diff --git a/tools/winscope/src/viewers/viewer_protolog/presenter_test.ts b/tools/winscope/src/viewers/viewer_protolog/presenter_test.ts
index 8c2169e..38def5d 100644
--- a/tools/winscope/src/viewers/viewer_protolog/presenter_test.ts
+++ b/tools/winscope/src/viewers/viewer_protolog/presenter_test.ts
@@ -16,9 +16,12 @@
 
 import {assertDefined} from 'common/assert_utils';
 import {InMemoryStorage} from 'common/store/in_memory_storage';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {TracePositionUpdate} from 'messaging/winscope_event';
 import {HierarchyTreeBuilder} from 'test/unit/hierarchy_tree_builder';
+import {
+  makeRealTimestamp,
+  makeElapsedTimestamp,
+} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {makeEmptyTrace} from 'test/unit/trace_utils';
 import {ProtologColumnType} from 'trace/protolog/protolog_column_type';
@@ -84,12 +87,12 @@
   private positionUpdate: TracePositionUpdate | undefined;
 
   override async setUpTestEnvironment(): Promise<void> {
-    const time10 = TimestampConverterUtils.makeRealTimestamp(10n);
-    const time11 = TimestampConverterUtils.makeRealTimestamp(11n);
-    const time12 = TimestampConverterUtils.makeRealTimestamp(12n);
-    const elapsedTime10 = TimestampConverterUtils.makeElapsedTimestamp(10n);
-    const elapsedTime20 = TimestampConverterUtils.makeElapsedTimestamp(20n);
-    const elapsedTime30 = TimestampConverterUtils.makeElapsedTimestamp(30n);
+    const time10 = makeRealTimestamp(10n);
+    const time11 = makeRealTimestamp(11n);
+    const time12 = makeRealTimestamp(12n);
+    const elapsedTime10 = makeElapsedTimestamp(10n);
+    const elapsedTime20 = makeElapsedTimestamp(20n);
+    const elapsedTime30 = makeElapsedTimestamp(30n);
 
     const entries = [
       new HierarchyTreeBuilder()
diff --git a/tools/winscope/src/viewers/viewer_protolog/viewer_protolog_component_test.ts b/tools/winscope/src/viewers/viewer_protolog/viewer_protolog_component_test.ts
index 9af9ccb..77e1a08 100644
--- a/tools/winscope/src/viewers/viewer_protolog/viewer_protolog_component_test.ts
+++ b/tools/winscope/src/viewers/viewer_protolog/viewer_protolog_component_test.ts
@@ -15,9 +15,9 @@
  */
 
 import {CdkVirtualScrollViewport} from '@angular/cdk/scrolling';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {DOMTestHelper} from 'test/unit/dom_test_utils';
 import {HierarchyTreeBuilder} from 'test/unit/hierarchy_tree_builder';
+import {makeElapsedTimestamp} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {ProtologColumnType} from 'trace/protolog/protolog_column_type';
 import {HierarchyTreeNode} from 'tree_node/hierarchy_tree_node';
@@ -51,7 +51,7 @@
       .setId('Protolog')
       .setName('tree')
       .build();
-    const ts = TimestampConverterUtils.makeElapsedTimestamp(10n);
+    const ts = makeElapsedTimestamp(10n);
     const trace = new TraceBuilder<HierarchyTreeNode>()
       .setEntries([tree, tree])
       .setTimestamps([ts, ts])
diff --git a/tools/winscope/src/viewers/viewer_search/presenter_test.ts b/tools/winscope/src/viewers/viewer_search/presenter_test.ts
index cb69116..1db9e99 100644
--- a/tools/winscope/src/viewers/viewer_search/presenter_test.ts
+++ b/tools/winscope/src/viewers/viewer_search/presenter_test.ts
@@ -15,7 +15,6 @@
  */
 
 import {InMemoryStorage} from 'common/store/in_memory_storage';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {
   InitializeTraceSearchRequest,
   TraceAddRequest,
@@ -25,6 +24,7 @@
   TraceSearchInitialized,
   TraceSearchRequest,
 } from 'messaging/winscope_event';
+import {makeRealTimestamp, UTC_CONVERTER} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {makeEmptyTrace} from 'test/unit/trace_utils';
 import {UserNotifierChecker} from 'test/unit/user_notifier_checker';
@@ -61,7 +61,7 @@
       new Traces(),
       new InMemoryStorage(),
       (newData: UiData) => (uiData = newData),
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
+      UTC_CONVERTER,
     );
     userNotifierChecker.reset();
     element = document.createElement('div');
@@ -154,11 +154,11 @@
       new TraceSearchRequest(testQuery),
     );
 
-    const time100 = TimestampConverterUtils.makeRealTimestamp(100n);
+    const time100 = makeRealTimestamp(100n);
     const [spyQueryResult, spyIter] = makeSearchTraceSpies(time100, '123');
     spyIter.get.withArgs('property').and.returnValue('test_time_ns');
     const spyTimestamp = spyOn(
-      TimestampConverterUtils.TIMESTAMP_CONVERTER,
+      UTC_CONVERTER,
       'makeTimestampFromBootTimeNs',
     ).and.callThrough();
     const trace = new TraceBuilder<QueryResult>()
diff --git a/tools/winscope/src/viewers/viewer_search/search_result_presenter_test.ts b/tools/winscope/src/viewers/viewer_search/search_result_presenter_test.ts
index 959de95..f31dd47 100644
--- a/tools/winscope/src/viewers/viewer_search/search_result_presenter_test.ts
+++ b/tools/winscope/src/viewers/viewer_search/search_result_presenter_test.ts
@@ -15,8 +15,11 @@
  */
 
 import {assertDefined} from 'common/assert_utils';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {TracePositionUpdate} from 'messaging/winscope_event';
+import {
+  makeRealTimestamp,
+  makeZeroTimestamp,
+} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {makeEmptyTrace} from 'test/unit/trace_utils';
 import {Trace} from 'trace_api/trace';
@@ -61,7 +64,7 @@
   private spyIter: jasmine.SpyObj<RowIterator> | undefined;
 
   override async setUpTestEnvironment(): Promise<void> {
-    const time100 = TimestampConverterUtils.makeRealTimestamp(100n);
+    const time100 = makeRealTimestamp(100n);
     const [spyQueryResult, spyIter] = makeSearchTraceSpies(time100, 123);
     this.spyIter = spyIter;
     this.trace = new TraceBuilder<QueryResult>()
@@ -81,14 +84,14 @@
   override async createPresenterWithEmptyTrace(
     callback: NotifyLogViewCallbackType<SearchResult>,
   ): Promise<SearchResultPresenter> {
-    const time100 = TimestampConverterUtils.makeRealTimestamp(100n);
+    const time100 = makeRealTimestamp(100n);
     const [spyQueryResult, spyIter] = makeSearchTraceSpies(time100, 123);
     this.spyIter = spyIter;
     const trace = makeEmptyTrace(TraceType.SEARCH);
     return new SearchResultPresenter(
       trace,
       callback,
-      (valueNs: bigint) => TimestampConverterUtils.makeRealTimestamp(valueNs),
+      (valueNs: bigint) => makeRealTimestamp(valueNs),
       spyQueryResult,
     );
   }
@@ -101,7 +104,7 @@
     const presenter = new SearchResultPresenter(
       trace,
       callback,
-      (valueNs: bigint) => TimestampConverterUtils.makeRealTimestamp(valueNs),
+      (valueNs: bigint) => makeRealTimestamp(valueNs),
       await trace.getEntry(0).getValue(),
     );
     if (positionUpdate) {
@@ -126,7 +129,7 @@
           },
           {
             spec: this.expectedHeaders[1].header.spec,
-            value: TimestampConverterUtils.makeRealTimestamp(200n),
+            value: makeRealTimestamp(200n),
           },
           {spec: this.expectedHeaders[2].header.spec, value: 'test_property'},
           {spec: this.expectedHeaders[3].header.spec, value: 123},
@@ -141,7 +144,7 @@
       let result: SearchResult;
 
       it("does not convert 'ts' column value to timestamp if entry timestamp is not valid", async () => {
-        const time0 = TimestampConverterUtils.makeZeroTimestamp();
+        const time0 = makeZeroTimestamp();
         const [spyQueryResult, _] = makeSearchTraceSpies(time0);
         const trace = new TraceBuilder<QueryResult>()
           .setEntries([spyQueryResult])
@@ -180,7 +183,7 @@
           await presenter.onAppEvent(assertDefined(this.getPositionUpdate()));
           expect(result.entries[0].fields[2].value).toBe('test_time_ns');
           expect(result.entries[0].fields[3].value).toEqual(
-            TimestampConverterUtils.makeRealTimestamp(123n),
+            makeRealTimestamp(123n),
           );
         });
 
diff --git a/tools/winscope/src/viewers/viewer_transactions/viewer_transactions_component_test.ts b/tools/winscope/src/viewers/viewer_transactions/viewer_transactions_component_test.ts
index afef793..e3bffee 100644
--- a/tools/winscope/src/viewers/viewer_transactions/viewer_transactions_component_test.ts
+++ b/tools/winscope/src/viewers/viewer_transactions/viewer_transactions_component_test.ts
@@ -15,10 +15,10 @@
  */
 
 import {CdkVirtualScrollViewport} from '@angular/cdk/scrolling';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {DOMTestHelper} from 'test/unit/dom_test_utils';
 import {HierarchyTreeBuilder} from 'test/unit/hierarchy_tree_builder';
 import {PropertyTreeBuilder} from 'test/unit/property_tree_builder';
+import {makeElapsedTimestamp} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {TransactionColumnType} from 'trace/transactions/transaction_column_type';
 import {TraceType} from 'trace_api/trace_type';
@@ -65,7 +65,7 @@
       .setValue(null)
       .build();
 
-    const ts = TimestampConverterUtils.makeElapsedTimestamp(1n);
+    const ts = makeElapsedTimestamp(1n);
 
     const trace = new TraceBuilder<HierarchyTreeNode>()
       .setEntries([hierarchyTree, hierarchyTree])
@@ -113,7 +113,7 @@
       .setValue(null)
       .build();
 
-    const ts = TimestampConverterUtils.makeElapsedTimestamp(1n);
+    const ts = makeElapsedTimestamp(1n);
 
     const trace = new TraceBuilder<HierarchyTreeNode>()
       .setType(TraceType.TRANSACTIONS)
diff --git a/tools/winscope/src/viewers/viewer_transitions/presenter_test.ts b/tools/winscope/src/viewers/viewer_transitions/presenter_test.ts
index 155dbd2..11dabda 100644
--- a/tools/winscope/src/viewers/viewer_transitions/presenter_test.ts
+++ b/tools/winscope/src/viewers/viewer_transitions/presenter_test.ts
@@ -16,11 +16,11 @@
 
 import {assertDefined} from 'common/assert_utils';
 import {InMemoryStorage} from 'common/store/in_memory_storage';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {wait} from 'common/time/time_utils';
 import {TracePositionUpdate} from 'messaging/winscope_event';
 import {getPerfettoParser} from 'test/unit/fixture_utils';
 import {ParserBuilder} from 'test/unit/parser_builder';
+import {makeRealTimestamp} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {TracesBuilder} from 'test/unit/traces_builder';
 import {Trace} from 'trace_api/trace';
@@ -198,7 +198,7 @@
   override executeSpecializedTests() {
     describe('Specialized tests', () => {
       it('robust to corrupted transitions trace', async () => {
-        const timestamp10 = TimestampConverterUtils.makeRealTimestamp(10n);
+        const timestamp10 = makeRealTimestamp(10n);
         const trace = new TraceBuilder<HierarchyTreeNode | undefined>()
           .setType(TraceType.TRANSITION)
           .setParser(
diff --git a/tools/winscope/src/viewers/viewer_transitions/viewer_transitions_component_test.ts b/tools/winscope/src/viewers/viewer_transitions/viewer_transitions_component_test.ts
index 26b06d6..c071f3d 100644
--- a/tools/winscope/src/viewers/viewer_transitions/viewer_transitions_component_test.ts
+++ b/tools/winscope/src/viewers/viewer_transitions/viewer_transitions_component_test.ts
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 import {CdkVirtualScrollViewport} from '@angular/cdk/scrolling';
-import {TimestampConverterUtils} from 'common/time/time_test_helpers';
 import {DOMTestHelper} from 'test/unit/dom_test_utils';
 import {HierarchyTreeBuilder} from 'test/unit/hierarchy_tree_builder';
 import {PropertyTreeBuilder} from 'test/unit/property_tree_builder';
+import {makeElapsedTimestamp} from 'test/unit/time_test_helpers';
 import {TraceBuilder} from 'test/unit/trace_builder';
 import {TraceEntry} from 'trace_api/trace';
 import {TraceType} from 'trace_api/trace_type';
@@ -64,7 +64,7 @@
     const trace = new TraceBuilder<HierarchyTreeNode>()
       .setType(TraceType.TRANSITION)
       .setEntries([this.transitionTree])
-      .setTimestamps([TimestampConverterUtils.makeElapsedTimestamp(20n)])
+      .setTimestamps([makeElapsedTimestamp(20n)])
       .build();
     const entry = trace.getEntry(0);