• 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/profiling/heapprofd_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_HEAPPROFD_CONFIG_H_
29 #define INCLUDE_PERFETTO_TRACING_CORE_HEAPPROFD_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 // Forward declarations for protobuf types.
39 namespace perfetto {
40 namespace protos {
41 class HeapprofdConfig;
42 class HeapprofdConfig_ContinuousDumpConfig;
43 }  // namespace protos
44 }  // namespace perfetto
45 
46 namespace perfetto {
47 
48 class PERFETTO_EXPORT HeapprofdConfig {
49  public:
50   class PERFETTO_EXPORT ContinuousDumpConfig {
51    public:
52     ContinuousDumpConfig();
53     ~ContinuousDumpConfig();
54     ContinuousDumpConfig(ContinuousDumpConfig&&) noexcept;
55     ContinuousDumpConfig& operator=(ContinuousDumpConfig&&);
56     ContinuousDumpConfig(const ContinuousDumpConfig&);
57     ContinuousDumpConfig& operator=(const ContinuousDumpConfig&);
58     bool operator==(const ContinuousDumpConfig&) const;
59     bool operator!=(const ContinuousDumpConfig& other) const {
60       return !(*this == other);
61     }
62 
63     // Conversion methods from/to the corresponding protobuf types.
64     void FromProto(
65         const perfetto::protos::HeapprofdConfig_ContinuousDumpConfig&);
66     void ToProto(perfetto::protos::HeapprofdConfig_ContinuousDumpConfig*) const;
67 
dump_phase_ms()68     uint32_t dump_phase_ms() const { return dump_phase_ms_; }
set_dump_phase_ms(uint32_t value)69     void set_dump_phase_ms(uint32_t value) { dump_phase_ms_ = value; }
70 
dump_interval_ms()71     uint32_t dump_interval_ms() const { return dump_interval_ms_; }
set_dump_interval_ms(uint32_t value)72     void set_dump_interval_ms(uint32_t value) { dump_interval_ms_ = value; }
73 
74    private:
75     uint32_t dump_phase_ms_ = {};
76     uint32_t dump_interval_ms_ = {};
77 
78     // Allows to preserve unknown protobuf fields for compatibility
79     // with future versions of .proto files.
80     std::string unknown_fields_;
81   };
82 
83   HeapprofdConfig();
84   ~HeapprofdConfig();
85   HeapprofdConfig(HeapprofdConfig&&) noexcept;
86   HeapprofdConfig& operator=(HeapprofdConfig&&);
87   HeapprofdConfig(const HeapprofdConfig&);
88   HeapprofdConfig& operator=(const HeapprofdConfig&);
89   bool operator==(const HeapprofdConfig&) const;
90   bool operator!=(const HeapprofdConfig& other) const {
91     return !(*this == other);
92   }
93 
94   // Conversion methods from/to the corresponding protobuf types.
95   void FromProto(const perfetto::protos::HeapprofdConfig&);
96   void ToProto(perfetto::protos::HeapprofdConfig*) const;
97 
sampling_interval_bytes()98   uint64_t sampling_interval_bytes() const { return sampling_interval_bytes_; }
set_sampling_interval_bytes(uint64_t value)99   void set_sampling_interval_bytes(uint64_t value) {
100     sampling_interval_bytes_ = value;
101   }
102 
process_cmdline_size()103   int process_cmdline_size() const {
104     return static_cast<int>(process_cmdline_.size());
105   }
process_cmdline()106   const std::vector<std::string>& process_cmdline() const {
107     return process_cmdline_;
108   }
mutable_process_cmdline()109   std::vector<std::string>* mutable_process_cmdline() {
110     return &process_cmdline_;
111   }
clear_process_cmdline()112   void clear_process_cmdline() { process_cmdline_.clear(); }
add_process_cmdline()113   std::string* add_process_cmdline() {
114     process_cmdline_.emplace_back();
115     return &process_cmdline_.back();
116   }
117 
pid_size()118   int pid_size() const { return static_cast<int>(pid_.size()); }
pid()119   const std::vector<uint64_t>& pid() const { return pid_; }
mutable_pid()120   std::vector<uint64_t>* mutable_pid() { return &pid_; }
clear_pid()121   void clear_pid() { pid_.clear(); }
add_pid()122   uint64_t* add_pid() {
123     pid_.emplace_back();
124     return &pid_.back();
125   }
126 
all()127   bool all() const { return all_; }
set_all(bool value)128   void set_all(bool value) { all_ = value; }
129 
skip_symbol_prefix_size()130   int skip_symbol_prefix_size() const {
131     return static_cast<int>(skip_symbol_prefix_.size());
132   }
skip_symbol_prefix()133   const std::vector<std::string>& skip_symbol_prefix() const {
134     return skip_symbol_prefix_;
135   }
mutable_skip_symbol_prefix()136   std::vector<std::string>* mutable_skip_symbol_prefix() {
137     return &skip_symbol_prefix_;
138   }
clear_skip_symbol_prefix()139   void clear_skip_symbol_prefix() { skip_symbol_prefix_.clear(); }
add_skip_symbol_prefix()140   std::string* add_skip_symbol_prefix() {
141     skip_symbol_prefix_.emplace_back();
142     return &skip_symbol_prefix_.back();
143   }
144 
continuous_dump_config()145   const ContinuousDumpConfig& continuous_dump_config() const {
146     return continuous_dump_config_;
147   }
mutable_continuous_dump_config()148   ContinuousDumpConfig* mutable_continuous_dump_config() {
149     return &continuous_dump_config_;
150   }
151 
shmem_size_bytes()152   uint64_t shmem_size_bytes() const { return shmem_size_bytes_; }
set_shmem_size_bytes(uint64_t value)153   void set_shmem_size_bytes(uint64_t value) { shmem_size_bytes_ = value; }
154 
block_client()155   bool block_client() const { return block_client_; }
set_block_client(bool value)156   void set_block_client(bool value) { block_client_ = value; }
157 
158  private:
159   uint64_t sampling_interval_bytes_ = {};
160   std::vector<std::string> process_cmdline_;
161   std::vector<uint64_t> pid_;
162   bool all_ = {};
163   std::vector<std::string> skip_symbol_prefix_;
164   ContinuousDumpConfig continuous_dump_config_ = {};
165   uint64_t shmem_size_bytes_ = {};
166   bool block_client_ = {};
167 
168   // Allows to preserve unknown protobuf fields for compatibility
169   // with future versions of .proto files.
170   std::string unknown_fields_;
171 };
172 
173 }  // namespace perfetto
174 
175 #endif  // INCLUDE_PERFETTO_TRACING_CORE_HEAPPROFD_CONFIG_H_
176