1*6dbdd20aSAndroid Build Coastguard Worker# Android Log 2*6dbdd20aSAndroid Build Coastguard Worker 3*6dbdd20aSAndroid Build Coastguard Worker_This data source is supported only on Android userdebug builds._ 4*6dbdd20aSAndroid Build Coastguard Worker 5*6dbdd20aSAndroid Build Coastguard WorkerThe "android.log" data source records log events from the Android log 6*6dbdd20aSAndroid Build Coastguard Workerdaemon (`logd`). These are the same log messages that are available via 7*6dbdd20aSAndroid Build Coastguard Worker`adb logcat`. 8*6dbdd20aSAndroid Build Coastguard Worker 9*6dbdd20aSAndroid Build Coastguard WorkerBoth textual events and binary-formatted events from the [EventLog] are 10*6dbdd20aSAndroid Build Coastguard Workersupported. 11*6dbdd20aSAndroid Build Coastguard Worker 12*6dbdd20aSAndroid Build Coastguard WorkerThis allows you to see log events time-synced with the rest of the trace. When recording 13*6dbdd20aSAndroid Build Coastguard Worker[long traces](/docs/concepts/config#long-traces), it allows you to record event 14*6dbdd20aSAndroid Build Coastguard Workerlogs indefinitely, regardless of the Android log daemon buffer size 15*6dbdd20aSAndroid Build Coastguard Worker(i.e. log events are periodically fetched and copied into the trace buffer). 16*6dbdd20aSAndroid Build Coastguard Worker 17*6dbdd20aSAndroid Build Coastguard WorkerThe data source can be configured to filter event from specific log buffers and 18*6dbdd20aSAndroid Build Coastguard Workerkeep only the events matching specific tags or priority. 19*6dbdd20aSAndroid Build Coastguard Worker 20*6dbdd20aSAndroid Build Coastguard Worker[EventLog]: https://developer.android.com/reference/android/util/EventLog 21*6dbdd20aSAndroid Build Coastguard Worker 22*6dbdd20aSAndroid Build Coastguard Worker### UI 23*6dbdd20aSAndroid Build Coastguard Worker 24*6dbdd20aSAndroid Build Coastguard WorkerAt the UI level, log events are showed in two widgets: 25*6dbdd20aSAndroid Build Coastguard Worker 26*6dbdd20aSAndroid Build Coastguard Worker1. A summary track that allows to quickly glance at the distribution of events 27*6dbdd20aSAndroid Build Coastguard Worker and their severity on the timeline. 28*6dbdd20aSAndroid Build Coastguard Worker 29*6dbdd20aSAndroid Build Coastguard Worker2. A table, time-synced with the viewport, that allows to see events within the 30*6dbdd20aSAndroid Build Coastguard Worker selected time range. 31*6dbdd20aSAndroid Build Coastguard Worker 32*6dbdd20aSAndroid Build Coastguard Worker 33*6dbdd20aSAndroid Build Coastguard Worker 34*6dbdd20aSAndroid Build Coastguard Worker### SQL 35*6dbdd20aSAndroid Build Coastguard Worker 36*6dbdd20aSAndroid Build Coastguard Worker```sql 37*6dbdd20aSAndroid Build Coastguard Workerselect l.ts, t.tid, p.pid, p.name as process, l.prio, l.tag, l.msg 38*6dbdd20aSAndroid Build Coastguard Workerfrom android_logs as l left join thread as t using(utid) left join process as p using(upid) 39*6dbdd20aSAndroid Build Coastguard Worker``` 40*6dbdd20aSAndroid Build Coastguard Workerts | tid | pid | process | prio | tag | msg 41*6dbdd20aSAndroid Build Coastguard Worker---|-----|-----|---------|------|-----|---- 42*6dbdd20aSAndroid Build Coastguard Worker291474737298264 | 29128 | 29128 | traced_probes | 4 | perfetto | probes_producer.cc:231 Ftrace setup (target_buf=1) 43*6dbdd20aSAndroid Build Coastguard Worker291474852699265 | 625 | 625 | surfaceflinger | 3 | SurfaceFlinger | Finished setting power mode 1 on display 0 44*6dbdd20aSAndroid Build Coastguard Worker291474853274109 | 1818 | 1228 | system_server | 3 | SurfaceControl | Excessive delay in setPowerMode() 45*6dbdd20aSAndroid Build Coastguard Worker291474882474841 | 1292 | 1228 | system_server | 4 | DisplayPowerController | Unblocked screen on after 242 ms 46*6dbdd20aSAndroid Build Coastguard Worker291474918246615 | 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 47*6dbdd20aSAndroid Build Coastguard Worker 48*6dbdd20aSAndroid Build Coastguard Worker### TraceConfig 49*6dbdd20aSAndroid Build Coastguard Worker 50*6dbdd20aSAndroid Build Coastguard WorkerTrace proto: 51*6dbdd20aSAndroid Build Coastguard Worker[AndroidLogPacket](/docs/reference/trace-packet-proto.autogen#AndroidLogPacket) 52*6dbdd20aSAndroid Build Coastguard Worker 53*6dbdd20aSAndroid Build Coastguard WorkerConfig proto: 54*6dbdd20aSAndroid Build Coastguard Worker[AndroidLogConfig](/docs/reference/trace-config-proto.autogen#AndroidLogConfig) 55*6dbdd20aSAndroid Build Coastguard Worker 56*6dbdd20aSAndroid Build Coastguard WorkerSample config: 57*6dbdd20aSAndroid Build Coastguard Worker 58*6dbdd20aSAndroid Build Coastguard Worker```protobuf 59*6dbdd20aSAndroid Build Coastguard Workerdata_sources: { 60*6dbdd20aSAndroid Build Coastguard Worker config { 61*6dbdd20aSAndroid Build Coastguard Worker name: "android.log" 62*6dbdd20aSAndroid Build Coastguard Worker android_log_config { 63*6dbdd20aSAndroid Build Coastguard Worker min_prio: PRIO_VERBOSE 64*6dbdd20aSAndroid Build Coastguard Worker filter_tags: "perfetto" 65*6dbdd20aSAndroid Build Coastguard Worker filter_tags: "my_tag_2" 66*6dbdd20aSAndroid Build Coastguard Worker log_ids: LID_DEFAULT 67*6dbdd20aSAndroid Build Coastguard Worker log_ids: LID_RADIO 68*6dbdd20aSAndroid Build Coastguard Worker log_ids: LID_EVENTS 69*6dbdd20aSAndroid Build Coastguard Worker log_ids: LID_SYSTEM 70*6dbdd20aSAndroid Build Coastguard Worker log_ids: LID_CRASH 71*6dbdd20aSAndroid Build Coastguard Worker log_ids: LID_KERNEL 72*6dbdd20aSAndroid Build Coastguard Worker } 73*6dbdd20aSAndroid Build Coastguard Worker } 74*6dbdd20aSAndroid Build Coastguard Worker} 75*6dbdd20aSAndroid Build Coastguard Worker``` 76