# A very good trace config for most Android Performance tracing. # Buffer 0: For most continuous data (ftrace, power, sys_stats, frametimeline) buffers: { size_kb: 260096 fill_policy: RING_BUFFER } # Buffer 1: For process_stats buffers: { size_kb: 2048 fill_policy: RING_BUFFER } # Buffer 2: For logging buffers: { size_kb: 2048 fill_policy: RING_BUFFER } # Buffer 3: For packages list and system info buffers: { size_kb: 1024 fill_policy: RING_BUFFER } # Buffer 4: Stastd atoms buffers: { size_kb: 256 fill_policy: RING_BUFFER } data_sources { config { name: "track_event" target_buffer: 0 track_event_config { disabled_categories:"*" enabled_categories: "servicemanager" enabled_categories: "gfx" enabled_categories: "mq" } } } data_sources: { config { name: "linux.process_stats" target_buffer: 1 process_stats_config { scan_all_processes_on_start: true # As we're primarily interested in memory stats, we don't need to # poll very often as we also have the kmem/rss_stat ftrace event. proc_stats_poll_ms: 10000 } } } data_sources: { config { name: "linux.sys_stats" target_buffer: 0 sys_stats_config { psi_period_ms: 100 cpufreq_period_ms: 1000 } } } data_sources: { config { name: "linux.system_info" target_buffer: 3 } } data_sources: { config { name: "android.surfaceflinger.frametimeline" target_buffer: 0 } } data_sources: { config { name: "android.power" target_buffer: 0 android_power_config { battery_poll_ms: 500 collect_power_rails: true } } } data_sources: { config { name: "android.log" target_buffer: 2 android_log_config { log_ids: LID_DEFAULT } } } data_sources: { config { name: "android.packages_list" target_buffer: 3 } } data_sources: { config { name: "android.system_property" target_buffer: 3 android_system_property_config { # No need to poll often, as boot image profiling properties are set # once during the boot sequence. poll_ms: 30000 property_name: "debug.tracing.profile_boot_classpath" property_name: "debug.tracing.profile_system_server" } } } data_sources: { config { name: "linux.ftrace" target_buffer: 0 ftrace_config { ftrace_events: "sched/sched_switch" ftrace_events: "power/suspend_resume" ftrace_events: "sched/sched_wakeup_new" ftrace_events: "sched/sched_waking" ftrace_events: "power/cpu_frequency" ftrace_events: "power/cpu_idle" ftrace_events: "mm_event/mm_event_record" ftrace_events: "kmem/rss_stat" ftrace_events: "ion/ion_stat" ftrace_events: "dmabuf_heap/dma_heap_stat" ftrace_events: "kmem/ion_heap_grow" ftrace_events: "kmem/ion_heap_shrink" ftrace_events: "sched/sched_process_exit" ftrace_events: "sched/sched_process_free" ftrace_events: "task/task_newtask" ftrace_events: "task/task_rename" ftrace_events: "lowmemorykiller/lowmemory_kill" ftrace_events: "oom/oom_score_adj_update" ftrace_events: "sched/sched_blocked_reason" ftrace_events: "workqueue/*" ftrace_events: "vmscan/*" ftrace_events: "ftrace/print" ftrace_events: "power/wakeup_source_activate" ftrace_events: "power/wakeup_source_deactivate" atrace_categories: "aidl" atrace_categories: "am" atrace_categories: "dalvik" atrace_categories: "binder_driver" atrace_categories: "bionic" atrace_categories: "camera" atrace_categories: "gfx" atrace_categories: "hal" atrace_categories: "input" atrace_categories: "network" atrace_categories: "pm" atrace_categories: "power" atrace_categories: "res" atrace_categories: "sm" atrace_categories: "ss" atrace_categories: "video" atrace_categories: "view" atrace_categories: "wm" atrace_apps: "lmkd" atrace_apps: "*" buffer_size_kb: 16384 drain_period_ms: 250 throttle_rss_stat: true symbolize_ksyms: true ksyms_mem_policy: KSYMS_RETAIN disable_generic_events: true compact_sched { enabled: true } } } } data_sources: { config { name: "android.statsd" target_buffer: 4 statsd_tracing_config { push_atom_id: ATOM_SCHEDULED_JOB_STATE_CHANGED } } } data_sources { config { name: "android.app_wakelocks" target_buffer: 0 } } duration_ms: 1800000 write_into_file: true file_write_period_ms: 5000 max_file_size_bytes: 1000000000 flush_period_ms: 30000 incremental_state_config { clear_period_ms: 5000 }