• 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 
17 /*******************************************************************************
18  * AUTOGENERATED - DO NOT EDIT
19  *******************************************************************************
20  * This file has been generated from the protobuf message
21  * perfetto/config/sys_stats/sys_stats_config.proto
22  * by
23  * ../../tools/proto_to_cpp/proto_to_cpp.cc.
24  * If you need to make changes here, change the .proto file and then run
25  * ./tools/gen_tracing_cpp_headers_from_protos
26  */
27 
28 #ifndef INCLUDE_PERFETTO_TRACING_CORE_SYS_STATS_CONFIG_H_
29 #define INCLUDE_PERFETTO_TRACING_CORE_SYS_STATS_CONFIG_H_
30 
31 #include <stdint.h>
32 #include <string>
33 #include <type_traits>
34 #include <vector>
35 
36 #include "perfetto/base/export.h"
37 
38 #include "perfetto/tracing/core/sys_stats_counters.h"
39 
40 // Forward declarations for protobuf types.
41 namespace perfetto {
42 namespace protos {
43 class SysStatsConfig;
44 }
45 }  // namespace perfetto
46 
47 namespace perfetto {
48 
49 class PERFETTO_EXPORT SysStatsConfig {
50  public:
51   enum MeminfoCounters {
52     MEMINFO_UNSPECIFIED = 0,
53     MEMINFO_MEM_TOTAL = 1,
54     MEMINFO_MEM_FREE = 2,
55     MEMINFO_MEM_AVAILABLE = 3,
56     MEMINFO_BUFFERS = 4,
57     MEMINFO_CACHED = 5,
58     MEMINFO_SWAP_CACHED = 6,
59     MEMINFO_ACTIVE = 7,
60     MEMINFO_INACTIVE = 8,
61     MEMINFO_ACTIVE_ANON = 9,
62     MEMINFO_INACTIVE_ANON = 10,
63     MEMINFO_ACTIVE_FILE = 11,
64     MEMINFO_INACTIVE_FILE = 12,
65     MEMINFO_UNEVICTABLE = 13,
66     MEMINFO_MLOCKED = 14,
67     MEMINFO_SWAP_TOTAL = 15,
68     MEMINFO_SWAP_FREE = 16,
69     MEMINFO_DIRTY = 17,
70     MEMINFO_WRITEBACK = 18,
71     MEMINFO_ANON_PAGES = 19,
72     MEMINFO_MAPPED = 20,
73     MEMINFO_SHMEM = 21,
74     MEMINFO_SLAB = 22,
75     MEMINFO_SLAB_RECLAIMABLE = 23,
76     MEMINFO_SLAB_UNRECLAIMABLE = 24,
77     MEMINFO_KERNEL_STACK = 25,
78     MEMINFO_PAGE_TABLES = 26,
79     MEMINFO_COMMIT_LIMIT = 27,
80     MEMINFO_COMMITED_AS = 28,
81     MEMINFO_VMALLOC_TOTAL = 29,
82     MEMINFO_VMALLOC_USED = 30,
83     MEMINFO_VMALLOC_CHUNK = 31,
84     MEMINFO_CMA_TOTAL = 32,
85     MEMINFO_CMA_FREE = 33,
86   };
87   enum VmstatCounters {
88     VMSTAT_UNSPECIFIED = 0,
89     VMSTAT_NR_FREE_PAGES = 1,
90     VMSTAT_NR_ALLOC_BATCH = 2,
91     VMSTAT_NR_INACTIVE_ANON = 3,
92     VMSTAT_NR_ACTIVE_ANON = 4,
93     VMSTAT_NR_INACTIVE_FILE = 5,
94     VMSTAT_NR_ACTIVE_FILE = 6,
95     VMSTAT_NR_UNEVICTABLE = 7,
96     VMSTAT_NR_MLOCK = 8,
97     VMSTAT_NR_ANON_PAGES = 9,
98     VMSTAT_NR_MAPPED = 10,
99     VMSTAT_NR_FILE_PAGES = 11,
100     VMSTAT_NR_DIRTY = 12,
101     VMSTAT_NR_WRITEBACK = 13,
102     VMSTAT_NR_SLAB_RECLAIMABLE = 14,
103     VMSTAT_NR_SLAB_UNRECLAIMABLE = 15,
104     VMSTAT_NR_PAGE_TABLE_PAGES = 16,
105     VMSTAT_NR_KERNEL_STACK = 17,
106     VMSTAT_NR_OVERHEAD = 18,
107     VMSTAT_NR_UNSTABLE = 19,
108     VMSTAT_NR_BOUNCE = 20,
109     VMSTAT_NR_VMSCAN_WRITE = 21,
110     VMSTAT_NR_VMSCAN_IMMEDIATE_RECLAIM = 22,
111     VMSTAT_NR_WRITEBACK_TEMP = 23,
112     VMSTAT_NR_ISOLATED_ANON = 24,
113     VMSTAT_NR_ISOLATED_FILE = 25,
114     VMSTAT_NR_SHMEM = 26,
115     VMSTAT_NR_DIRTIED = 27,
116     VMSTAT_NR_WRITTEN = 28,
117     VMSTAT_NR_PAGES_SCANNED = 29,
118     VMSTAT_WORKINGSET_REFAULT = 30,
119     VMSTAT_WORKINGSET_ACTIVATE = 31,
120     VMSTAT_WORKINGSET_NODERECLAIM = 32,
121     VMSTAT_NR_ANON_TRANSPARENT_HUGEPAGES = 33,
122     VMSTAT_NR_FREE_CMA = 34,
123     VMSTAT_NR_SWAPCACHE = 35,
124     VMSTAT_NR_DIRTY_THRESHOLD = 36,
125     VMSTAT_NR_DIRTY_BACKGROUND_THRESHOLD = 37,
126     VMSTAT_PGPGIN = 38,
127     VMSTAT_PGPGOUT = 39,
128     VMSTAT_PGPGOUTCLEAN = 40,
129     VMSTAT_PSWPIN = 41,
130     VMSTAT_PSWPOUT = 42,
131     VMSTAT_PGALLOC_DMA = 43,
132     VMSTAT_PGALLOC_NORMAL = 44,
133     VMSTAT_PGALLOC_MOVABLE = 45,
134     VMSTAT_PGFREE = 46,
135     VMSTAT_PGACTIVATE = 47,
136     VMSTAT_PGDEACTIVATE = 48,
137     VMSTAT_PGFAULT = 49,
138     VMSTAT_PGMAJFAULT = 50,
139     VMSTAT_PGREFILL_DMA = 51,
140     VMSTAT_PGREFILL_NORMAL = 52,
141     VMSTAT_PGREFILL_MOVABLE = 53,
142     VMSTAT_PGSTEAL_KSWAPD_DMA = 54,
143     VMSTAT_PGSTEAL_KSWAPD_NORMAL = 55,
144     VMSTAT_PGSTEAL_KSWAPD_MOVABLE = 56,
145     VMSTAT_PGSTEAL_DIRECT_DMA = 57,
146     VMSTAT_PGSTEAL_DIRECT_NORMAL = 58,
147     VMSTAT_PGSTEAL_DIRECT_MOVABLE = 59,
148     VMSTAT_PGSCAN_KSWAPD_DMA = 60,
149     VMSTAT_PGSCAN_KSWAPD_NORMAL = 61,
150     VMSTAT_PGSCAN_KSWAPD_MOVABLE = 62,
151     VMSTAT_PGSCAN_DIRECT_DMA = 63,
152     VMSTAT_PGSCAN_DIRECT_NORMAL = 64,
153     VMSTAT_PGSCAN_DIRECT_MOVABLE = 65,
154     VMSTAT_PGSCAN_DIRECT_THROTTLE = 66,
155     VMSTAT_PGINODESTEAL = 67,
156     VMSTAT_SLABS_SCANNED = 68,
157     VMSTAT_KSWAPD_INODESTEAL = 69,
158     VMSTAT_KSWAPD_LOW_WMARK_HIT_QUICKLY = 70,
159     VMSTAT_KSWAPD_HIGH_WMARK_HIT_QUICKLY = 71,
160     VMSTAT_PAGEOUTRUN = 72,
161     VMSTAT_ALLOCSTALL = 73,
162     VMSTAT_PGROTATED = 74,
163     VMSTAT_DROP_PAGECACHE = 75,
164     VMSTAT_DROP_SLAB = 76,
165     VMSTAT_PGMIGRATE_SUCCESS = 77,
166     VMSTAT_PGMIGRATE_FAIL = 78,
167     VMSTAT_COMPACT_MIGRATE_SCANNED = 79,
168     VMSTAT_COMPACT_FREE_SCANNED = 80,
169     VMSTAT_COMPACT_ISOLATED = 81,
170     VMSTAT_COMPACT_STALL = 82,
171     VMSTAT_COMPACT_FAIL = 83,
172     VMSTAT_COMPACT_SUCCESS = 84,
173     VMSTAT_COMPACT_DAEMON_WAKE = 85,
174     VMSTAT_UNEVICTABLE_PGS_CULLED = 86,
175     VMSTAT_UNEVICTABLE_PGS_SCANNED = 87,
176     VMSTAT_UNEVICTABLE_PGS_RESCUED = 88,
177     VMSTAT_UNEVICTABLE_PGS_MLOCKED = 89,
178     VMSTAT_UNEVICTABLE_PGS_MUNLOCKED = 90,
179     VMSTAT_UNEVICTABLE_PGS_CLEARED = 91,
180     VMSTAT_UNEVICTABLE_PGS_STRANDED = 92,
181   };
182   enum StatCounters {
183     STAT_UNSPECIFIED = 0,
184     STAT_CPU_TIMES = 1,
185     STAT_IRQ_COUNTS = 2,
186     STAT_SOFTIRQ_COUNTS = 3,
187     STAT_FORK_COUNT = 4,
188   };
189   SysStatsConfig();
190   ~SysStatsConfig();
191   SysStatsConfig(SysStatsConfig&&) noexcept;
192   SysStatsConfig& operator=(SysStatsConfig&&);
193   SysStatsConfig(const SysStatsConfig&);
194   SysStatsConfig& operator=(const SysStatsConfig&);
195   bool operator==(const SysStatsConfig&) const;
196   bool operator!=(const SysStatsConfig& other) const {
197     return !(*this == other);
198   }
199 
200   // Conversion methods from/to the corresponding protobuf types.
201   void FromProto(const perfetto::protos::SysStatsConfig&);
202   void ToProto(perfetto::protos::SysStatsConfig*) const;
203 
meminfo_period_ms()204   uint32_t meminfo_period_ms() const { return meminfo_period_ms_; }
set_meminfo_period_ms(uint32_t value)205   void set_meminfo_period_ms(uint32_t value) { meminfo_period_ms_ = value; }
206 
meminfo_counters_size()207   int meminfo_counters_size() const {
208     return static_cast<int>(meminfo_counters_.size());
209   }
meminfo_counters()210   const std::vector<MeminfoCounters>& meminfo_counters() const {
211     return meminfo_counters_;
212   }
mutable_meminfo_counters()213   std::vector<MeminfoCounters>* mutable_meminfo_counters() {
214     return &meminfo_counters_;
215   }
clear_meminfo_counters()216   void clear_meminfo_counters() { meminfo_counters_.clear(); }
add_meminfo_counters()217   MeminfoCounters* add_meminfo_counters() {
218     meminfo_counters_.emplace_back();
219     return &meminfo_counters_.back();
220   }
221 
vmstat_period_ms()222   uint32_t vmstat_period_ms() const { return vmstat_period_ms_; }
set_vmstat_period_ms(uint32_t value)223   void set_vmstat_period_ms(uint32_t value) { vmstat_period_ms_ = value; }
224 
vmstat_counters_size()225   int vmstat_counters_size() const {
226     return static_cast<int>(vmstat_counters_.size());
227   }
vmstat_counters()228   const std::vector<VmstatCounters>& vmstat_counters() const {
229     return vmstat_counters_;
230   }
mutable_vmstat_counters()231   std::vector<VmstatCounters>* mutable_vmstat_counters() {
232     return &vmstat_counters_;
233   }
clear_vmstat_counters()234   void clear_vmstat_counters() { vmstat_counters_.clear(); }
add_vmstat_counters()235   VmstatCounters* add_vmstat_counters() {
236     vmstat_counters_.emplace_back();
237     return &vmstat_counters_.back();
238   }
239 
stat_period_ms()240   uint32_t stat_period_ms() const { return stat_period_ms_; }
set_stat_period_ms(uint32_t value)241   void set_stat_period_ms(uint32_t value) { stat_period_ms_ = value; }
242 
stat_counters_size()243   int stat_counters_size() const {
244     return static_cast<int>(stat_counters_.size());
245   }
stat_counters()246   const std::vector<StatCounters>& stat_counters() const {
247     return stat_counters_;
248   }
mutable_stat_counters()249   std::vector<StatCounters>* mutable_stat_counters() { return &stat_counters_; }
clear_stat_counters()250   void clear_stat_counters() { stat_counters_.clear(); }
add_stat_counters()251   StatCounters* add_stat_counters() {
252     stat_counters_.emplace_back();
253     return &stat_counters_.back();
254   }
255 
256  private:
257   uint32_t meminfo_period_ms_ = {};
258   std::vector<MeminfoCounters> meminfo_counters_;
259   uint32_t vmstat_period_ms_ = {};
260   std::vector<VmstatCounters> vmstat_counters_;
261   uint32_t stat_period_ms_ = {};
262   std::vector<StatCounters> stat_counters_;
263 
264   // Allows to preserve unknown protobuf fields for compatibility
265   // with future versions of .proto files.
266   std::string unknown_fields_;
267 };
268 
269 }  // namespace perfetto
270 
271 #endif  // INCLUDE_PERFETTO_TRACING_CORE_SYS_STATS_CONFIG_H_
272