Merge "ui: Export dataset from CPU slice tracks" into main
diff --git a/ui/src/plugins/dev.perfetto.CpuSlices/cpu_slice_track.ts b/ui/src/plugins/dev.perfetto.CpuSlices/cpu_slice_track.ts
index 2c5b456..95e35b5 100644
--- a/ui/src/plugins/dev.perfetto.CpuSlices/cpu_slice_track.ts
+++ b/ui/src/plugins/dev.perfetto.CpuSlices/cpu_slice_track.ts
@@ -42,6 +42,7 @@
import {Trace} from '../../public/trace';
import {exists} from '../../base/utils';
import {ThreadMap} from '../dev.perfetto.Thread/threads';
+import {Dataset, SourceDataset} from '../../trace_processor/dataset';
export interface Data extends TrackData {
// Slices are stored in a columnar fashion. All fields have the same length.
@@ -96,6 +97,21 @@
this.lastRowId = it.firstRow({lastRowId: NUM}).lastRowId;
}
+ getDataset(): Dataset | undefined {
+ return new SourceDataset({
+ src: 'select id, ts, dur, cpu from sched where utid != 0',
+ schema: {
+ id: NUM,
+ ts: LONG,
+ dur: LONG,
+ },
+ filter: {
+ col: 'cpu',
+ eq: this.cpu,
+ },
+ });
+ }
+
async onUpdate({
visibleWindow,
resolution,