1 #pragma once 2 3 #include <string> 4 #include <string_view> 5 6 namespace metric_blob 7 { 8 9 struct TcommUtimeStime 10 { 11 std::string tcomm; 12 float utime; 13 float stime; 14 }; 15 16 TcommUtimeStime parseTcommUtimeStimeString(std::string_view content, 17 long ticksPerSec); 18 std::string readFileIntoString(std::string_view fileName); 19 bool isNumericPath(std::string_view path, int& value); 20 TcommUtimeStime getTcommUtimeStime(int pid, long ticksPerSec); 21 std::string getCmdLine(int pid); 22 bool parseMeminfoValue(std::string_view content, std::string_view keyword, 23 int& value); 24 bool parseProcUptime(const std::string_view content, double& uptime, 25 double& idleProcessTime); 26 long getTicksPerSec(); 27 char controlCharsToSpace(char c); 28 std::string trimStringRight(std::string_view s); 29 30 } // namespace metric_blob 31