blob: 7e29012e637cc905e59a2caaf25260c09048daa2 [file] [log] [blame]
# Copyright (C) 2019 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# proto-message: TraceConfig
# Enable periodic flushing of the trace buffer into the output file.
write_into_file: true
# Writes the userspace buffer into the file every 2.5 seconds.
file_write_period_ms: 2500
# See b/126487238 - we need to guarantee ordering of events.
flush_period_ms: 30000
# The trace buffers needs to be big enough to hold |file_write_period_ms| of
# trace data. The trace buffer sizing depends on the number of trace categories
# enabled and the device activity.
# RSS events
buffers {
size_kb: 16384
fill_policy: RING_BUFFER
}
# procfs polling
buffers {
size_kb: 8192
fill_policy: RING_BUFFER
}
data_sources {
config {
name: "linux.ftrace"
target_buffer: 0
ftrace_config {
# These parameters affect only the kernel trace buffer size and how
# frequently it gets moved into the userspace buffer defined above.
buffer_size_kb: 16384
drain_period_ms: 250
# We need to do process tracking to ensure kernel ftrace events targeted at short-lived
# threads are associated correctly
ftrace_events: "task/task_newtask"
ftrace_events: "task/task_rename"
ftrace_events: "sched/sched_process_exit"
ftrace_events: "sched/sched_process_free"
# Memory events
ftrace_events: "rss_stat"
ftrace_events: "ion_heap_shrink"
ftrace_events: "ion_heap_grow"
ftrace_events: "ion/ion_stat"
ftrace_events: "dmabuf_heap/dma_heap_stat"
ftrace_events: "oom_score_adj_update"
ftrace_events: "gpu_mem/gpu_mem_total"
ftrace_events: "fastrpc/fastrpc_dma_stat"
# Old (kernel) LMK
ftrace_events: "lowmemorykiller/lowmemory_kill"
# New (userspace) LMK
atrace_apps: "lmkd"
# Added for userspace annotation in the platform scenario test app
atrace_apps: "android.platform.test.scenario"
atrace_categories: "am"
}
}
}
data_sources: {
config {
name: "android.gpu.memory"
target_buffer: 0
}
}
data_sources {
config {
name: "linux.process_stats"
target_buffer: 1
process_stats_config {
proc_stats_poll_ms: 10000
proc_stats_cache_ttl_ms: 60000
}
}
}
data_sources {
config {
name: "linux.sys_stats"
target_buffer: 1
sys_stats_config {
meminfo_period_ms: 1000
meminfo_counters: MEMINFO_MEM_TOTAL
meminfo_counters: MEMINFO_MEM_FREE
meminfo_counters: MEMINFO_MEM_AVAILABLE
meminfo_counters: MEMINFO_BUFFERS
meminfo_counters: MEMINFO_CACHED
meminfo_counters: MEMINFO_SWAP_CACHED
meminfo_counters: MEMINFO_ACTIVE
meminfo_counters: MEMINFO_INACTIVE
meminfo_counters: MEMINFO_ACTIVE_ANON
meminfo_counters: MEMINFO_INACTIVE_ANON
meminfo_counters: MEMINFO_ACTIVE_FILE
meminfo_counters: MEMINFO_INACTIVE_FILE
meminfo_counters: MEMINFO_UNEVICTABLE
meminfo_counters: MEMINFO_SWAP_TOTAL
meminfo_counters: MEMINFO_SWAP_FREE
meminfo_counters: MEMINFO_DIRTY
meminfo_counters: MEMINFO_WRITEBACK
meminfo_counters: MEMINFO_ANON_PAGES
meminfo_counters: MEMINFO_MAPPED
meminfo_counters: MEMINFO_SHMEM
}
}
}
data_sources {
config {
name: "android.power"
target_buffer: 1
android_power_config {
battery_poll_ms: 5000
collect_power_rails: true
battery_counters: BATTERY_COUNTER_CAPACITY_PERCENT
battery_counters: BATTERY_COUNTER_CHARGE
battery_counters: BATTERY_COUNTER_CURRENT
}
}
}