/* 数据采集 */ #ifndef __FILE_HELPER_H #define __FILE_HELPER_H // common #include "Locks.h" #include "Thread.h" // #include "DataAcInnerStruct.h" NAMESPACE_MAS_BEGIN /* 读取系统文件,获取所需性能数据 */ /* 只采集数据,不进行计算 */ class FileHelper { /* xxxxxData是动态信息, xxxxxInfo是静态信息 */ public: static FileHelper * GetInstance(); static void DestoryInstance(); /* CPU占用率 */ static void GetSysStatData(SysStatInfo & data); /* 内存占用率 */ static void GetSysMemData(SysMemInfo & data); /* 磁盘IO */ static void GetSysDiskIOData(std::list & datas); /* 网络带宽占用率 */ static void GetSysNetBandData(std::list & datas); /* 系统信息 */ static void GetSystemInfo(SystemInfo & info); /* CPU信息 */ static void GetCPUInfo(CPUInfo & info); /* 网络接口信息 */ static void GetNetPortInfo(std::list & infos); /* 磁盘使用率 */ static void GetDiskInfo(std::list & infos); /* GPU信息 */ static void GetGPUInfo(std::string & info); /* 网卡信息 */ static TZ_INT GetInterFaceInfo(std::list & infos); static void GetComponentFilePaths( const std::string & root, std::set & paths); private: static void getSingalCmdResult(const std::string & cmd, std::string & res); static void getPairValues(const std::string & str, TZ_ULONG & values); static void getPairValues(const std::string & str, TZ_ULONGLONG & values); private: FileHelper(); virtual ~FileHelper(); static FileHelper * _ins; static tzc::Mutex _insLock; }; NAMESPACE_MAS_END #endif