28 #ifndef _PROFILE_TOOLS_H_ 29 #define _PROFILE_TOOLS_H_ 36 #ifdef ENABLE_PROFILING 37 #define PROFILE_FUNC(immortal_ptr_str) static profile_tools::local_call_account lcl_acc(immortal_ptr_str); \ 38 profile_tools::call_frame cf(lcl_acc); 40 #define PROFILE_FUNC_SECOND(immortal_ptr_str) static profile_tools::local_call_account lcl_acc2(immortal_ptr_str); \ 41 profile_tools::call_frame cf2(lcl_acc2); 43 #define PROFILE_FUNC_THIRD(immortal_ptr_str) static profile_tools::local_call_account lcl_acc3(immortal_ptr_str); \ 44 profile_tools::call_frame cf3(lcl_acc3); 46 #define PROFILE_FUNC_ACC(acc) \ 47 profile_tools::call_frame cf(acc); 51 #define PROFILE_FUNC(immortal_ptr_str) 52 #define PROFILE_FUNC_SECOND(immortal_ptr_str) 53 #define PROFILE_FUNC_THIRD(immortal_ptr_str) 56 #define START_WAY_POINTS() uint64_t _____way_point_time = epee::misc_utils::get_tick_count(); 57 #define WAY_POINT(name) {uint64_t delta = epee::misc_utils::get_tick_count()-_____way_point_time; MDEBUG("Way point " << name << ": " << delta);_____way_point_time = misc_utils::get_tick_count();} 58 #define WAY_POINT2(name, avrg_obj) {uint64_t delta = epee::misc_utils::get_tick_count()-_____way_point_time; avrg_obj.push(delta); MDEBUG("Way point " << name << ": " << delta);_____way_point_time = misc_utils::get_tick_count();} 61 #define TIME_MEASURE_START(var_name) uint64_t var_name = epee::misc_utils::get_tick_count(); 62 #define TIME_MEASURE_PAUSE(var_name) var_name = epee::misc_utils::get_tick_count() - var_name; 63 #define TIME_MEASURE_RESTART(var_name) var_name = epee::misc_utils::get_tick_count() - var_name; 64 #define TIME_MEASURE_FINISH(var_name) var_name = epee::misc_utils::get_tick_count() - var_name; 66 #define TIME_MEASURE_NS_START(var_name) uint64_t var_name = epee::misc_utils::get_ns_count(); 67 #define TIME_MEASURE_NS_PAUSE(var_name) var_name = epee::misc_utils::get_ns_count() - var_name; 68 #define TIME_MEASURE_NS_RESTART(var_name) var_name = epee::misc_utils::get_ns_count() - var_name; 69 #define TIME_MEASURE_NS_FINISH(var_name) var_name = epee::misc_utils::get_ns_count() - var_name; 71 namespace profile_tools
93 m_call_time = boost::posix_time::microsec_clock::local_time();
101 boost::posix_time::ptime now_t(boost::posix_time::microsec_clock::local_time());
102 boost::posix_time::time_duration delta_microsec = now_t - m_call_time;
103 uint64_t miliseconds_used = delta_microsec.total_microseconds();
112 boost::posix_time::ptime m_call_time;
120 #endif //_PROFILE_TOOLS_H_
unsigned __int64 uint64_t