metric-ipmi-blobs: adding tmpfs
Adding tmpfs metric coverage to pre-ttf machines
Tested:
```
df -h
Filesystem Size Used Available Use% Mounted on
dev 468.9M 0 468.9M 0% /dev
tmpfs 469.9M 12.6M 457.3M 3% /run
/dev/mtdblock4 20.6M 20.6M 0 100% /run/initramfs/ro
/dev/mtdblock6 3.0M 436.0K 2.6M 14% /run/initramfs/rw
cow 3.0M 436.0K 2.6M 14% /
tmpfs 469.9M 8.0K 469.9M 0% /dev/shm
tmpfs 469.9M 0 469.9M 0% /tmp
tmpfs 469.9M 40.0K 469.8M 0% /var/volatile
tmpfs 469.9M 12.6M 457.3M 3% /var/lib/systemd/coredump
```
Change-Id: I50c763707268252ed51a903d8b7e02543dab6166
Signed-off-by: Abby <buchmana@google.com>
diff --git a/subprojects/metrics-ipmi-blobs/metric.cpp b/subprojects/metrics-ipmi-blobs/metric.cpp
index bbff3ef..d3fe0e2 100644
--- a/subprojects/metrics-ipmi-blobs/metric.cpp
+++ b/subprojects/metrics-ipmi-blobs/metric.cpp
@@ -409,14 +409,24 @@
getStorageMetric(bool& use) noexcept
{
bmcmetrics_metricproto_BmcDiskSpaceMetric ret = {};
- struct statvfs fiData;
- if (statvfs("/", &fiData) < 0)
+ struct statvfs rwFiData, tmpFiData;
+ if (statvfs("/", &rwFiData) < 0)
{
log<level::ERR>("Could not call statvfs");
}
else
{
- ret.rwfs_kib_available = (fiData.f_bsize * fiData.f_bfree) / 1024;
+ ret.rwfs_kib_available = (rwFiData.f_bsize * rwFiData.f_bfree) / 1024;
+ use = true;
+ }
+ if (statvfs("/tmp", &tmpFiData) < 0)
+ {
+ log<level::ERR>("Could not call statvfs");
+ }
+ else
+ {
+ ret.tmpfs_kib_available =
+ (tmpFiData.f_bsize * tmpFiData.f_bfree) / 1024;
use = true;
}
return ret;
diff --git a/subprojects/metrics-ipmi-blobs/metricblob.proto b/subprojects/metrics-ipmi-blobs/metricblob.proto
index 4d3038f..1af85e8 100644
--- a/subprojects/metrics-ipmi-blobs/metricblob.proto
+++ b/subprojects/metrics-ipmi-blobs/metricblob.proto
@@ -34,6 +34,7 @@
message BmcDiskSpaceMetric {
int32 rwfs_kib_available = 1; // Free space in RWFS in KiB
+ int32 tmpfs_kib_available = 2; // Free space in TMPFS in KiB
}
// The following messages use string tables to save space