blob: 6cf6223fcd4bd911e89de922886c2efb9c36d5f6 [file] [log] [blame]
Sui Chen03eba282021-02-11 11:35:56 -08001syntax = "proto3";
2
3package bmcmetrics.metricproto;
4
5message BmcMemoryMetric {
6 int32 mem_available = 1;
7 int32 slab = 2;
8 int32 kernel_stack = 3;
9}
10
11message BmcUptimeMetric {
12 float uptime = 1; // Uptime (wall clock time)
13 float idle_process_time = 2; // Idle process time across all cores
14}
15
16message BmcDiskSpaceMetric {
17 int32 rwfs_kib_available = 1; // Free space in RWFS in KiB
18}
19
20// The following messages use string tables to save space
21message BmcProcStatMetric {
22 message BmcProcStat {
23 int32 sidx_cmdline = 1; // complete command line
24 float utime = 2; // Time (seconds) in user mode
25 float stime = 3; // Time (seconds) in kernel mode
26 }
27 repeated BmcProcStat stats = 10;
28}
29
30message BmcFdStatMetric {
31 message BmcFdStat {
32 int32 sidx_cmdline = 1; // complete command line
33 int32 fd_count = 2; // count of open FD's
34 }
35 repeated BmcFdStat stats = 10;
36}
37
38message BmcStringTable {
39 message StringEntry {
40 string value = 1;
41 }
42 repeated StringEntry entries = 10;
43}
44
45message BmcMetricSnapshot {
46 BmcStringTable string_table = 1;
47 BmcMemoryMetric memory_metric = 2;
48 BmcUptimeMetric uptime_metric = 3;
49 BmcDiskSpaceMetric storage_space_metric = 4;
50 BmcProcStatMetric procstat_metric = 5;
51 BmcFdStatMetric fdstat_metric = 6;
52}