metrics-ipmi-blobs: Add bootup time to metrics
Change-Id: I1da66deca4a0cc2d75abe7c40c258c34593ea6a0
Signed-off-by: Michael Shen <gpgpgp@google.com>
diff --git a/subprojects/metrics-ipmi-blobs/util.hpp b/subprojects/metrics-ipmi-blobs/util.hpp
index d3c6f24..ec55962 100644
--- a/subprojects/metrics-ipmi-blobs/util.hpp
+++ b/subprojects/metrics-ipmi-blobs/util.hpp
@@ -27,9 +27,20 @@
float stime;
};
+struct BootTimesMonotonic
+{
+ uint64_t firmwareTime = 0;
+ uint64_t loaderTime = 0;
+ uint64_t initrdTime = 0;
+ uint64_t userspaceTime = 0;
+ uint64_t finishTime = 0;
+ uint64_t powerOnSecCounterTime = 0;
+};
+
TcommUtimeStime parseTcommUtimeStimeString(std::string_view content,
long ticksPerSec);
-std::string readFileIntoString(std::string_view fileName);
+std::string readFileThenGrepIntoString(std::string_view fileName,
+ std::string_view grepStr = "");
bool isNumericPath(std::string_view path, int& value);
TcommUtimeStime getTcommUtimeStime(int pid, long ticksPerSec);
std::string getCmdLine(int pid);
@@ -37,6 +48,8 @@
int& value);
bool parseProcUptime(const std::string_view content, double& uptime,
double& idleProcessTime);
+bool readMem(const uint32_t target, uint32_t& memResult);
+bool getBootTimesMonotonic(BootTimesMonotonic& btm);
long getTicksPerSec();
char controlCharsToSpace(char c);
std::string trimStringRight(std::string_view s);