path: perfetto_54.0-1/tools/load_tool AdbCall('shell', 'start', 'traced_probes') AdbCall('shell', 'sleep', '5') traced_pid = AdbCall('shell', 'pidof', 'traced') probes_pid = AdbCall('shell', 'pidof', 'traced_probes') assert (traced_pid is not None and probes_pid is not None) path: perfetto_54.0-1/tools/load_tool AdbCall('shell', 'sleep', '5') traced_pid = AdbCall('shell', 'pidof', 'traced') probes_pid = AdbCall('shell', 'pidof', 'traced_probes') assert (traced_pid is not None and probes_pid is not None) return (traced_pid, probes_pid) path: perfetto_54.0-1/ui/src/plugins/dev.perfetto.RecordTraceV2/adb/adb_platform_checks.ts name: 'traced running?', status: await (async (): Promise> => { const status = await adbDevice.shell('pidof traced'); if (!status.ok) return status; if (isFinite(parseInt(status.value))) { path: perfetto_54.0-1/docs/case-studies/memory.md ```bash $ adb shell cat '/proc/$(pidof com.android.systemui)/status' [...] VmHWM: 256972 kB path: perfetto_54.0-1/tools/heap_profile 'adb', 'shell', 'mkdir -p /data/local/tmp/heapprofd_profile && ' 'cd /data/local/tmp/heapprofd_profile &&' '(nohup simpleperf record -g -p $(pidof heapprofd) 2>&1 &) ' '> /dev/null' ]) path: perfetto_54.0-1/tools/heap_profile print("Waiting for simpleperf to exit.") while subprocess.call( ['adb', 'shell', '[ -f /proc/$(pidof simpleperf)/exe ]'], **NOOUT) == 0: time.sleep(1) subprocess.check_call( path: perfetto_54.0-1/python/tools/heap_profile.py 'adb', 'shell', 'mkdir -p /data/local/tmp/heapprofd_profile && ' 'cd /data/local/tmp/heapprofd_profile &&' '(nohup simpleperf record -g -p $(pidof heapprofd) 2>&1 &) ' '> /dev/null' ]) path: perfetto_54.0-1/python/tools/heap_profile.py print("Waiting for simpleperf to exit.") while subprocess.call( ['adb', 'shell', '[ -f /proc/$(pidof simpleperf)/exe ]'], **NOOUT) == 0: time.sleep(1) subprocess.check_call(