1syntax = "proto3";
2
3package io.containerd.cgroups.v2;
4
5 import "gogoproto/gogo.proto";
6
7message Metrics {
8	PidsStat pids = 1;
9	CPUStat cpu = 2 [(gogoproto.customname) = "CPU"];
10	MemoryStat memory = 4;
11	RdmaStat rdma = 5;
12	IOStat io = 6;
13	repeated HugeTlbStat hugetlb = 7;
14	MemoryEvents memory_events = 8;
15}
16
17message PidsStat {
18	uint64 current = 1;
19	uint64 limit = 2;
20}
21
22message 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
31message 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
69message MemoryEvents {
70	uint64 low = 1;
71	uint64 high = 2;
72	uint64 max = 3;
73	uint64 oom = 4;
74	uint64 oom_kill = 5;
75}
76
77message RdmaStat {
78	repeated RdmaEntry current = 1;
79	repeated RdmaEntry limit = 2;
80}
81
82message RdmaEntry {
83	string device = 1;
84	uint32 hca_handles = 2;
85	uint32 hca_objects = 3;
86}
87
88message IOStat {
89	repeated IOEntry usage = 1;
90}
91
92message 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
101message HugeTlbStat {
102	uint64 current = 1;
103	uint64 max = 2;
104	string pagesize = 3;
105}
106