{
struct timeval now;
gettimeofday(&now, NULL);
long cost = (now.tv_sec - tm.tv_sec)*1000000 + (now.tv_usec -
tm.tv_usec);
singleton_t<performance_daemon_t>::instance().post(mod, cost);
}
const char* mod;
struct timeval tm;
};
public:
performance_daemon_t();
~performance_daemon_t();
//! 启动线程,创建文件
int start(const string& path_, int seconds_);
//! 关闭线程
int stop();
//! 增加性能监控数据
void post(const string& mod_, long us);
perf_tool_t 是工具类,构造和析构自动调用两次 gettimeofday 获取函数调用开销,例
外有辅助宏定义如下:
#define
AUTO_PERF()
performance_daemon_t::perf_tool_t
__tmp__(__FUNCTION__)
#define PERF(m) performance_daemon_t::perf_tool_t __tmp__(m)
使用示例:
void foo()
{
AUTO_PERF();
//! TODO -----
}
int main(int argc, char* argv[])
{
singleton_t<performance_daemon_t>::instance().start("perf.txt", 5);
foo();
}
cucci
女包
§、
香奈儿包包
§、
爱马仕包包
§:www.naitiao.com|
冬装外套
§、
冬装女装
§、
时尚
冬装
§:www.haomeifa.com