metrics.proto 2.0 KB

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