Rename TraceData -> TracePipeline
Bug: b/256564627
Test: npm run build:all && npm run test:all
Change-Id: Ic92ad03701f7a9ead1edc73bfbfd4ffbf44bc408
diff --git a/tools/winscope/src/app/components/app_component.ts b/tools/winscope/src/app/components/app_component.ts
index 9600a79..a4c971a 100644
--- a/tools/winscope/src/app/components/app_component.ts
+++ b/tools/winscope/src/app/components/app_component.ts
@@ -26,8 +26,8 @@
import {AbtChromeExtensionProtocol} from 'abt_chrome_extension/abt_chrome_extension_protocol';
import {Mediator} from 'app/mediator';
import {TimelineData} from 'app/timeline_data';
-import {TraceData} from 'app/trace_data';
import {TRACE_INFO} from 'app/trace_info';
+import {TracePipeline} from 'app/trace_pipeline';
import {FileUtils} from 'common/file_utils';
import {PersistentStore} from 'common/persistent_store';
import {CrossToolProtocol} from 'cross_tool/cross_tool_protocol';
@@ -122,13 +122,13 @@
<div class="card-grid landing-grid">
<collect-traces
class="collect-traces-card homepage-card"
- [traceData]="traceData"
+ [tracePipeline]="tracePipeline"
(traceDataLoaded)="mediator.onWinscopeTraceDataLoaded()"
[store]="store"></collect-traces>
<upload-traces
class="upload-traces-card homepage-card"
- [traceData]="traceData"
+ [tracePipeline]="tracePipeline"
(traceDataLoaded)="mediator.onWinscopeTraceDataLoaded()"></upload-traces>
</div>
</div>
@@ -186,12 +186,12 @@
export class AppComponent implements TraceDataListener {
title = 'winscope';
changeDetectorRef: ChangeDetectorRef;
- traceData = new TraceData();
+ tracePipeline = new TracePipeline();
timelineData = new TimelineData();
abtChromeExtensionProtocol = new AbtChromeExtensionProtocol();
crossToolProtocol = new CrossToolProtocol();
mediator = new Mediator(
- this.traceData,
+ this.tracePipeline,
this.timelineData,
this.abtChromeExtensionProtocol,
this.crossToolProtocol,
@@ -273,7 +273,7 @@
}
getLoadedTraceTypes(): TraceType[] {
- return this.traceData.getLoadedTraces().map((trace) => trace.type);
+ return this.tracePipeline.getLoadedTraces().map((trace) => trace.type);
}
getVideoData(): Blob | undefined {
@@ -324,7 +324,7 @@
}
private makeActiveTraceFileInfo(view: View): string {
- const traceFile = this.traceData
+ const traceFile = this.tracePipeline
.getLoadedTraces()
.find((trace) => trace.type === view.dependencies[0])?.traceFile;
@@ -340,7 +340,7 @@
}
private async makeTraceFilesForDownload(): Promise<File[]> {
- return this.traceData.getLoadedTraces().map((trace) => {
+ return this.tracePipeline.getLoadedTraces().map((trace) => {
const traceType = TRACE_INFO[trace.type].name;
const newName = traceType + '/' + FileUtils.removeDirFromFileName(trace.traceFile.file.name);
return new File([trace.traceFile.file], newName);
diff --git a/tools/winscope/src/app/components/collect_traces_component.ts b/tools/winscope/src/app/components/collect_traces_component.ts
index 03d12ac..521515a 100644
--- a/tools/winscope/src/app/components/collect_traces_component.ts
+++ b/tools/winscope/src/app/components/collect_traces_component.ts
@@ -27,7 +27,7 @@
ViewEncapsulation,
} from '@angular/core';
import {MatSnackBar} from '@angular/material/snack-bar';
-import {TraceData} from 'app/trace_data';
+import {TracePipeline} from 'app/trace_pipeline';
import {PersistentStore} from 'common/persistent_store';
import {TraceFile} from 'trace/trace';
import {Connection} from 'trace_collection/connection';
@@ -359,7 +359,7 @@
loadProgress = 0;
@Input() store!: PersistentStore;
- @Input() traceData!: TraceData;
+ @Input() tracePipeline!: TracePipeline;
@Output() traceDataLoaded = new EventEmitter<void>();
@@ -437,7 +437,7 @@
if (dumpSuccessful) {
await this.loadFiles();
} else {
- this.traceData.clear();
+ this.tracePipeline.clear();
}
}
@@ -516,9 +516,9 @@
private async loadFiles() {
console.log('loading files', this.connect.adbData());
- this.traceData.clear();
+ this.tracePipeline.clear();
const traceFiles = this.connect.adbData().map((file) => new TraceFile(file));
- const parserErrors = await this.traceData.loadTraces(traceFiles);
+ const parserErrors = await this.tracePipeline.loadTraces(traceFiles);
ParserErrorSnackBarComponent.showIfNeeded(this.ngZone, this.snackBar, parserErrors);
this.traceDataLoaded.emit();
console.log('finished loading data!');
diff --git a/tools/winscope/src/app/components/upload_traces_component.ts b/tools/winscope/src/app/components/upload_traces_component.ts
index 8f9d3e4..8993667 100644
--- a/tools/winscope/src/app/components/upload_traces_component.ts
+++ b/tools/winscope/src/app/components/upload_traces_component.ts
@@ -23,8 +23,8 @@
Output,
} from '@angular/core';
import {MatSnackBar} from '@angular/material/snack-bar';
-import {TraceData} from 'app/trace_data';
import {TRACE_INFO} from 'app/trace_info';
+import {TracePipeline} from 'app/trace_pipeline';
import {FileUtils, OnFile} from 'common/file_utils';
import {FilesDownloadListener} from 'interfaces/files_download_listener';
import {Trace, TraceFile} from 'trace/trace';
@@ -58,9 +58,9 @@
</load-progress>
<mat-list
- *ngIf="!isLoadingFiles && this.traceData.getLoadedTraces().length > 0"
+ *ngIf="!isLoadingFiles && this.tracePipeline.getLoadedTraces().length > 0"
class="uploaded-files">
- <mat-list-item *ngFor="let trace of this.traceData.getLoadedTraces()">
+ <mat-list-item *ngFor="let trace of this.tracePipeline.getLoadedTraces()">
<mat-icon matListIcon>
{{ TRACE_INFO[trace.type].icon }}
</mat-icon>
@@ -73,7 +73,9 @@
</mat-list-item>
</mat-list>
- <div *ngIf="!isLoadingFiles && traceData.getLoadedTraces().length === 0" class="drop-info">
+ <div
+ *ngIf="!isLoadingFiles && tracePipeline.getLoadedTraces().length === 0"
+ class="drop-info">
<p class="mat-body-3 icon">
<mat-icon inline fontIcon="upload"></mat-icon>
</p>
@@ -82,7 +84,7 @@
</mat-card-content>
<div
- *ngIf="!isLoadingFiles && traceData.getLoadedTraces().length > 0"
+ *ngIf="!isLoadingFiles && tracePipeline.getLoadedTraces().length > 0"
class="trace-actions-container">
<button
color="primary"
@@ -173,7 +175,7 @@
progressMessage = '';
progressPercentage?: number;
- @Input() traceData!: TraceData;
+ @Input() tracePipeline!: TracePipeline;
@Output() traceDataLoaded = new EventEmitter<void>();
constructor(
@@ -183,7 +185,7 @@
) {}
ngOnInit() {
- this.traceData.clear();
+ this.tracePipeline.clear();
}
onFilesDownloadStart() {
@@ -207,7 +209,7 @@
}
onClearButtonClick() {
- this.traceData.clear();
+ this.tracePipeline.clear();
this.changeDetectorRef.detectChanges();
}
@@ -232,7 +234,7 @@
onRemoveTrace(event: MouseEvent, trace: Trace) {
event.preventDefault();
event.stopPropagation();
- this.traceData.removeTrace(trace.type);
+ this.tracePipeline.removeTrace(trace.type);
this.changeDetectorRef.detectChanges();
}
@@ -265,7 +267,7 @@
this.progressMessage = 'Parsing files...';
this.changeDetectorRef.detectChanges();
- const parserErrors = await this.traceData.loadTraces(traceFiles, onProgressUpdate);
+ const parserErrors = await this.tracePipeline.loadTraces(traceFiles, onProgressUpdate);
this.isLoadingFiles = false;
this.changeDetectorRef.detectChanges();
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 8da11ba..e2d79ad 100644
--- a/tools/winscope/src/app/components/upload_traces_component_test.ts
+++ b/tools/winscope/src/app/components/upload_traces_component_test.ts
@@ -16,7 +16,7 @@
import {ComponentFixture, TestBed} from '@angular/core/testing';
import {MatCardModule} from '@angular/material/card';
import {MatSnackBar, MatSnackBarModule} from '@angular/material/snack-bar';
-import {TraceData} from 'app/trace_data';
+import {TracePipeline} from 'app/trace_pipeline';
import {UploadTracesComponent} from './upload_traces_component';
describe('UploadTracesComponent', () => {
@@ -36,8 +36,8 @@
fixture = TestBed.createComponent(UploadTracesComponent);
component = fixture.componentInstance;
htmlElement = fixture.nativeElement;
- const traceData = new TraceData();
- component.traceData = traceData;
+ const tracePipeline = new TracePipeline();
+ component.tracePipeline = tracePipeline;
});
it('can be created', () => {
diff --git a/tools/winscope/src/app/mediator.ts b/tools/winscope/src/app/mediator.ts
index 028f910..8964abf 100644
--- a/tools/winscope/src/app/mediator.ts
+++ b/tools/winscope/src/app/mediator.ts
@@ -27,7 +27,7 @@
import {Viewer} from 'viewers/viewer';
import {ViewerFactory} from 'viewers/viewer_factory';
import {TimelineData} from './timeline_data';
-import {TraceData} from './trace_data';
+import {TracePipeline} from './trace_pipeline';
export type CrossToolProtocolDependencyInversion = RemoteBugreportReceiver &
RemoteTimestampReceiver &
@@ -46,7 +46,7 @@
private appComponent: AppComponentDependencyInversion;
private storage: Storage;
- private traceData: TraceData;
+ private tracePipeline: TracePipeline;
private timelineData: TimelineData;
private viewers: Viewer[] = [];
private isChangingCurrentTimestamp = false;
@@ -54,14 +54,14 @@
private lastRemoteToolTimestampReceived: Timestamp | undefined;
constructor(
- traceData: TraceData,
+ tracePipeline: TracePipeline,
timelineData: TimelineData,
abtChromeExtensionProtocol: AbtChromeExtensionProtocolDependencyInversion,
crossToolProtocol: CrossToolProtocolDependencyInversion,
appComponent: AppComponentDependencyInversion,
storage: Storage
) {
- this.traceData = traceData;
+ this.tracePipeline = tracePipeline;
this.timelineData = timelineData;
this.abtChromeExtensionProtocol = abtChromeExtensionProtocol;
this.crossToolProtocol = crossToolProtocol;
@@ -117,7 +117,7 @@
onWinscopeCurrentTimestampChanged(timestamp: Timestamp | undefined) {
this.executeIgnoringRecursiveTimestampNotifications(() => {
- const entries = this.traceData.getTraceEntries(timestamp);
+ const entries = this.tracePipeline.getTraceEntries(timestamp);
this.viewers.forEach((viewer) => {
viewer.notifyCurrentTraceEntries(entries);
});
@@ -175,7 +175,7 @@
return; // no timestamp change
}
- const entries = this.traceData.getTraceEntries(timestamp);
+ const entries = this.tracePipeline.getTraceEntries(timestamp);
this.viewers.forEach((viewer) => {
viewer.notifyCurrentTraceEntries(entries);
});
@@ -192,8 +192,8 @@
private processTraceData() {
this.timelineData.initialize(
- this.traceData.getTimelines(),
- this.traceData.getScreenRecordingVideo()
+ this.tracePipeline.getTimelines(),
+ this.tracePipeline.getScreenRecordingVideo()
);
this.createViewers();
this.appComponent.onTraceDataLoaded(this.viewers);
@@ -205,7 +205,7 @@
}
private createViewers() {
- const traceTypes = this.traceData.getLoadedTraces().map((trace) => trace.type);
+ const traceTypes = this.tracePipeline.getLoadedTraces().map((trace) => trace.type);
this.viewers = new ViewerFactory().createViewers(new Set<TraceType>(traceTypes), this.storage);
// Make sure to update the viewers active entries as soon as they are created.
@@ -227,7 +227,7 @@
}
private resetAppToInitialState() {
- this.traceData.clear();
+ this.tracePipeline.clear();
this.timelineData.clear();
this.viewers = [];
this.isTraceDataVisualized = false;
diff --git a/tools/winscope/src/app/mediator_test.ts b/tools/winscope/src/app/mediator_test.ts
index 9d0335f..28730bc 100644
--- a/tools/winscope/src/app/mediator_test.ts
+++ b/tools/winscope/src/app/mediator_test.ts
@@ -27,11 +27,11 @@
import {UploadTracesComponentStub} from './components/upload_traces_component_stub';
import {Mediator} from './mediator';
import {TimelineData} from './timeline_data';
-import {TraceData} from './trace_data';
+import {TracePipeline} from './trace_pipeline';
describe('Mediator', () => {
const viewerStub = new ViewerStub('Title');
- let traceData: TraceData;
+ let tracePipeline: TracePipeline;
let timelineData: TimelineData;
let abtChromeExtensionProtocol: AbtChromeExtensionProtocolStub;
let crossToolProtocol: CrossToolProtocolStub;
@@ -45,7 +45,7 @@
beforeEach(async () => {
timelineComponent = new TimelineComponentStub();
- traceData = new TraceData();
+ tracePipeline = new TracePipeline();
timelineData = new TimelineData();
abtChromeExtensionProtocol = new AbtChromeExtensionProtocolStub();
crossToolProtocol = new CrossToolProtocolStub();
@@ -53,7 +53,7 @@
timelineComponent = new TimelineComponentStub();
uploadTracesComponent = new UploadTracesComponentStub();
mediator = new Mediator(
- traceData,
+ tracePipeline,
timelineData,
abtChromeExtensionProtocol,
crossToolProtocol,
@@ -208,7 +208,7 @@
)
),
];
- const errors = await traceData.loadTraces(traces);
+ const errors = await tracePipeline.loadTraces(traces);
expect(errors).toEqual([]);
};
});
diff --git a/tools/winscope/src/app/timeline_data.ts b/tools/winscope/src/app/timeline_data.ts
index 574f89e..694c8af 100644
--- a/tools/winscope/src/app/timeline_data.ts
+++ b/tools/winscope/src/app/timeline_data.ts
@@ -20,7 +20,7 @@
import {ScreenRecordingUtils} from 'trace/screen_recording_utils';
import {Timestamp, TimestampType} from 'trace/timestamp';
import {TraceType} from 'trace/trace_type';
-import {Timeline} from './trace_data';
+import {Timeline} from './trace_pipeline';
export type TimestampCallbackType = (timestamp: Timestamp | undefined) => void;
export interface TimeRange {
diff --git a/tools/winscope/src/app/timeline_data_test.ts b/tools/winscope/src/app/timeline_data_test.ts
index 9d96ca5..362bf1e 100644
--- a/tools/winscope/src/app/timeline_data_test.ts
+++ b/tools/winscope/src/app/timeline_data_test.ts
@@ -17,7 +17,7 @@
import {Timestamp, TimestampType} from 'trace/timestamp';
import {TraceType} from 'trace/trace_type';
import {TimelineData} from './timeline_data';
-import {Timeline} from './trace_data';
+import {Timeline} from './trace_pipeline';
class TimestampChangedObserver {
onCurrentTimestampChanged(timestamp: Timestamp | undefined) {
diff --git a/tools/winscope/src/app/trace_data.ts b/tools/winscope/src/app/trace_pipeline.ts
similarity index 98%
rename from tools/winscope/src/app/trace_data.ts
rename to tools/winscope/src/app/trace_pipeline.ts
index 0e89f05..27500a5 100644
--- a/tools/winscope/src/app/trace_data.ts
+++ b/tools/winscope/src/app/trace_pipeline.ts
@@ -28,7 +28,7 @@
timestamps: Timestamp[];
}
-class TraceData {
+class TracePipeline {
private parserFactory = new ParserFactory();
private parsers: Parser[] = [];
private commonTimestampType?: TimestampType;
@@ -137,4 +137,4 @@
}
}
-export {Timeline, TraceData};
+export {Timeline, TracePipeline};
diff --git a/tools/winscope/src/app/trace_data_test.ts b/tools/winscope/src/app/trace_pipeline_test.ts
similarity index 68%
rename from tools/winscope/src/app/trace_data_test.ts
rename to tools/winscope/src/app/trace_pipeline_test.ts
index cb4a462..daddbf8 100644
--- a/tools/winscope/src/app/trace_data_test.ts
+++ b/tools/winscope/src/app/trace_pipeline_test.ts
@@ -17,19 +17,19 @@
import {Timestamp, TimestampType} from 'trace/timestamp';
import {TraceFile} from 'trace/trace';
import {TraceType} from 'trace/trace_type';
-import {TraceData} from './trace_data';
+import {TracePipeline} from './trace_pipeline';
-describe('TraceData', () => {
- let traceData: TraceData;
+describe('TracePipeline', () => {
+ let tracePipeline: TracePipeline;
beforeEach(async () => {
- traceData = new TraceData();
+ tracePipeline = new TracePipeline();
});
it('can load valid trace files', async () => {
- expect(traceData.getLoadedTraces().length).toEqual(0);
+ expect(tracePipeline.getLoadedTraces().length).toEqual(0);
await loadValidSfWmTraces();
- expect(traceData.getLoadedTraces().length).toEqual(2);
+ expect(tracePipeline.getLoadedTraces().length).toEqual(2);
});
it('is robust to invalid trace files', async () => {
@@ -37,19 +37,19 @@
new TraceFile(await UnitTestUtils.getFixtureFile('winscope_homepage.png')),
];
- const errors = await traceData.loadTraces(invalidTraceFiles);
+ const errors = await tracePipeline.loadTraces(invalidTraceFiles);
expect(errors.length).toEqual(1);
- expect(traceData.getLoadedTraces().length).toEqual(0);
+ expect(tracePipeline.getLoadedTraces().length).toEqual(0);
});
it('is robust to mixed valid and invalid trace files', async () => {
- expect(traceData.getLoadedTraces().length).toEqual(0);
+ expect(tracePipeline.getLoadedTraces().length).toEqual(0);
const traces = [
new TraceFile(await UnitTestUtils.getFixtureFile('winscope_homepage.png')),
new TraceFile(await UnitTestUtils.getFixtureFile('traces/dump_WindowManager.pb')),
];
- const errors = await traceData.loadTraces(traces);
- expect(traceData.getLoadedTraces().length).toEqual(1);
+ const errors = await tracePipeline.loadTraces(traces);
+ expect(tracePipeline.getLoadedTraces().length).toEqual(1);
expect(errors.length).toEqual(1);
});
@@ -58,32 +58,32 @@
new TraceFile(await UnitTestUtils.getFixtureFile('traces/no_entries_InputMethodClients.pb')),
];
- const errors = await traceData.loadTraces(traceFilesWithNoEntries);
+ const errors = await tracePipeline.loadTraces(traceFilesWithNoEntries);
expect(errors.length).toEqual(0);
- expect(traceData.getLoadedTraces().length).toEqual(1);
+ expect(tracePipeline.getLoadedTraces().length).toEqual(1);
- const timelines = traceData.getTimelines();
+ const timelines = tracePipeline.getTimelines();
expect(timelines.length).toEqual(1);
expect(timelines[0].timestamps).toEqual([]);
});
it('can remove traces', async () => {
await loadValidSfWmTraces();
- expect(traceData.getLoadedTraces().length).toEqual(2);
+ expect(tracePipeline.getLoadedTraces().length).toEqual(2);
- traceData.removeTrace(TraceType.SURFACE_FLINGER);
- expect(traceData.getLoadedTraces().length).toEqual(1);
+ tracePipeline.removeTrace(TraceType.SURFACE_FLINGER);
+ expect(tracePipeline.getLoadedTraces().length).toEqual(1);
- traceData.removeTrace(TraceType.WINDOW_MANAGER);
- expect(traceData.getLoadedTraces().length).toEqual(0);
+ tracePipeline.removeTrace(TraceType.WINDOW_MANAGER);
+ expect(tracePipeline.getLoadedTraces().length).toEqual(0);
});
it('gets loaded traces', async () => {
await loadValidSfWmTraces();
- const traces = traceData.getLoadedTraces();
+ const traces = tracePipeline.getLoadedTraces();
expect(traces.length).toEqual(2);
expect(traces[0].traceFile.file).toBeTruthy();
@@ -102,16 +102,16 @@
),
];
- const errors = await traceData.loadTraces(traceFiles);
+ const errors = await tracePipeline.loadTraces(traceFiles);
expect(errors.length).toEqual(0);
{
- const entries = traceData.getTraceEntries(undefined);
+ const entries = tracePipeline.getTraceEntries(undefined);
expect(entries.size).toEqual(0);
}
{
const timestamp = new Timestamp(TimestampType.REAL, 0n);
- const entries = traceData.getTraceEntries(timestamp);
+ const entries = tracePipeline.getTraceEntries(timestamp);
expect(entries.size).toEqual(0);
}
{
@@ -119,7 +119,7 @@
TimestampType.REAL,
200n * 365n * 24n * 60n * 3600n * 1000000000n
);
- const entries = traceData.getTraceEntries(twoHundredYearsTimestamp);
+ const entries = tracePipeline.getTraceEntries(twoHundredYearsTimestamp);
expect(entries.size).toEqual(2);
}
});
@@ -127,7 +127,7 @@
it('gets timelines', async () => {
await loadValidSfWmTraces();
- const timelines = traceData.getTimelines();
+ const timelines = tracePipeline.getTimelines();
const actualTraceTypes = new Set(timelines.map((timeline) => timeline.traceType));
const expectedTraceTypes = new Set([TraceType.SURFACE_FLINGER, TraceType.WINDOW_MANAGER]);
@@ -139,7 +139,7 @@
});
it('gets screenrecording data', async () => {
- expect(traceData.getScreenRecordingVideo()).toBeUndefined();
+ expect(tracePipeline.getScreenRecordingVideo()).toBeUndefined();
const traceFiles = [
new TraceFile(
@@ -148,21 +148,21 @@
)
),
];
- await traceData.loadTraces(traceFiles);
+ await tracePipeline.loadTraces(traceFiles);
- const video = traceData.getScreenRecordingVideo();
+ const video = tracePipeline.getScreenRecordingVideo();
expect(video).toBeDefined();
expect(video!.size).toBeGreaterThan(0);
});
it('can be cleared', async () => {
await loadValidSfWmTraces();
- expect(traceData.getLoadedTraces().length).toBeGreaterThan(0);
- expect(traceData.getTimelines().length).toBeGreaterThan(0);
+ expect(tracePipeline.getLoadedTraces().length).toBeGreaterThan(0);
+ expect(tracePipeline.getTimelines().length).toBeGreaterThan(0);
- traceData.clear();
- expect(traceData.getLoadedTraces().length).toEqual(0);
- expect(traceData.getTimelines().length).toEqual(0);
+ tracePipeline.clear();
+ expect(tracePipeline.getLoadedTraces().length).toEqual(0);
+ expect(tracePipeline.getTimelines().length).toEqual(0);
});
const loadValidSfWmTraces = async () => {
@@ -175,7 +175,7 @@
),
];
- const errors = await traceData.loadTraces(traceFiles);
+ const errors = await tracePipeline.loadTraces(traceFiles);
expect(errors.length).toEqual(0);
};
});