Skip to content

Commit

Permalink
Merge "Guard different types of modem tracks separately." into main
Browse files Browse the repository at this point in the history
  • Loading branch information
Simon MacMullen authored and Gerrit Code Review committed Oct 4, 2024
2 parents e5a4160 + f627a23 commit 99588bb
Showing 1 changed file with 43 additions and 41 deletions.
84 changes: 43 additions & 41 deletions ui/src/plugins/dev.perfetto.AndroidLongBatteryTracing/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1416,14 +1416,14 @@ class AndroidLongBatteryTracing implements PerfettoPlugin {
}

async addModemDetail(ctx: Trace, features: Set<string>): Promise<void> {
if (!features.has('atom.modem_activity_info')) {
return;
}
const groupName = 'Modem Detail';
await this.addModemActivityInfo(ctx, groupName);
if (features.has('atom.modem_activity_info')) {
await this.addModemActivityInfo(ctx, groupName);
}
if (features.has('track.ril')) {
await this.addModemRil(ctx, groupName);
}
await this.addModemTeaData(ctx, groupName);
}

async addModemActivityInfo(ctx: Trace, groupName: string): Promise<void> {
Expand Down Expand Up @@ -1458,43 +1458,6 @@ class AndroidLongBatteryTracing implements PerfettoPlugin {

const e = ctx.engine;

let thrown = false;
try {
await e.query(
`INCLUDE PERFETTO MODULE
google3.wireless.android.telemetry.trace_extractor.modules.modem_tea_metrics`,
);
} catch {
thrown = true;
}
if (!thrown) {
const counters = await e.query(
`select distinct name from pixel_modem_counters`,
);
const countersIt = counters.iter({name: 'str'});
for (; countersIt.valid(); countersIt.next()) {
this.addCounterTrack(
ctx,
countersIt.name,
`select ts, value from pixel_modem_counters where name = '${countersIt.name}'`,
groupName,
);
}
const slices = await e.query(
`select distinct track_name from pixel_modem_slices`,
);
const slicesIt = slices.iter({track_name: 'str'});
for (; slicesIt.valid(); slicesIt.next()) {
this.addSliceTrack(
ctx,
it.name,
`select ts dur, slice_name as name from pixel_modem_counters
where track_name = '${slicesIt.track_name}'`,
groupName,
);
}
}

await e.query(MODEM_RIL_STRENGTH);
await e.query(MODEM_RIL_CHANNELS_PREAMBLE);

Expand All @@ -1519,6 +1482,45 @@ class AndroidLongBatteryTracing implements PerfettoPlugin {
);
}

async addModemTeaData(ctx: Trace, groupName: string): Promise<void> {
const e = ctx.engine;

try {
await e.query(
`INCLUDE PERFETTO MODULE
google3.wireless.android.telemetry.trace_extractor.modules.modem_tea_metrics`,
);
} catch {
return;
}

const counters = await e.query(
`select distinct name from pixel_modem_counters`,
);
const countersIt = counters.iter({name: 'str'});
for (; countersIt.valid(); countersIt.next()) {
this.addCounterTrack(
ctx,
countersIt.name,
`select ts, value from pixel_modem_counters where name = '${countersIt.name}'`,
groupName,
);
}
const slices = await e.query(
`select distinct track_name from pixel_modem_slices`,
);
const slicesIt = slices.iter({track_name: 'str'});
for (; slicesIt.valid(); slicesIt.next()) {
this.addSliceTrack(
ctx,
it.name,
`select ts dur, slice_name as name from pixel_modem_counters
where track_name = '${slicesIt.track_name}'`,
groupName,
);
}
}

async addKernelWakelocks(ctx: Trace, features: Set<string>): Promise<void> {
if (!features.has('atom.kernel_wakelock')) {
return;
Expand Down

0 comments on commit 99588bb

Please sign in to comment.