(
device: DeviceInfo,
packageName: string,
options: AndroidFramePerfOptions = {},
)
| 19 | }; |
| 20 | |
| 21 | export async function sampleAndroidFramePerf( |
| 22 | device: DeviceInfo, |
| 23 | packageName: string, |
| 24 | options: AndroidFramePerfOptions = {}, |
| 25 | ): Promise<AndroidFramePerfSample> { |
| 26 | const adb = resolveAndroidAdbExecutor(device, options.adb); |
| 27 | try { |
| 28 | const result = await adb(['shell', 'dumpsys', 'gfxinfo', packageName, 'framestats'], { |
| 29 | timeoutMs: ANDROID_FRAME_PERF_TIMEOUT_MS, |
| 30 | }); |
| 31 | const sample = parseAndroidFramePerfSample( |
| 32 | result.stdout, |
| 33 | packageName, |
| 34 | new Date().toISOString(), |
| 35 | ); |
| 36 | await resetAndroidFramePerfStats(device, packageName, options); |
| 37 | return sample; |
| 38 | } catch (error) { |
| 39 | throw annotateAndroidFramePerfSamplingError(packageName, error); |
| 40 | } |
| 41 | } |
| 42 | |
| 43 | export async function resetAndroidFramePerfStats( |
| 44 | device: DeviceInfo, |
no test coverage detected