17 #include <unordered_map>
24 static std::list<std::string>
27 static std::vector<std::shared_ptr<networkLoad>>
30 std::vector<std::shared_ptr<networkLoad>>
v;
33 v.push_back(std::make_shared<networkLoad>(ethernetDataFileName, elem));
38 explicit networkLoad(std::string ethernetDataFileName =
"/proc/net/dev",
39 std::string ethName =
"eth0");
74 std::string ethernetDataFile;
76 bool isDeviceAvailable =
false;
81 std::chrono::system_clock::time_point currentTime;
82 std::chrono::system_clock::time_point timeBefore;
84 std::map<std::string, std::unordered_map<std::string, uint64_t>> ethObj;
85 std::map<std::string, std::unordered_map<std::string, uint64_t>> ethObjOld;
88 static std::shared_ptr<networkParser> getNetworkParser();
90 void parse(
const std::string& netFile =
"/proc/net/dev");
91 const std::unordered_map<std::string, uint64_t>&
92 getEthObj(
const std::string& ethDevice)
const;
93 std::list<std::string> getNetworkDevices(std::string netFile =
"/proc/net/dev");
94 const std::chrono::system_clock::time_point getTimeStamp()
const;
95 const std::unordered_map<std::string, uint64_t>&
96 getEthObjOld(
const std::string& ethDevice)
const;
97 const std::chrono::system_clock::time_point getTimeBefore()
const;
99 static std::shared_ptr<networkParser> inst;