syntax = "proto3"; package Entry; message System { uint64 epoch = 1; CPUStats cpu = 2; MEMStats mem = 3; TEMPStats tmp = 4; repeated Block blks = 5; } message CPUStats { message Core { double usage = 1; fixed32 clock = 2; } message Subsystem { double diff = 1; double curr = 2; } Core base = 1; map subsystem = 2; map cores = 3; } message MEMStats { fixed64 total = 1; fixed64 avail = 2; fixed64 cache = 3; fixed64 share = 4; fixed64 tswap = 5; fixed64 uswap = 6; } message TEMPStats { fixed32 cur = 1; fixed32 min = 2; fixed32 max = 3; fixed32 avg = 4; } message Block { message Part { enum FSType { NONE = 0; EXT2 = 1; EXT3 = 2; EXT4 = 3; NTFS = 4; FAT32 = 5; XFS = 6; BTRFS = 7; APFS = 8; HFS_PLUS = 9; EXFAT = 10; ZFS = 11; SWAP = 12; LVM_PV = 13; } fixed64 size = 1; fixed64 free = 2; bool open = 3; string path = 4; FSType fmt = 5; } enum TableType { NONE = 0; MBR = 1; GPT = 2; APM = 3; BSD = 4; } string name = 1; TableType fmt = 2; fixed64 bread = 3; fixed64 bwrite = 4; fixed32 parts = 5; map part = 6; }