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,