metrics.proto (2026B)
1 syntax = "proto3"; 2 3 package io.containerd.cgroups.v2; 4 5 option go_package = "github.com/containerd/cgroups/cgroup2/stats"; 6 7 message Metrics { 8 PidsStat pids = 1; 9 CPUStat cpu = 2; 10 MemoryStat memory = 4; 11 RdmaStat rdma = 5; 12 IOStat io = 6; 13 repeated HugeTlbStat hugetlb = 7; 14 MemoryEvents memory_events = 8; 15 } 16 17 message PidsStat { 18 uint64 current = 1; 19 uint64 limit = 2; 20 } 21 22 message CPUStat { 23 uint64 usage_usec = 1; 24 uint64 user_usec = 2; 25 uint64 system_usec = 3; 26 uint64 nr_periods = 4; 27 uint64 nr_throttled = 5; 28 uint64 throttled_usec = 6; 29 } 30 31 message MemoryStat { 32 uint64 anon = 1; 33 uint64 file = 2; 34 uint64 kernel_stack = 3; 35 uint64 slab = 4; 36 uint64 sock = 5; 37 uint64 shmem = 6; 38 uint64 file_mapped = 7; 39 uint64 file_dirty = 8; 40 uint64 file_writeback = 9; 41 uint64 anon_thp = 10; 42 uint64 inactive_anon = 11; 43 uint64 active_anon = 12; 44 uint64 inactive_file = 13; 45 uint64 active_file = 14; 46 uint64 unevictable = 15; 47 uint64 slab_reclaimable = 16; 48 uint64 slab_unreclaimable = 17; 49 uint64 pgfault = 18; 50 uint64 pgmajfault = 19; 51 uint64 workingset_refault = 20; 52 uint64 workingset_activate = 21; 53 uint64 workingset_nodereclaim = 22; 54 uint64 pgrefill = 23; 55 uint64 pgscan = 24; 56 uint64 pgsteal = 25; 57 uint64 pgactivate = 26; 58 uint64 pgdeactivate = 27; 59 uint64 pglazyfree = 28; 60 uint64 pglazyfreed = 29; 61 uint64 thp_fault_alloc = 30; 62 uint64 thp_collapse_alloc = 31; 63 uint64 usage = 32; 64 uint64 usage_limit = 33; 65 uint64 swap_usage = 34; 66 uint64 swap_limit = 35; 67 } 68 69 message MemoryEvents { 70 uint64 low = 1; 71 uint64 high = 2; 72 uint64 max = 3; 73 uint64 oom = 4; 74 uint64 oom_kill = 5; 75 } 76 77 message RdmaStat { 78 repeated RdmaEntry current = 1; 79 repeated RdmaEntry limit = 2; 80 } 81 82 message RdmaEntry { 83 string device = 1; 84 uint32 hca_handles = 2; 85 uint32 hca_objects = 3; 86 } 87 88 message IOStat { 89 repeated IOEntry usage = 1; 90 } 91 92 message IOEntry { 93 uint64 major = 1; 94 uint64 minor = 2; 95 uint64 rbytes = 3; 96 uint64 wbytes = 4; 97 uint64 rios = 5; 98 uint64 wios = 6; 99 } 100 101 message HugeTlbStat { 102 uint64 current = 1; 103 uint64 max = 2; 104 string pagesize = 3; 105 }