1/* 2 * Copyright (C) 2017 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17syntax = "proto2"; 18 19package perfetto.protos; 20 21message FtraceConfig { 22 repeated string ftrace_events = 1; 23 repeated string atrace_categories = 2; 24 repeated string atrace_apps = 3; 25 // *Per-CPU* buffer size. 26 optional uint32 buffer_size_kb = 10; 27 optional uint32 drain_period_ms = 11; 28 29 // Configuration for compact encoding of scheduler events. When enabled (and 30 // recording the relevant ftrace events), specific high-volume events are 31 // encoded in a denser format than normal. 32 message CompactSchedConfig { 33 // If true, and sched_switch or sched_waking ftrace events are enabled, 34 // record those events in the compact format. 35 optional bool enabled = 1; 36 } 37 optional CompactSchedConfig compact_sched = 12; 38 39 // Enables symbol name resolution against /proc/kallsyms. 40 // It requires that either traced_probes is running as root or that 41 // kptr_restrict has been manually lowered. 42 // It does not disclose KASLR, symbol addresses are mangled. 43 optional bool symbolize_ksyms = 13; 44 45 // By default the kernel symbolizer is lazily initialized on a deferred task 46 // to reduce ftrace's time-to-start-recording. Unfortunately that makes 47 // ksyms integration tests hard. This flag forces the kernel symbolizer to be 48 // initialized synchronously on the data source start and hence avoiding 49 // timing races in tests. 50 optional bool initialize_ksyms_synchronously_for_testing = 14; 51} 52