xref: /openbmc/google-misc/dhcp-done/subprojects/metrics-ipmi-blobs/metricblob.proto (revision 1285115c16180bd28a3cfe79d9db8d10c84fe2ed)
1*1285115cSWilliam A. Kennington III// Copyright 2021 Google LLC
2*1285115cSWilliam A. Kennington III//
3*1285115cSWilliam A. Kennington III// Licensed under the Apache License, Version 2.0 (the "License");
4*1285115cSWilliam A. Kennington III// you may not use this file except in compliance with the License.
5*1285115cSWilliam A. Kennington III// You may obtain a copy of the License at
6*1285115cSWilliam A. Kennington III//
7*1285115cSWilliam A. Kennington III//      http://www.apache.org/licenses/LICENSE-2.0
8*1285115cSWilliam A. Kennington III//
9*1285115cSWilliam A. Kennington III// Unless required by applicable law or agreed to in writing, software
10*1285115cSWilliam A. Kennington III// distributed under the License is distributed on an "AS IS" BASIS,
11*1285115cSWilliam A. Kennington III// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*1285115cSWilliam A. Kennington III// See the License for the specific language governing permissions and
13*1285115cSWilliam A. Kennington III// limitations under the License.
14*1285115cSWilliam A. Kennington III
15*1285115cSWilliam A. Kennington IIIsyntax = "proto3";
16*1285115cSWilliam A. Kennington III
17*1285115cSWilliam A. Kennington IIIpackage bmcmetrics.metricproto;
18*1285115cSWilliam A. Kennington III
19*1285115cSWilliam A. Kennington IIImessage BmcMemoryMetric {
20*1285115cSWilliam A. Kennington III  int32 mem_available = 1;
21*1285115cSWilliam A. Kennington III  int32 slab = 2;
22*1285115cSWilliam A. Kennington III  int32 kernel_stack = 3;
23*1285115cSWilliam A. Kennington III}
24*1285115cSWilliam A. Kennington III
25*1285115cSWilliam A. Kennington IIImessage BmcUptimeMetric {
26*1285115cSWilliam A. Kennington III  float uptime = 1;             // Uptime (wall clock time)
27*1285115cSWilliam A. Kennington III  float idle_process_time = 2;  // Idle process time across all cores
28*1285115cSWilliam A. Kennington III}
29*1285115cSWilliam A. Kennington III
30*1285115cSWilliam A. Kennington IIImessage BmcDiskSpaceMetric {
31*1285115cSWilliam A. Kennington III  int32 rwfs_kib_available = 1;  // Free space in RWFS in KiB
32*1285115cSWilliam A. Kennington III}
33*1285115cSWilliam A. Kennington III
34*1285115cSWilliam A. Kennington III// The following messages use string tables to save space
35*1285115cSWilliam A. Kennington IIImessage BmcProcStatMetric {
36*1285115cSWilliam A. Kennington III  message BmcProcStat {
37*1285115cSWilliam A. Kennington III    int32 sidx_cmdline = 1;  // complete command line
38*1285115cSWilliam A. Kennington III    float utime = 2;         // Time (seconds) in user mode
39*1285115cSWilliam A. Kennington III    float stime = 3;         // Time (seconds) in kernel mode
40*1285115cSWilliam A. Kennington III  }
41*1285115cSWilliam A. Kennington III  repeated BmcProcStat stats = 10;
42*1285115cSWilliam A. Kennington III}
43*1285115cSWilliam A. Kennington III
44*1285115cSWilliam A. Kennington IIImessage BmcFdStatMetric {
45*1285115cSWilliam A. Kennington III  message BmcFdStat {
46*1285115cSWilliam A. Kennington III    int32 sidx_cmdline = 1;  // complete command line
47*1285115cSWilliam A. Kennington III    int32 fd_count = 2;      // count of open FD's
48*1285115cSWilliam A. Kennington III  }
49*1285115cSWilliam A. Kennington III  repeated BmcFdStat stats = 10;
50*1285115cSWilliam A. Kennington III}
51*1285115cSWilliam A. Kennington III
52*1285115cSWilliam A. Kennington IIImessage BmcStringTable {
53*1285115cSWilliam A. Kennington III  message StringEntry {
54*1285115cSWilliam A. Kennington III    string value = 1;
55*1285115cSWilliam A. Kennington III  }
56*1285115cSWilliam A. Kennington III  repeated StringEntry entries = 10;
57*1285115cSWilliam A. Kennington III}
58*1285115cSWilliam A. Kennington III
59*1285115cSWilliam A. Kennington IIImessage BmcMetricSnapshot {
60*1285115cSWilliam A. Kennington III  BmcStringTable string_table = 1;
61*1285115cSWilliam A. Kennington III  BmcMemoryMetric memory_metric = 2;
62*1285115cSWilliam A. Kennington III  BmcUptimeMetric uptime_metric = 3;
63*1285115cSWilliam A. Kennington III  BmcDiskSpaceMetric storage_space_metric = 4;
64*1285115cSWilliam A. Kennington III  BmcProcStatMetric procstat_metric = 5;
65*1285115cSWilliam A. Kennington III  BmcFdStatMetric fdstat_metric = 6;
66*1285115cSWilliam A. Kennington III}
67