Cleanup way of adding debug track from PinAndroidMetrics plugin
As we're using onTraceReady (after aosp/3197353), we don't need the "static"/"debug" distinction anymore.
+ Use custom name with random id for a temporary table. This fixes the case of multiple metrics added (as they were added later, and subsequent metrics were overriding the previous table)
Bug: 354119654
Bug: 351998803
Change-Id: I2779a56ef16d68c42906c81a014bb854410c9cf4
diff --git a/ui/src/plugins/dev.perfetto.PinAndroidPerfMetrics/handlers/fullTraceJankMetricHandler.ts b/ui/src/plugins/dev.perfetto.PinAndroidPerfMetrics/handlers/fullTraceJankMetricHandler.ts
index afe75a9..6e76fd1 100644
--- a/ui/src/plugins/dev.perfetto.PinAndroidPerfMetrics/handlers/fullTraceJankMetricHandler.ts
+++ b/ui/src/plugins/dev.perfetto.PinAndroidPerfMetrics/handlers/fullTraceJankMetricHandler.ts
@@ -19,12 +19,8 @@
MetricHandler,
} from './metricUtils';
import {PluginContextTrace} from '../../../public';
-import {
- addAndPinSliceTrack,
- TrackType,
-} from '../../dev.perfetto.AndroidCujs/trackUtils';
+import {addAndPinSliceTrack} from '../../dev.perfetto.AndroidCujs/trackUtils';
import {SimpleSliceTrackConfig} from '../../../frontend/simple_slice_track';
-import {PLUGIN_ID} from '../pluginId';
class FullTraceJankMetricHandler implements MetricHandler {
/**
@@ -49,29 +45,23 @@
/**
* Adds the debug track for full trace jank metrics
- * The track contains missed sf/app frames for the process
- * registerStaticTrack used when plugin adds tracks onTraceload()
- * addDebugSliceTrack used for adding tracks using the command
*
* @param {FullTraceMetricData} metricData Parsed metric data for the full trace jank
* @param {PluginContextTrace} ctx PluginContextTrace for trace related properties and methods
- * @param {TrackType} type 'static' for onTraceload and 'debug' for command
* @returns {void} Adds one track for Jank slice
*/
public async addMetricTrack(
metricData: FullTraceMetricData,
ctx: PluginContextTrace,
- type: TrackType,
) {
const INCLUDE_PREQUERY = `
INCLUDE PERFETTO MODULE android.frames.jank_type;
INCLUDE PERFETTO MODULE slices.slices;
`;
- const uri = `${PLUGIN_ID}#FullTraceJank#${metricData}`;
const {config: fullTraceJankConfig, trackName: trackName} =
this.fullTraceJankConfig(metricData);
await ctx.engine.query(INCLUDE_PREQUERY);
- addAndPinSliceTrack(ctx, fullTraceJankConfig, trackName, type, uri);
+ addAndPinSliceTrack(ctx, fullTraceJankConfig, trackName);
}
private fullTraceJankConfig(metricData: FullTraceMetricData): {