• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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