syntax = "proto3"; package talos.resource.definitions.perf; option go_package = "github.com/siderolabs/talos/pkg/machinery/api/resource/definitions/perf"; option java_package = "dev.talos.api.resource.definitions.perf"; // CPUSpec represents the last CPU stats snapshot. message CPUSpec { repeated CPUStat cpu = 1; CPUStat cpu_total = 2; uint64 irq_total = 3; uint64 context_switches = 4; uint64 process_created = 5; uint64 process_running = 6; uint64 process_blocked = 7; uint64 soft_irq_total = 8; } // CPUStat represents a single cpu stat. message CPUStat { double user = 1; double nice = 2; double system = 3; double idle = 4; double iowait = 5; double irq = 6; double soft_irq = 7; double steal = 8; double guest = 9; double guest_nice = 10; } // MemorySpec represents the last Memory stats snapshot. message MemorySpec { uint64 mem_total = 1; uint64 mem_used = 2; uint64 mem_available = 3; uint64 buffers = 4; uint64 cached = 5; uint64 swap_cached = 6; uint64 active = 7; uint64 inactive = 8; uint64 active_anon = 9; uint64 inactive_anon = 10; uint64 active_file = 11; uint64 inactive_file = 12; uint64 unevictable = 13; uint64 mlocked = 14; uint64 swap_total = 15; uint64 swap_free = 16; uint64 dirty = 17; uint64 writeback = 18; uint64 anon_pages = 19; uint64 mapped = 20; uint64 shmem = 21; uint64 slab = 22; uint64 s_reclaimable = 23; uint64 s_unreclaim = 24; uint64 kernel_stack = 25; uint64 page_tables = 26; uint64 nf_sunstable = 27; uint64 bounce = 28; uint64 writeback_tmp = 29; uint64 commit_limit = 30; uint64 committed_as = 31; uint64 vmalloc_total = 32; uint64 vmalloc_used = 33; uint64 vmalloc_chunk = 34; uint64 hardware_corrupted = 35; uint64 anon_huge_pages = 36; uint64 shmem_huge_pages = 37; uint64 shmem_pmd_mapped = 38; uint64 cma_total = 39; uint64 cma_free = 40; uint64 huge_pages_total = 41; uint64 huge_pages_free = 42; uint64 huge_pages_rsvd = 43; uint64 huge_pages_surp = 44; uint64 hugepagesize = 45; uint64 direct_map4k = 46; uint64 direct_map2m = 47; uint64 direct_map1g = 48; }