blob: 5e1b0da51a3bcaf86e62e28e00e9c4d7db5bdfb2 [file] [log] [blame]
/*
* Copyright (C) 2017 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.
*/
/*******************************************************************************
* AUTOGENERATED - DO NOT EDIT
*******************************************************************************
* This file has been generated from the protobuf message
* perfetto/config/sys_stats/sys_stats_config.proto
* by
* ../../tools/proto_to_cpp/proto_to_cpp.cc.
* If you need to make changes here, change the .proto file and then run
* ./tools/gen_tracing_cpp_headers_from_protos
*/
#ifndef INCLUDE_PERFETTO_TRACING_CORE_SYS_STATS_CONFIG_H_
#define INCLUDE_PERFETTO_TRACING_CORE_SYS_STATS_CONFIG_H_
#include <stdint.h>
#include <string>
#include <type_traits>
#include <vector>
#include "perfetto/base/export.h"
#include "perfetto/tracing/core/sys_stats_counters.h"
// Forward declarations for protobuf types.
namespace perfetto {
namespace protos {
class SysStatsConfig;
}
} // namespace perfetto
namespace perfetto {
class PERFETTO_EXPORT SysStatsConfig {
public:
enum MeminfoCounters {
MEMINFO_UNSPECIFIED = 0,
MEMINFO_MEM_TOTAL = 1,
MEMINFO_MEM_FREE = 2,
MEMINFO_MEM_AVAILABLE = 3,
MEMINFO_BUFFERS = 4,
MEMINFO_CACHED = 5,
MEMINFO_SWAP_CACHED = 6,
MEMINFO_ACTIVE = 7,
MEMINFO_INACTIVE = 8,
MEMINFO_ACTIVE_ANON = 9,
MEMINFO_INACTIVE_ANON = 10,
MEMINFO_ACTIVE_FILE = 11,
MEMINFO_INACTIVE_FILE = 12,
MEMINFO_UNEVICTABLE = 13,
MEMINFO_MLOCKED = 14,
MEMINFO_SWAP_TOTAL = 15,
MEMINFO_SWAP_FREE = 16,
MEMINFO_DIRTY = 17,
MEMINFO_WRITEBACK = 18,
MEMINFO_ANON_PAGES = 19,
MEMINFO_MAPPED = 20,
MEMINFO_SHMEM = 21,
MEMINFO_SLAB = 22,
MEMINFO_SLAB_RECLAIMABLE = 23,
MEMINFO_SLAB_UNRECLAIMABLE = 24,
MEMINFO_KERNEL_STACK = 25,
MEMINFO_PAGE_TABLES = 26,
MEMINFO_COMMIT_LIMIT = 27,
MEMINFO_COMMITED_AS = 28,
MEMINFO_VMALLOC_TOTAL = 29,
MEMINFO_VMALLOC_USED = 30,
MEMINFO_VMALLOC_CHUNK = 31,
MEMINFO_CMA_TOTAL = 32,
MEMINFO_CMA_FREE = 33,
};
enum VmstatCounters {
VMSTAT_UNSPECIFIED = 0,
VMSTAT_NR_FREE_PAGES = 1,
VMSTAT_NR_ALLOC_BATCH = 2,
VMSTAT_NR_INACTIVE_ANON = 3,
VMSTAT_NR_ACTIVE_ANON = 4,
VMSTAT_NR_INACTIVE_FILE = 5,
VMSTAT_NR_ACTIVE_FILE = 6,
VMSTAT_NR_UNEVICTABLE = 7,
VMSTAT_NR_MLOCK = 8,
VMSTAT_NR_ANON_PAGES = 9,
VMSTAT_NR_MAPPED = 10,
VMSTAT_NR_FILE_PAGES = 11,
VMSTAT_NR_DIRTY = 12,
VMSTAT_NR_WRITEBACK = 13,
VMSTAT_NR_SLAB_RECLAIMABLE = 14,
VMSTAT_NR_SLAB_UNRECLAIMABLE = 15,
VMSTAT_NR_PAGE_TABLE_PAGES = 16,
VMSTAT_NR_KERNEL_STACK = 17,
VMSTAT_NR_OVERHEAD = 18,
VMSTAT_NR_UNSTABLE = 19,
VMSTAT_NR_BOUNCE = 20,
VMSTAT_NR_VMSCAN_WRITE = 21,
VMSTAT_NR_VMSCAN_IMMEDIATE_RECLAIM = 22,
VMSTAT_NR_WRITEBACK_TEMP = 23,
VMSTAT_NR_ISOLATED_ANON = 24,
VMSTAT_NR_ISOLATED_FILE = 25,
VMSTAT_NR_SHMEM = 26,
VMSTAT_NR_DIRTIED = 27,
VMSTAT_NR_WRITTEN = 28,
VMSTAT_NR_PAGES_SCANNED = 29,
VMSTAT_WORKINGSET_REFAULT = 30,
VMSTAT_WORKINGSET_ACTIVATE = 31,
VMSTAT_WORKINGSET_NODERECLAIM = 32,
VMSTAT_NR_ANON_TRANSPARENT_HUGEPAGES = 33,
VMSTAT_NR_FREE_CMA = 34,
VMSTAT_NR_SWAPCACHE = 35,
VMSTAT_NR_DIRTY_THRESHOLD = 36,
VMSTAT_NR_DIRTY_BACKGROUND_THRESHOLD = 37,
VMSTAT_PGPGIN = 38,
VMSTAT_PGPGOUT = 39,
VMSTAT_PGPGOUTCLEAN = 40,
VMSTAT_PSWPIN = 41,
VMSTAT_PSWPOUT = 42,
VMSTAT_PGALLOC_DMA = 43,
VMSTAT_PGALLOC_NORMAL = 44,
VMSTAT_PGALLOC_MOVABLE = 45,
VMSTAT_PGFREE = 46,
VMSTAT_PGACTIVATE = 47,
VMSTAT_PGDEACTIVATE = 48,
VMSTAT_PGFAULT = 49,
VMSTAT_PGMAJFAULT = 50,
VMSTAT_PGREFILL_DMA = 51,
VMSTAT_PGREFILL_NORMAL = 52,
VMSTAT_PGREFILL_MOVABLE = 53,
VMSTAT_PGSTEAL_KSWAPD_DMA = 54,
VMSTAT_PGSTEAL_KSWAPD_NORMAL = 55,
VMSTAT_PGSTEAL_KSWAPD_MOVABLE = 56,
VMSTAT_PGSTEAL_DIRECT_DMA = 57,
VMSTAT_PGSTEAL_DIRECT_NORMAL = 58,
VMSTAT_PGSTEAL_DIRECT_MOVABLE = 59,
VMSTAT_PGSCAN_KSWAPD_DMA = 60,
VMSTAT_PGSCAN_KSWAPD_NORMAL = 61,
VMSTAT_PGSCAN_KSWAPD_MOVABLE = 62,
VMSTAT_PGSCAN_DIRECT_DMA = 63,
VMSTAT_PGSCAN_DIRECT_NORMAL = 64,
VMSTAT_PGSCAN_DIRECT_MOVABLE = 65,
VMSTAT_PGSCAN_DIRECT_THROTTLE = 66,
VMSTAT_PGINODESTEAL = 67,
VMSTAT_SLABS_SCANNED = 68,
VMSTAT_KSWAPD_INODESTEAL = 69,
VMSTAT_KSWAPD_LOW_WMARK_HIT_QUICKLY = 70,
VMSTAT_KSWAPD_HIGH_WMARK_HIT_QUICKLY = 71,
VMSTAT_PAGEOUTRUN = 72,
VMSTAT_ALLOCSTALL = 73,
VMSTAT_PGROTATED = 74,
VMSTAT_DROP_PAGECACHE = 75,
VMSTAT_DROP_SLAB = 76,
VMSTAT_PGMIGRATE_SUCCESS = 77,
VMSTAT_PGMIGRATE_FAIL = 78,
VMSTAT_COMPACT_MIGRATE_SCANNED = 79,
VMSTAT_COMPACT_FREE_SCANNED = 80,
VMSTAT_COMPACT_ISOLATED = 81,
VMSTAT_COMPACT_STALL = 82,
VMSTAT_COMPACT_FAIL = 83,
VMSTAT_COMPACT_SUCCESS = 84,
VMSTAT_COMPACT_DAEMON_WAKE = 85,
VMSTAT_UNEVICTABLE_PGS_CULLED = 86,
VMSTAT_UNEVICTABLE_PGS_SCANNED = 87,
VMSTAT_UNEVICTABLE_PGS_RESCUED = 88,
VMSTAT_UNEVICTABLE_PGS_MLOCKED = 89,
VMSTAT_UNEVICTABLE_PGS_MUNLOCKED = 90,
VMSTAT_UNEVICTABLE_PGS_CLEARED = 91,
VMSTAT_UNEVICTABLE_PGS_STRANDED = 92,
};
enum StatCounters {
STAT_UNSPECIFIED = 0,
STAT_CPU_TIMES = 1,
STAT_IRQ_COUNTS = 2,
STAT_SOFTIRQ_COUNTS = 3,
STAT_FORK_COUNT = 4,
};
SysStatsConfig();
~SysStatsConfig();
SysStatsConfig(SysStatsConfig&&) noexcept;
SysStatsConfig& operator=(SysStatsConfig&&);
SysStatsConfig(const SysStatsConfig&);
SysStatsConfig& operator=(const SysStatsConfig&);
bool operator==(const SysStatsConfig&) const;
bool operator!=(const SysStatsConfig& other) const {
return !(*this == other);
}
// Conversion methods from/to the corresponding protobuf types.
void FromProto(const perfetto::protos::SysStatsConfig&);
void ToProto(perfetto::protos::SysStatsConfig*) const;
uint32_t meminfo_period_ms() const { return meminfo_period_ms_; }
void set_meminfo_period_ms(uint32_t value) { meminfo_period_ms_ = value; }
int meminfo_counters_size() const {
return static_cast<int>(meminfo_counters_.size());
}
const std::vector<MeminfoCounters>& meminfo_counters() const {
return meminfo_counters_;
}
std::vector<MeminfoCounters>* mutable_meminfo_counters() {
return &meminfo_counters_;
}
void clear_meminfo_counters() { meminfo_counters_.clear(); }
MeminfoCounters* add_meminfo_counters() {
meminfo_counters_.emplace_back();
return &meminfo_counters_.back();
}
uint32_t vmstat_period_ms() const { return vmstat_period_ms_; }
void set_vmstat_period_ms(uint32_t value) { vmstat_period_ms_ = value; }
int vmstat_counters_size() const {
return static_cast<int>(vmstat_counters_.size());
}
const std::vector<VmstatCounters>& vmstat_counters() const {
return vmstat_counters_;
}
std::vector<VmstatCounters>* mutable_vmstat_counters() {
return &vmstat_counters_;
}
void clear_vmstat_counters() { vmstat_counters_.clear(); }
VmstatCounters* add_vmstat_counters() {
vmstat_counters_.emplace_back();
return &vmstat_counters_.back();
}
uint32_t stat_period_ms() const { return stat_period_ms_; }
void set_stat_period_ms(uint32_t value) { stat_period_ms_ = value; }
int stat_counters_size() const {
return static_cast<int>(stat_counters_.size());
}
const std::vector<StatCounters>& stat_counters() const {
return stat_counters_;
}
std::vector<StatCounters>* mutable_stat_counters() { return &stat_counters_; }
void clear_stat_counters() { stat_counters_.clear(); }
StatCounters* add_stat_counters() {
stat_counters_.emplace_back();
return &stat_counters_.back();
}
private:
uint32_t meminfo_period_ms_ = {};
std::vector<MeminfoCounters> meminfo_counters_;
uint32_t vmstat_period_ms_ = {};
std::vector<VmstatCounters> vmstat_counters_;
uint32_t stat_period_ms_ = {};
std::vector<StatCounters> stat_counters_;
// Allows to preserve unknown protobuf fields for compatibility
// with future versions of .proto files.
std::string unknown_fields_;
};
} // namespace perfetto
#endif // INCLUDE_PERFETTO_TRACING_CORE_SYS_STATS_CONFIG_H_