Skip to content

Commit cfcd2dc

Browse files
authored
Merge pull request #15 from PerfLab-io/export-trace
Add event listener to export trace data using TimelinePanel.saveFile
2 parents afd326c + 18ed1df commit cfcd2dc

File tree

2 files changed

+30
-17
lines changed

2 files changed

+30
-17
lines changed

front_end/entrypoints/main/MainImpl.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -769,6 +769,7 @@ export class MainImpl {
769769
// this.#container.addEventListener('contextmenu', this.#contextMenuEventFired.bind(this), true);
770770
this.#container.addEventListener(Timeline.TimelinePanel.Events.OpenTraceFile, Timeline.TimelinePanel.TimelinePanel.instance().selectFileToLoad.bind(Timeline.TimelinePanel.TimelinePanel.instance()));
771771
this.#container.addEventListener(Timeline.TimelinePanel.Events.LoadRawTraceData, Timeline.TimelinePanel.TimelinePanel.instance().getRawTraceData.bind(Timeline.TimelinePanel.TimelinePanel.instance()));
772+
this.#container.addEventListener(Timeline.TimelinePanel.Events.ExportTrace, Timeline.TimelinePanel.TimelinePanel.instance().exportTrace.bind(Timeline.TimelinePanel.TimelinePanel.instance()));
772773
// @ts-ignore
773774
this.#container.addEventListener(Timeline.TimelinePanel.Events.LoadTraceFile, Timeline.TimelinePanel.TimelinePanel.instance().loadTraceFile.bind(Timeline.TimelinePanel.TimelinePanel.instance()));
774775
}

front_end/panels/timeline/TimelinePanel.ts

Lines changed: 29 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1076,7 +1076,11 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
10761076
}
10771077
}
10781078

1079-
async saveToFile(isEnhancedTraces: boolean = false, addModifications: boolean = false): Promise<void> {
1079+
async exportTrace(): Promise<void> {
1080+
void this.saveToFile();
1081+
}
1082+
1083+
async saveToFile(isEnhancedTraces: boolean = false, addModifications: boolean = true): Promise<void> {
10801084
if (this.state !== State.IDLE) {
10811085
return;
10821086
}
@@ -2251,13 +2255,7 @@ export const enum Events {
22512255
RawTraceDataLoaded = 'rawtracedataloaded',
22522256
LoadTraceFile = 'loadtracefile',
22532257
TraceLoadingStarted = 'traceloadingstarted',
2254-
}
2255-
2256-
export class OpenTraceFileEvent extends CustomEvent<Events.OpenTraceFile> {
2257-
static readonly eventName = Events.OpenTraceFile;
2258-
constructor() {
2259-
super(Events.OpenTraceFile);
2260-
}
2258+
ExportTrace = 'exporttrace',
22612259
}
22622260

22632261
export type EventTypes = {
@@ -2269,6 +2267,20 @@ export type EventTypes = {
22692267
},
22702268
};
22712269

2270+
export class OpenTraceFileEvent extends CustomEvent<Events.OpenTraceFile> {
2271+
static readonly eventName = Events.OpenTraceFile;
2272+
constructor() {
2273+
super(Events.OpenTraceFile);
2274+
}
2275+
}
2276+
2277+
export class ExportTraceEvent extends CustomEvent<Events.ExportTrace> {
2278+
static readonly eventName = Events.ExportTrace;
2279+
constructor() {
2280+
super(Events.ExportTrace);
2281+
}
2282+
}
2283+
22722284
export class LoadTraceFileEvent extends CustomEvent<EventTypes[Events.LoadTraceFile]> {
22732285
static readonly eventName = Events.LoadTraceFile;
22742286
constructor(options: EventTypes[Events.LoadTraceFile]) {
@@ -2510,15 +2522,15 @@ export class ActionDelegate implements UI.ActionRegistration.ActionDelegate {
25102522
case 'timeline.jump-to-next-frame':
25112523
panel.jumpToFrame(1);
25122524
return true;
2513-
case 'timeline.show-history':
2514-
void panel.showHistoryDropdown();
2515-
return true;
2516-
case 'timeline.previous-recording':
2517-
panel.navigateHistory(1);
2518-
return true;
2519-
case 'timeline.next-recording':
2520-
panel.navigateHistory(-1);
2521-
return true;
2525+
// case 'timeline.show-history':
2526+
// void panel.showHistoryDropdown();
2527+
// return true;
2528+
// case 'timeline.previous-recording':
2529+
// panel.navigateHistory(1);
2530+
// return true;
2531+
// case 'timeline.next-recording':
2532+
// panel.navigateHistory(-1);
2533+
// return true;
25222534
}
25232535
return false;
25242536
}

0 commit comments

Comments
 (0)