FileHelper.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /* 数据采集 */
  2. #ifndef __FILE_HELPER_H
  3. #define __FILE_HELPER_H
  4. // common
  5. #include "Locks.h"
  6. #include "Thread.h"
  7. //
  8. #include "DataAcInnerStruct.h"
  9. NAMESPACE_MAS_BEGIN
  10. /* 读取系统文件,获取所需性能数据 */
  11. /* 只采集数据,不进行计算 */
  12. class FileHelper {
  13. /* xxxxxData是动态信息, xxxxxInfo是静态信息 */
  14. public:
  15. static FileHelper * GetInstance();
  16. static void DestoryInstance();
  17. /* CPU占用率 */
  18. static void GetSysStatData(SysStatInfo & data);
  19. /* 内存占用率 */
  20. static void GetSysMemData(SysMemInfo & data);
  21. /* 磁盘IO */
  22. static void GetSysDiskIOData(std::list<SysDiskStatInfo> & datas);
  23. /* 网络带宽占用率 */
  24. static void GetSysNetBandData(std::list<SysNetBandInfo> & datas);
  25. /* 系统信息 */
  26. static void GetSystemInfo(SystemInfo & info);
  27. /* CPU信息 */
  28. static void GetCPUInfo(CPUInfo & info);
  29. /* 网络接口信息 */
  30. static void GetNetPortInfo(std::list<NetstatInfo> & infos);
  31. /* 磁盘使用率 */
  32. static void GetDiskInfo(std::list<DiskstatInfo> & infos);
  33. /* GPU信息 */
  34. static void GetGPUInfo(std::string & info);
  35. /* 网卡信息 */
  36. static TZ_INT GetInterFaceInfo(std::list<InterfaceInfo> & infos);
  37. static void GetComponentFilePaths(
  38. const std::string & root, std::set<std::string> & paths);
  39. private:
  40. static void getSingalCmdResult(const std::string & cmd, std::string & res);
  41. static void getPairValues(const std::string & str, TZ_ULONG & values);
  42. static void getPairValues(const std::string & str, TZ_ULONGLONG & values);
  43. private:
  44. FileHelper();
  45. virtual ~FileHelper();
  46. static FileHelper * _ins;
  47. static tzc::Mutex _insLock;
  48. };
  49. NAMESPACE_MAS_END
  50. #endif