Loading apct-tests/perftests/multiuser/Android.bp +1 −1 Original line number Diff line number Diff line Loading @@ -31,6 +31,6 @@ android_test { ], platform_apis: true, test_suites: ["device-tests"], data: [":perfetto_artifacts"], data: ["trace_configs/*"], certificate: "platform", } apct-tests/perftests/multiuser/AndroidManifest.xml +3 −1 Original line number Diff line number Diff line Loading @@ -20,10 +20,12 @@ <uses-permission android:name="android.permission.CONTROL_KEYGUARD" /> <uses-permission android:name="android.permission.DEVICE_POWER" /> <uses-permission android:name="android.permission.MANAGE_USERS" /> <uses-permission android:name="android.permission.INSTALL_PACKAGES" /> <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" /> <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> <uses-permission android:name="android.permission.MANAGE_USERS" /> <uses-permission android:name="android.permission.REAL_GET_TASKS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" /> <application> Loading apct-tests/perftests/multiuser/AndroidTest.xml +1 −1 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ <!-- Needed for pushing the trace config file --> <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer"/> <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer"> <option name="push-file" key="trace_config_detailed.textproto" value="/data/misc/perfetto-traces/trace_config.textproto" /> <option name="push-file" key="trace_config_multi_user.textproto" value="/data/misc/perfetto-traces/trace_config.textproto" /> <!--Install the content provider automatically when we push some file in sdcard folder.--> <!--Needed to avoid the installation during the test suite.--> <option name="push-file" key="trace_config_detailed.textproto" value="/sdcard/sample.textproto" /> Loading apct-tests/perftests/multiuser/trace_configs/trace_config_multi_user.textproto 0 → 100644 +154 −0 Original line number Diff line number Diff line # Copyright (C) 2021 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 1s. file_write_period_ms: 1000 # See b/126487238 - we need to guarantee ordering of events. flush_period_ms: 10000 # 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: 32768 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 # Store certain high-volume "sched" ftrace events in a denser format # (falling back to the default format if not supported by the tracer). compact_sched { enabled: true } # Enables symbol name resolution against /proc/kallsyms symbolize_ksyms: true # 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" # Old (kernel) LMK ftrace_events: "lowmemorykiller/lowmemory_kill" atrace_apps: "*" atrace_categories: "am" atrace_categories: "bionic" atrace_categories: "camera" atrace_categories: "wm" atrace_categories: "dalvik" atrace_categories: "sched" atrace_categories: "freq" atrace_categories: "gfx" atrace_categories: "view" atrace_categories: "webview" atrace_categories: "input" atrace_categories: "hal" atrace_categories: "binder_driver" atrace_categories: "sync" atrace_categories: "workq" atrace_categories: "res" } } } 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 } } } 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.surfaceflinger.frametimeline" } } apex/appsearch/service/java/com/android/server/appsearch/stats/PlatformLogger.java +3 −3 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ import java.util.Objects; import java.util.Random; /** * Logger Implementation using Westworld. * Logger Implementation to log to statsd. * * <p>This class is thread-safe. * Loading Loading @@ -95,7 +95,7 @@ public final class PlatformLogger implements AppSearchLogger { private long mLastPushTimeMillisLocked = 0; /** * Helper class to hold platform specific stats for Westworld. * Helper class to hold platform specific stats for statsd. */ static final class ExtraStats { // UID for the calling package of the stats. Loading @@ -113,7 +113,7 @@ public final class PlatformLogger implements AppSearchLogger { } /** * Westworld constructor * Constructor */ public PlatformLogger( @NonNull Context userContext, Loading Loading
apct-tests/perftests/multiuser/Android.bp +1 −1 Original line number Diff line number Diff line Loading @@ -31,6 +31,6 @@ android_test { ], platform_apis: true, test_suites: ["device-tests"], data: [":perfetto_artifacts"], data: ["trace_configs/*"], certificate: "platform", }
apct-tests/perftests/multiuser/AndroidManifest.xml +3 −1 Original line number Diff line number Diff line Loading @@ -20,10 +20,12 @@ <uses-permission android:name="android.permission.CONTROL_KEYGUARD" /> <uses-permission android:name="android.permission.DEVICE_POWER" /> <uses-permission android:name="android.permission.MANAGE_USERS" /> <uses-permission android:name="android.permission.INSTALL_PACKAGES" /> <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" /> <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> <uses-permission android:name="android.permission.MANAGE_USERS" /> <uses-permission android:name="android.permission.REAL_GET_TASKS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" /> <application> Loading
apct-tests/perftests/multiuser/AndroidTest.xml +1 −1 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ <!-- Needed for pushing the trace config file --> <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer"/> <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer"> <option name="push-file" key="trace_config_detailed.textproto" value="/data/misc/perfetto-traces/trace_config.textproto" /> <option name="push-file" key="trace_config_multi_user.textproto" value="/data/misc/perfetto-traces/trace_config.textproto" /> <!--Install the content provider automatically when we push some file in sdcard folder.--> <!--Needed to avoid the installation during the test suite.--> <option name="push-file" key="trace_config_detailed.textproto" value="/sdcard/sample.textproto" /> Loading
apct-tests/perftests/multiuser/trace_configs/trace_config_multi_user.textproto 0 → 100644 +154 −0 Original line number Diff line number Diff line # Copyright (C) 2021 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 1s. file_write_period_ms: 1000 # See b/126487238 - we need to guarantee ordering of events. flush_period_ms: 10000 # 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: 32768 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 # Store certain high-volume "sched" ftrace events in a denser format # (falling back to the default format if not supported by the tracer). compact_sched { enabled: true } # Enables symbol name resolution against /proc/kallsyms symbolize_ksyms: true # 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" # Old (kernel) LMK ftrace_events: "lowmemorykiller/lowmemory_kill" atrace_apps: "*" atrace_categories: "am" atrace_categories: "bionic" atrace_categories: "camera" atrace_categories: "wm" atrace_categories: "dalvik" atrace_categories: "sched" atrace_categories: "freq" atrace_categories: "gfx" atrace_categories: "view" atrace_categories: "webview" atrace_categories: "input" atrace_categories: "hal" atrace_categories: "binder_driver" atrace_categories: "sync" atrace_categories: "workq" atrace_categories: "res" } } } 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 } } } 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.surfaceflinger.frametimeline" } }
apex/appsearch/service/java/com/android/server/appsearch/stats/PlatformLogger.java +3 −3 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ import java.util.Objects; import java.util.Random; /** * Logger Implementation using Westworld. * Logger Implementation to log to statsd. * * <p>This class is thread-safe. * Loading Loading @@ -95,7 +95,7 @@ public final class PlatformLogger implements AppSearchLogger { private long mLastPushTimeMillisLocked = 0; /** * Helper class to hold platform specific stats for Westworld. * Helper class to hold platform specific stats for statsd. */ static final class ExtraStats { // UID for the calling package of the stats. Loading @@ -113,7 +113,7 @@ public final class PlatformLogger implements AppSearchLogger { } /** * Westworld constructor * Constructor */ public PlatformLogger( @NonNull Context userContext, Loading