perfetto āĻšāϞ āĻāĻāĻāĻŋ āĻā§āϞ āϝāĻž āĻāĻĒāύāĻžāĻā§ Android Debug Bridge (ADB) āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ Android āĻĄāĻŋāĻāĻžāĻāϏ āĻĨā§āĻā§ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāύā§āϏ āϤāĻĨā§āϝ āϏāĻāĻā§āϰāĻš āĻāϰāϤ⧠āĻĻā§āϝāĻŧāĨ¤ adb shell perfetto ... āĻāĻŽāĻžāύā§āĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠perfetto āĻā§āϞ āĻāĻžāϞ⧠āĻāϰā§āύāĨ¤ perfetto āĻāĻĒāύāĻžāϰ āĻĄāĻŋāĻāĻžāĻāϏ āĻĨā§āĻā§ āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āĻā§āϰā§āϏ āϏāĻāĻā§āϰāĻš āĻāϰāϤ⧠āĻŦāĻŋāĻāĻŋāύā§āύ āĻāϤā§āϏ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§, āϝā§āĻŽāύ:
- āĻāĻžāϰā§āύā§āϞ āĻĨā§āĻā§ āϤāĻĨā§āϝā§āϰ āĻāύā§āϝ
ftrace - āĻĒāϰāĻŋāώā§āĻŦāĻž āĻāĻŦāĻ āĻ
ā§āϝāĻžāĻĒā§ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§-āϏā§āĻĨāĻžāύ āĻā§āĻāĻž āĻāύā§āϝ
atrace - āĻĒāϰāĻŋāώā§āĻŦāĻž āĻāĻŦāĻ āĻ
ā§āϝāĻžāĻĒā§āϰ āύā§āĻāĻŋāĻ āĻŽā§āĻŽāϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āϤāĻĨā§āϝā§āϰ āĻāύā§āϝ
heapprofd
āĻāĻ āĻĒā§āώā§āĻ āĻžāĻāĻŋ āĻŦāϰā§āĻŖāύāĻž āĻāϰ⧠āĻāĻŋāĻāĻžāĻŦā§ perfetto āĻāϞ āĻāϰāϤ⧠āĻšāϝāĻŧ āĻāĻŦāĻ āĻĒāĻāύā§āĻĻāϏāĻ āĻāĻāĻāĻĒā§āĻ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāϤ⧠āĻšāϝāĻŧāĨ¤ āĻāϰāĻ āϤāĻĨā§āϝā§āϰ āĻāύā§āϝ, perfetto āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻĒāĻĄāĻŧā§āύāĨ¤
āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏ
āĻāĻ āĻŦāĻŋāĻāĻžāĻāĻāĻŋ āĻŦāϰā§āĻŖāύāĻž āĻāϰ⧠āϝ⧠āĻāĻŋāĻāĻžāĻŦā§ ADB āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻŦāĻŋāĻāĻŋāύā§āύ āĻŽā§āĻĄā§āϰ āĻāύā§āϝ perfetto āĻāϞ āĻāϰāϤ⧠āĻšāϝāĻŧ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻā§āϰā§āϏ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻšāϝāĻŧāĨ¤
āĻĄā§āĻāĻž āĻā§āϏ āύāĻŋāϰā§āĻŦāĻžāĻāύ
perfetto āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻĻā§āĻāĻŋ āĻŽā§āĻĄ āϰāϝāĻŧā§āĻā§ āϝāĻž āĻāĻĒāύāĻžāϰ āĻā§āϰā§āϏ āϰā§āĻāϰā§āĻĄ āĻāϰāϤ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻĄā§āĻāĻž āĻāϤā§āϏ āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰā§:
- āϞāĻžāĻāĻ āĻŽā§āĻĄ : āĻĄā§āĻāĻž āĻāϤā§āϏā§āϰ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāĻāĻŋ āĻāĻĒāϏā§āĻ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§, āĻŦāĻŋāĻļā§āώāϤ
atraceāĻāĻŦāĻftraceāĨ¤ āϝāĻžāĻāĻšā§āĻ, āĻāĻ āĻŽā§āĻĄāĻāĻŋsystraceāĻāϰ āĻŽāϤ āĻāĻāĻāĻŋ āĻāύā§āĻāĻžāϰāĻĢā§āϏ āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤ - āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻŽā§āĻĄ : āĻāĻāĻāĻŋ āĻĒā§āϰā§āĻā§āĻāϞ āĻŦāĻžāĻĢāĻžāϰ⧠āĻāϰ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻĒāĻžāϝāĻŧ āĻāĻŦāĻ āĻāĻĒāύāĻžāĻā§
atraceāĻāĻŦāĻftraceāĻĨā§āĻā§ āĻāϞāĻžāĻĻāĻž āĻĄā§āĻāĻž āĻāϤā§āϏ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§perfettoāĻāĻžāϰā§āϝāĻāĻžāϰāĻŋāϤāĻž āĻāϰāĻ āĻŦā§āĻļāĻŋ āϞāĻžāĻ āĻāϰāϤ⧠āĻĻā§āϝāĻŧāĨ¤
āϏāĻžāϧāĻžāϰāĻŖ āĻŦāĻŋāĻāϞā§āĻĒ
āĻāĻāϝāĻŧ āĻŽā§āĻĄā§ perfetto āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āϏāĻžāϰāĻŖā§ āĻāĻĒāϞāĻŦā§āϧ āĻŦāĻŋāĻāϞā§āĻĒāĻā§āϞāĻŋ āϤāĻžāϞāĻŋāĻāĻžāĻā§āĻā§āϤ āĻāϰā§:
āϏāĻžāϰāĻŖāĻŋ 1. āĻāĻĒāϞāĻŦā§āϧ āϏāĻžāϧāĻžāϰāĻŖ āĻĒāĻžāϰāĻĢā§āĻā§ āĻā§āϞ āĻŦāĻŋāĻāϞā§āĻĒā§āϰ āϤāĻžāϞāĻŋāĻāĻžāĨ¤
| āĻ āĻĒāĻļāύ | āĻŦāϰā§āĻŖāύāĻž |
|---|---|
--background | | perfetto āĻ
āĻŦāĻŋāϞāĻŽā§āĻŦā§ āĻāĻŽāĻžāύā§āĻĄ-āϞāĻžāĻāύ āĻāύā§āĻāĻžāϰāĻĢā§āϏ āĻĨā§āĻā§ āĻĒā§āϰāϏā§āĻĨāĻžāύ āĻāϰ⧠āĻāĻŦāĻ āĻĒāĻāĻā§āĻŽāĻŋāϤ⧠āĻāĻĒāύāĻžāϰ āĻā§āϰā§āϏ āϰā§āĻāϰā§āĻĄ āĻāϰāĻž āĻāĻžāϞāĻŋāϝāĻŧā§ āϝāĻžāϝāĻŧāĨ¤ |
--background-wait | -D | --background āĻŽāϤ, āĻāĻŋāύā§āϤ⧠āĻĒā§āϰāϏā§āĻĨāĻžāύ āĻāϰāĻžāϰ āĻāĻā§ āϏāĻŽāϏā§āϤ āĻĄā§āĻāĻž āĻā§āϏā§āϰ āĻāύā§āϝ āĻ
āĻĒā§āĻā§āώāĻž āĻāϰ⧠(30s āĻĒāϰā§āϝāύā§āϤ)āĨ¤ āĻāĻāĻāĻŋ āϏāĻĢāϞ āϏā§āĻŦā§āĻā§āϤāĻŋ āĻĒā§āϰāĻžāĻĒā§āϤ āĻšāϞ⧠āĻĒā§āϰāϏā§āĻĨāĻžāύ āĻā§āĻĄ āĻļā§āύā§āϝ āĻāĻŦāĻ āĻ
āύā§āϝāĻĨāĻžāϝāĻŧ āĻļā§āύā§āϝ āύāϝāĻŧ (āϤā§āϰā§āĻāĻŋ āĻŦāĻž āϏāĻŽāϝāĻŧ āĻļā§āώ)āĨ¤ |
--alert-id | āϏāϤāϰā§āĻāϤāĻžāϰ āĻāĻāĻĄāĻŋ āϝāĻž āĻāĻ āĻā§āϰā§āϏāĻāĻŋ āĻā§āϰāĻŋāĻāĻžāϰ āĻāϰā§āĻā§ā§ˇ |
--config-id | āĻā§āϰāĻŋāĻāĻžāϰāĻŋāĻ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύā§āϰ āĻāĻāĻĄāĻŋāĨ¤ |
--config-uid | āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āύāĻŋāĻŦāύā§āϧāĻŋāϤ āĻ ā§āϝāĻžāĻĒā§āϰ UIDāĨ¤ |
--subscription-id | āϏāĻĻāϏā§āϝāϤāĻžāϰ āĻāĻāĻĄāĻŋ āϝāĻž āĻāĻ āĻā§āϰā§āϏāĻāĻŋ āĻā§āϰāĻŋāĻāĻžāϰ āĻāϰā§āĻā§ā§ˇ |
--out OUT_FILE | | āĻāĻāĻāĻĒā§āĻ āĻā§āϰā§āϏ āĻĢāĻžāĻāϞ āĻŦāĻž āĻĻā§āϰāώā§āĻāĻŦā§āϝ: āĻāĻĒāύāĻžāĻā§ āĻ
āĻŦāĻļā§āϝāĻ āĻāĻāĻāĻĒā§āĻ āĻĢāĻžāĻāϞā§āϰ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻĒāĻžāĻĨāύāĻžāĻŽ āĻāϞā§āϞā§āĻ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻĢāĻžāĻāϞāĻā§āϞāĻŋ |
--upload | āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻšāϞā§, āĻĒā§āϰā§āĻā§ āĻā§āϰā§āϏ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ⧠IncidentReportConfig āĻŦāĻžāϰā§āϤāĻž āĻĻā§āĻŦāĻžāϰāĻž āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻĒā§āϝāĻžāĻā§āĻā§ āĻā§āϰā§āϏ āĻĒāĻžāϏ āĻāϰā§āĨ¤ |
--no-guardrails | āĻĒāϰā§āĻā§āώāĻžāϰ āϏāĻŽāϝāĻŧ --upload āĻĒāϤāĻžāĻāĻž āϏāĻā§āώāĻŽ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻ
āϤā§āϝāϧāĻŋāĻ āϏāĻŽā§āĻĒāĻĻ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻŦāĻŋāϰā§āĻĻā§āϧ⧠āϏā§āϰāĻā§āώāĻž āύāĻŋāώā§āĻā§āϰāĻŋāϝāĻŧ āĻāϰā§āĨ¤ |
--reset-guardrails | āĻāĻžāϰā§āĻĄā§āϞā§āϰ āϏā§āĻĨāĻžāϝāĻŧā§ āĻ āĻŦāϏā§āĻĨāĻž āĻĒā§āύāϰāĻžāϝāĻŧ āϏā§āĻ āĻāϰ⧠āĻāĻŦāĻ āĻĒāϰā§āĻā§āώāĻžāϰ āĻāύā§āϝ āĻĒā§āϰāϏā§āĻĨāĻžāύ āĻāϰā§āĨ¤ |
--rsave-for-bugreport | bugreport_score > 0 āϏāĻš āĻāĻāĻāĻŋ āĻā§āϰā§āϏ āĻāϞāĻŽāĻžāύ āĻĨāĻžāĻāϞā§, āĻāĻāĻāĻŋ āĻĢāĻžāĻāϞ⧠āĻā§āϰā§āϏ āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§āĨ¤ āϏāĻŽā§āĻĒāύā§āύ āĻšāϞ⧠āĻĒāĻžāĻĨ āĻāĻāĻāĻĒā§āĻ āĻāϰā§āĨ¤ |
--query | āĻĒāϰāĻŋāώā§āĻŦāĻžāϰ āĻ āĻŦāϏā§āĻĨāĻž āĻāĻŋāĻā§āĻāĻžāϏāĻž āĻāϰ⧠āĻāĻŦāĻ āĻāĻāĻŋ āĻŽāĻžāύāĻŦ-āĻĒāĻžāĻ āϝā§āĻā§āϝ āĻĒāĻžāĻ ā§āϝ āĻšāĻŋāϏāĻžāĻŦā§ āĻŽā§āĻĻā§āϰāĻŖ āĻāϰā§āĨ¤ |
--query-raw | --query āĻāϰ āĻŽāϤā§, āĻāĻŋāύā§āϤ⧠tracing_service_state.proto. |
--help | -h | perfetto āĻā§āϞā§āϰ āĻāύā§āϝ āϏāĻžāĻšāĻžāϝā§āϝ āĻĒāĻžāĻ ā§āϝ āĻĒā§āϰāĻŋāύā§āĻ āĻāϰā§āĨ¤ |
āĻšāĻžāϞāĻāĻž āĻŽā§āĻĄ
āĻšāĻžāϞāĻāĻž āĻŽā§āĻĄā§ perfetto āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āĻāύā§āϝ āϏāĻžāϧāĻžāϰāĻŖ āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏ āύāĻŋāĻŽā§āύāϰā§āĻĒ:
adb shell perfetto [ --time TIMESPEC ] [ --buffer SIZE ] [ --size SIZE ]
[ ATRACE_CAT | FTRACE_GROUP/FTRACE_NAME | FTRACE_GROUP/* ]...
--out FILE
āĻšāĻžāϞāĻāĻž āĻŽā§āĻĄā§ perfetto āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āϏāĻžāϰāĻŖā§ āĻāĻĒāϞāĻŦā§āϧ āĻŦāĻŋāĻāϞā§āĻĒāĻā§āϞāĻŋ āϤāĻžāϞāĻŋāĻāĻžāĻā§āĻā§āϤ āĻāϰā§:
āϏāĻžāϰāĻŖāĻŋ 2. āĻšāĻžāϞāĻāĻž āĻŽā§āĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻĒāϞāĻŦā§āϧ perfetto āĻā§āϞ āĻŦāĻŋāĻāϞā§āĻĒā§āϰ āϤāĻžāϞāĻŋāĻāĻžāĨ¤
| āĻ āĻĒāĻļāύ | āĻŦāϰā§āĻŖāύāĻž |
|---|---|
--time TIME [s|m|h] | | āϏā§āĻā§āύā§āĻĄ, āĻŽāĻŋāύāĻŋāĻ āĻŦāĻž āĻāύā§āĻāĻžāϰ āĻŽāϧā§āϝ⧠āĻā§āϰā§āϏ āϏāĻŽāϝāĻŧāĻāĻžāϞ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāϰā§āĨ¤ āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, --time 1m 1 āĻŽāĻŋāύāĻŋāĻā§āϰ āĻāĻāĻāĻŋ āĻā§āϰā§āϏ āϏāĻŽāϝāĻŧāĻāĻžāϞ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāϰā§ā§ˇ āĻĄāĻŋāĻĢāϞā§āĻ āϏāĻŽāϝāĻŧāĻāĻžāϞ 10 āϏā§āĻā§āύā§āĻĄāĨ¤ |
--buffer SIZE [mb|gb] | | āĻŽā§āĻāĻžāĻŦāĻžāĻāĻ (mb) āĻŦāĻž āĻāĻŋāĻāĻžāĻŦāĻžāĻāĻ (gb) āĻ āϰāĻŋāĻ āĻŦāĻžāĻĢāĻžāϰā§āϰ āĻāĻāĻžāϰ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāϰā§āĨ¤ āĻĄāĻŋāĻĢāϞā§āĻ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āĻšāϞ --buffer 32mb āĨ¤ |
--size SIZE [mb|gb] | | āĻŽā§āĻāĻžāĻŦāĻžāĻāĻ (mb) āĻŦāĻž āĻāĻŋāĻāĻžāĻŦāĻžāĻāĻā§ (gb) āϏāϰā§āĻŦā§āĻā§āĻ āĻĢāĻžāĻāϞā§āϰ āĻāĻāĻžāϰ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāϰā§āĨ¤ āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§, perfetto āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāύ-āĻŽā§āĻŽāϰāĻŋ āϰāĻŋāĻ-āĻŦāĻžāĻĢāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤ |
--app | -a | āĻ ā§āϝāĻžāύā§āĻĄā§āϰāϝāĻŧā§āĻĄ (āĻ ā§āϝāĻžāĻā§āϰā§āϏ) āĻ ā§āϝāĻžāĻĒā§āϰ āύāĻžāĻŽ |
āĻāĻ āĻŦāĻŋāĻāϞā§āĻĒāĻā§āϞāĻŋ āĻāĻā§āύā§āĻ āϏā§āĻĒā§āϏāĻŋāĻĢāĻžāϝāĻŧāĻžāϰāĻā§āϞāĻŋāϰ āĻāĻāĻāĻŋ āϤāĻžāϞāĻŋāĻāĻž āĻĻā§āĻŦāĻžāϰāĻž āĻ āύā§āϏāϰāĻŖ āĻāϰāĻž āĻšāϝāĻŧ:
āϏāĻžāϰāĻŖāĻŋ 3. āϞāĻžāĻāĻ āĻŽā§āĻĄā§āϰ āĻāύā§āϝ āĻāĻā§āύā§āĻ āϏā§āĻĒā§āϏāĻŋāĻĢāĻžāϝāĻŧāĻžāϰā§āϰ āϤāĻžāϞāĻŋāĻāĻžāĨ¤
| āĻāĻāύāĻž | āĻŦāϰā§āĻŖāύāĻž |
|---|---|
| ATRACE_CAT | āĻāĻĒāύāĻŋ āϝ⧠atrace āĻŦāĻŋāĻāĻžāĻāĻā§āϞāĻŋāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻā§āϰā§āϏ āϰā§āĻāϰā§āĻĄ āĻāϰāϤ⧠āĻāĻžāύ āϤāĻž āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāϰā§ā§ˇ āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻāĻŽāĻžāύā§āĻĄāĻāĻŋ atrace āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻāύā§āĻĄā§ āĻŽā§āϝāĻžāύā§āĻāĻžāϰāĻā§ āĻāĻŋāĻšā§āύāĻŋāϤ āĻāϰā§:
adb shell perfetto --out FILE wm
āĻ
āύā§āϝāĻžāύā§āϝ āĻŦāĻŋāĻāĻžāĻ āϰā§āĻāϰā§āĻĄ āĻāϰāϤā§, |
| FTRACE_GROUP/FTRACE_NAME | āĻāĻĒāύāĻŋ āϝ⧠ftrace āĻāĻā§āύā§āĻāĻā§āϞāĻŋāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻā§āϰā§āϏ āϰā§āĻāϰā§āĻĄ āĻāϰāϤ⧠āĻāĻžāύ āϤāĻž āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāϰā§ā§ˇ āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻāĻŽāĻžāύā§āĻĄāĻāĻŋ sched/sched_switch āĻāĻā§āύā§āĻāĻā§āϞāĻŋ āĻā§āϰā§āϏ āĻāϰā§:
adb shell perfetto --out FILE sched/sched_switch
|
āϏāĻžāϧāĻžāϰāĻŖ āĻŽā§āĻĄ
āϏāĻžāϧāĻžāϰāĻŖ āĻŽā§āĻĄā§ perfetto āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āĻāύā§āϝ āϏāĻžāϧāĻžāϰāĻŖ āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏ āύāĻŋāĻŽā§āύāϰā§āĻĒ:
adb shell perfetto [ --txt ] --config CONFIG_FILE --out FILE
āϏāĻžāϧāĻžāϰāĻŖ āĻŽā§āĻĄā§ perfetto āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āϏāĻžāϰāĻŖā§ āĻāĻĒāϞāĻŦā§āϧ āĻŦāĻŋāĻāϞā§āĻĒāĻā§āϞāĻŋ āϤāĻžāϞāĻŋāĻāĻžāĻā§āĻā§āϤ āĻāϰā§:
āϏāĻžāϰāĻŖāĻŋ 4. āϏāĻžāϧāĻžāϰāĻŖ āĻŽā§āĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻĒāϞāĻŦā§āϧ perfetto āĻā§āϞ āĻŦāĻŋāĻāϞā§āĻĒā§āϰ āϤāĻžāϞāĻŋāĻāĻžāĨ¤
| āĻ āĻĒāĻļāύ | āĻŦāϰā§āĻŖāύāĻž |
|---|---|
--config CONFIG_FILE | -c CONFIG_FILE | āĻāĻāĻāĻŋ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻĢāĻžāĻāϞā§āϰ āĻĒāĻĨ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻāϰā§āĨ¤ āϏāĻžāϧāĻžāϰāĻŖ āĻŽā§āĻĄā§, āĻāĻŋāĻā§ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻāĻāĻāĻŋ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻĒā§āϰā§āĻā§āĻāϞ āĻŦāĻžāĻĢāĻžāϰ⧠āĻāύāĻā§āĻĄ āĻāϰāĻž āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻ āĻĢāĻžāĻāϞāĻāĻŋāĻā§ āĻ
āĻŦāĻļā§āϝāĻ AOSP trace_config.proto āĻ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻĒā§āϰā§āĻā§āĻāϞ āĻŦāĻžāĻĢāĻžāϰ āϏā§āĻāĻŋāĻŽāĻž āĻŽā§āύ⧠āĻāϞāϤ⧠āĻšāĻŦā§āĨ¤ AOSP |
--txt | āĻāύāĻĢāĻŋāĻāĻžāϰ āĻĢāĻžāĻāϞāĻāĻŋāĻā§ pbtxt āĻšāĻŋāϏāĻžāĻŦā§ āĻĒāĻžāϰā§āϏ āĻāϰāĻžāϰ āĻāύā§āϝ perfetto āύāĻŋāϰā§āĻĻā§āĻļ āĻĻā§āϝāĻŧāĨ¤ āĻāĻ āĻĒāϤāĻžāĻāĻž āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āϏā§āĻĨāĻžāύā§āϝāĻŧ āĻĒāϰā§āĻā§āώāĻžāϰ āĻāύā§āϝ āĻāĻĻā§āĻĻāĻŋāώā§āĻ, āĻāĻŦāĻ āĻāĻāĻž āϏā§āĻĒāĻžāϰāĻŋāĻļ āĻāϰāĻž āĻšāϝāĻŧ āύāĻž āϝ⧠āĻāĻĒāύāĻŋ āĻāĻāĻŋ āĻā§āĻĒāĻžāĻĻāύā§āϰ āĻāύā§āϝ āϏāĻā§āώāĻŽ āĻāϰā§āύ⧎ |
āϏāĻŽāϰā§āĻĨāĻŋāϤ āϤāĻĨā§āϝ āĻāϤā§āϏ
āĻāĻ āĻŦāĻŋāĻāĻžāĻāĻāĻŋ āĻŦāĻŋāĻāĻŋāύā§āύ āĻāϤā§āϏ āĻŦāϰā§āĻŖāύāĻž āĻāϰ⧠āϝāĻž perfetto āĻāĻĒāύāĻžāϰ āĻā§āϰā§āϏ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤
ftrace
ftrace āĻĄā§āĻāĻž āϏā§āϰā§āϏ perfetto āĻāĻžāϰā§āύā§āϞ āĻĨā§āĻā§ āĻāĻā§āύā§āĻ āĻĒā§āϤ⧠āĻ
āύā§āĻŽāϤāĻŋ āĻĻā§āϝāĻŧāĨ¤
DataSourceConfig-āĻ ftrace_config āϏā§āĻ āĻāϰ⧠āĻāĻ āĻā§āϏāĻāĻŋ āϏāĻā§āώāĻŽ āĻāϰā§āύāĨ¤
āϝ⧠āĻāĻā§āύā§āĻāĻā§āϞāĻŋ āϏāĻā§āώāĻŽ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰ⧠āϏā§āĻā§āϞāĻŋāϰ āĻŽāϧā§āϝ⧠āϰāϝāĻŧā§āĻā§:
āϏāĻŽāϝāĻŧāϏā§āĻā§ āĻāĻžāϰā§āϝāĻā§āϰāĻŽ :
-
sched/sched_switch -
sched/sched_wakeup -
sched/sched_wakeup_new -
sched/sched_process_exec -
sched/sched_process_exit -
sched/sched_process_fork -
sched/sched_process_free -
sched/sched_process_hang -
sched/sched_process_wait
-
āĻĢāĻžāĻāϞ āϏāĻŋāϏā§āĻā§āĻŽ āĻāĻā§āύā§āĻ:
āĻāĻĒāύāĻžāϰ āĻĄāĻŋāĻāĻžāĻāϏ, OS āϏāĻāϏā§āĻāϰāĻŖ āĻŦāĻž āĻāĻžāϰā§āύā§āϞā§āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰā§, āĻāϰāĻ āĻāĻā§āύā§āĻ āĻāĻĒāϞāĻŦā§āϧ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāϰāĻ āϤāĻĨā§āϝā§āϰ āĻāύā§āϝ, āĻāύāĻĢāĻŋāĻāĻžāϰ āĻĒā§āϰā§āĻā§āĻā§āϞāĻŋ āĻĒāĻĄāĻŧā§āύāĨ¤
āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻĒāϰāĻŋāϏāĻāĻā§āϝāĻžāύ
āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻĒāϰāĻŋāϏāĻāĻā§āϝāĻžāύ āĻĄā§āĻāĻž āĻāϤā§āϏ āĻāĻĒāύāĻžāĻā§ āϏāĻŋāϏā§āĻā§āĻŽ āĻāĻŦāĻ āĻĒā§āĻĨāĻ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āϏāĻŽā§āĻĒāϰā§āĻā§ āĻĒā§āϞ āĻāĻžāĻāύā§āĻāĻžāϰ āĻĒā§āϤ⧠āĻ āύā§āĻŽāϤāĻŋ āĻĻā§āϝāĻŧāĨ¤
DataSourceConfig-āĻ process_stats_config āĻāĻŦāĻ sys_stats_config āϏā§āĻ āĻāϰ⧠āĻāĻ āĻā§āϏāĻāĻŋ āϏāĻā§āώāĻŽ āĻāϰā§āύāĨ¤
perfetto āϝ⧠āĻĄā§āĻāĻž āϤā§āϰāĻŋ āĻāϰ⧠āϤāĻžāϰ āĻŽāϧā§āϝ⧠āϰāϝāĻŧā§āĻā§:
āϏāĻŋāϏā§āĻā§āĻŽ-āĻŦā§āϝāĻžāĻĒā§
-
/proc/meminfo -
/proc/vmstat -
/proc/stat
-
āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻĒā§āϰāϤāĻŋ
-
/proc/\<pid\>/status -
/proc/\<pid\>/oom_score_adj
-
āĻāĻĒāύāĻžāϰ āĻĄāĻŋāĻāĻžāĻāϏ, OS āϏāĻāϏā§āĻāϰāĻŖ āĻāĻŦāĻ āĻāĻžāϰā§āύā§āϞā§āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰā§, āĻāϰāĻ āĻāĻā§āύā§āĻ āĻāĻĒāϞāĻŦā§āϧ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāϰāĻ āĻāĻžāύāϤā§, sys_stats āĻāĻŦāĻ process_stats āĻāϰ āĻāύā§āϝ āĻāύāĻĢāĻŋāĻāĻžāϰ āĻĒā§āϰā§āĻā§āĻā§āϞāĻŋ āĻĒāĻĄāĻŧā§āύāĨ¤
heapprofd
heapprofd āĻāĻĒāύāĻžāĻā§ āύā§āĻāĻŋāĻ āĻŽā§āĻŽāϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻāĻžāϰāĻŖā§āϰ āύāĻŽā§āύāĻž āĻĻāĻŋāϤ⧠āĻĻā§āϝāĻŧāĨ¤
DataSourceConfig-āĻ heapprofd_config āϏā§āĻ āĻāϰ⧠āĻāĻ āĻā§āϏāĻāĻŋ āϏāĻā§āώāĻŽ āĻāϰā§āύāĨ¤ āĻāĻ āϏā§āĻāĻŋāĻ āĻāϞāϏā§āĻā§āϝāĻžāĻā§āϰ āĻāĻžāĻāĻž āĻĢā§āϰā§āĻŽ āϏāĻš ProfilePackets āϤā§āϰāĻŋ āĻāϰā§āĨ¤
heapprofd āĻāĻŋāĻāĻžāĻŦā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻŦā§āύ āϏ⧠āϏāĻŽā§āĻĒāϰā§āĻā§ āĻ
āϤāĻŋāϰāĻŋāĻā§āϤ āϤāĻĨā§āϝ perfetto.dev āĻ āĻĒāĻžāĻāϝāĻŧāĻž āϝāĻžāĻŦā§āĨ¤
āĻ āύā§āϝāĻžāύā§āϝ āĻāϤā§āϏ
āĻāĻĒāύāĻžāϰ āĻĄāĻŋāĻāĻžāĻāϏ, OS āϏāĻāϏā§āĻāϰāĻŖ āĻāĻŦāĻ āĻāĻžāϰā§āύā§āϞā§āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰā§, āĻāϰāĻ āĻĄā§āĻāĻž āĻāϤā§āϏ āĻāĻĒāϞāĻŦā§āϧ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāϰāĻ āĻāĻžāύāϤā§, āĻĄā§āĻāĻž āĻāϤā§āϏ āĻāύāĻĢāĻŋāĻāĻžāϰ āĻĒā§āϰā§āĻā§āĻā§āϞāĻŋ āĻĒāĻĄāĻŧā§āύāĨ¤
perfetto āϏāĻŽā§āĻĒāϰā§āĻā§ āĻ
āϤāĻŋāϰāĻŋāĻā§āϤ āϤāĻĨā§āϝ perfetto.dev āĻ āĻĒāĻžāĻāϝāĻŧāĻž āϝāĻžāĻŦā§āĨ¤