Android Log
此数据源仅在 Android userdebug 构建上受支持。
"android.log" 数据源记录来自 Android Log 守护程序(logd)的 Log event。这些是通过 adb logcat 可用的相同 Log message。
支持来自 EventLog 的文本格式事件和二进制格式事件。
这允许你查看与 trace 的其余部分时间同步的 Log event。当采集长 trace时,它允许你无限期地采集 Event log,而不管 Android Log 守护程序缓冲区大小如何(即,Log event 定期获取并复制到 trace 缓冲区中)。
数据源可以配置为过滤来自特定 Log buffer 的事件,并仅保留匹配特定标签或优先级的事件。
UI
在 UI 级别,Log event 在两个小部件中显示:
一个摘要 track,允许快速查看事件的分布及其在 Timeline 上的严重性。
一个与视口时间同步的表格,允许在选定的时间范围内查看事件。

SQL
select l.ts, t.tid, p.pid, p.name as process, l.prio, l.tag, l.msg
from android_logs as l left join thread as t using(utid) left join process as p using(upid)| ts | tid | pid | process | prio | tag | msg |
|---|---|---|---|---|---|---|
| 291474737298264 | 29128 | 29128 | traced_probes | 4 | perfetto | probes_producer.cc:231 Ftrace setup (target_buf=1) |
| 291474852699265 | 625 | 625 | surfaceflinger | 3 | SurfaceFlinger | Finished setting power mode 1 on display 0 |
| 291474853274109 | 1818 | 1228 | system_server | 3 | SurfaceControl | Excessive delay in setPowerMode() |
| 291474882474841 | 1292 | 1228 | system_server | 4 | DisplayPowerController | Unblocked screen on after 242 ms |
| 291474918246615 | 1279 | 1228 | system_server | 4 | am_pss | Pid=28568 UID=10194 Process Name="com.google.android.apps.fitness" Pss=12077056 Uss=10723328 SwapPss=183296 Rss=55021568 StatType=0 ProcState=18 TimeToCollect=51 |
TraceConfig
Trace proto: AndroidLogPacket
Config proto: AndroidLogConfig
示例配置:
data_sources: {
config {
name: "android.log"
android_log_config {
min_prio: PRIO_VERBOSE
filter_tags: "perfetto"
filter_tags: "my_tag_2"
log_ids: LID_DEFAULT
log_ids: LID_RADIO
log_ids: LID_EVENTS
log_ids: LID_SYSTEM
log_ids: LID_CRASH
log_ids: LID_KERNEL
}
}
}