00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00022
00023
00024 #ifndef PERFORMANCEMONITORMACROS_H
00025 #define PERFORMANCEMONITORMACROS_H
00026
00043 #ifdef IC_PERFORMANCE_MONITOR
00044
00045
00046 #define PERF_MON_INITIALIZE(num_names, num_events) \
00047 ::icl_core::perf_mon::PerformanceMonitor::initialize(num_names, num_events);
00048
00050 #define PERF_MON_START(timer_name) \
00051 ::icl_core::perf_mon::PerformanceMonitor::start(timer_name);
00052
00054 #define PERF_MON_ENABLE(prefix) \
00055 ::icl_core::perf_mon::PerformanceMonitor::enablePrefix(prefix);
00056
00057 #define PERF_MON_DISABLE(prefix) \
00058 ::icl_core::perf_mon::PerformanceMonitor::disablePrefix(prefix);
00059
00060 #define PERF_MON_ENABLE_ALL(enabled) \
00061 ::icl_core::perf_mon::PerformanceMonitor::enableAll(enabled);
00062
00064 #define PERF_MON_PRINT_INFO(timer_name, description) \
00065 ::icl_core::perf_mon::PerformanceMonitor::measurement(timer_name, description, "", ::icl_core::logging::eLL_INFO);
00066
00067 #define PERF_MON_PRINT_INFO_P(timer_name, description, prefix) \
00068 ::icl_core::perf_mon::PerformanceMonitor::measurement(timer_name, description, prefix, ::icl_core::logging::eLL_INFO);
00069
00071 #define PERF_MON_PRINT_AND_RESET_INFO(timer_name, description) \
00072 ::icl_core::perf_mon::PerformanceMonitor::startStop(timer_name, description, "", ::icl_core::logging::eLL_INFO);
00073
00074 #define PERF_MON_PRINT_AND_RESET_INFO_P(timer_name, description, prefix) \
00075 ::icl_core::perf_mon::PerformanceMonitor::startStop(timer_name, description, prefix, ::icl_core::logging::eLL_INFO);
00076
00078 #define PERF_MON_ADD_STATIC_DATA(description, data) \
00079 ::icl_core::perf_mon::PerformanceMonitor::addStaticData(description, data, "");
00080
00081 #define PERF_MON_ADD_STATIC_DATA_P(description, data, prefix) \
00082 ::icl_core::perf_mon::PerformanceMonitor::addStaticData(description, data, prefix);
00083
00084 #define PERF_MON_ADD_DATA(description, data) \
00085 ::icl_core::perf_mon::PerformanceMonitor::addData(description, data, "");
00086
00087 #define PERF_MON_ADD_DATA_P(description, data, prefix) \
00088 ::icl_core::perf_mon::PerformanceMonitor::addData(description, data, prefix);
00089
00091 #define PERF_MON_ADD_DATA_NONTIME(description, data) \
00092 ::icl_core::perf_mon::PerformanceMonitor::addNonTimeData(description, data, "");
00093
00094 #define PERF_MON_ADD_DATA_NONTIME_P(description, data, prefix) \
00095 ::icl_core::perf_mon::PerformanceMonitor::addNonTimeData(description, data, prefix);
00096
00098 #define PERF_MON_SUMMARY_INFO(prefix, description) \
00099 ::icl_core::perf_mon::PerformanceMonitor::printSummary(prefix, description, ::icl_core::logging::eLL_INFO);
00100
00101 #define PERF_MON_SUMMARY_PREFIX_INFO(prefix) \
00102 ::icl_core::perf_mon::PerformanceMonitor::printSummaryFromPrefix(prefix, ::icl_core::logging::eLL_INFO);
00103
00104 #define PERF_MON_SUMMARY_ALL_INFO \
00105 ::icl_core::perf_mon::PerformanceMonitor::printSummaryAll(::icl_core::logging::eLL_INFO);
00106
00107
00108
00109 #ifdef _IC_DEBUG_
00110 #define PERF_MON_PRINT_DEBUG(timer_name, description) \
00111 ::icl_core::perf_mon::PerformanceMonitor::measurement(timer_name, description, "", ::icl_core::logging::eLL_DEBUG);
00112 #define PERF_MON_PRINT_DEBUG_P(timer_name, description, prefix) \
00113 ::icl_core::perf_mon::PerformanceMonitor::measurement(timer_name, description, prefix, ::icl_core::logging::eLL_DEBUG);
00114 #define PERF_MON_PRINT_TRACE(timer_name, description) \
00115 ::icl_core::perf_mon::PerformanceMonitor::measurement(timer_name, description, "", ::icl_core::logging::eLL_TRACE);
00116 #define PERF_MON_PRINT_TRACE_P(timer_name, description, prefix) \
00117 ::icl_core::perf_mon::PerformanceMonitor::measurement(timer_name, description, prefix, ::icl_core::logging::eLL_TRACE);
00118 #define PERF_MON_PRINT_AND_RESET_DEBUG(timer_name, description) \
00119 ::icl_core::perf_mon::PerformanceMonitor::startStop(timer_name, description, "", ::icl_core::logging::eLL_DEBUG);
00120 #define PERF_MON_PRINT_AND_RESET_DEBUG_P(timer_name, description, prefix) \
00121 ::icl_core::perf_mon::PerformanceMonitor::startStop(timer_name, description, prefix, ::icl_core::logging::eLL_DEBUG);
00122 #define PERF_MON_PRINT_AND_RESET_TRACE(timer_name, description) \
00123 ::icl_core::perf_mon::PerformanceMonitor::startStop(timer_name, description, "", ::icl_core::logging::eLL_TRACE);
00124 #define PERF_MON_PRINT_AND_RESET_TRACE_P(timer_name, description, prefix) \
00125 ::icl_core::perf_mon::PerformanceMonitor::startStop(timer_name, description, prefix, ::icl_core::logging::eLL_TRACE);
00126 #define PERF_MON_SUMMARY_DEBUG(prefix, description) \
00127 ::icl_core::perf_mon::PerformanceMonitor::printSummary(prefix, description, ::icl_core::logging::eLL_DEBUG);
00128 #define PERF_MON_SUMMARY_TRACE(prefix, description) \
00129 ::icl_core::perf_mon::PerformanceMonitor::printSummary(prefix, description, ::icl_core::logging::eLL_TRACE);
00130 #define PERF_MON_SUMMARY_PREFIX_DEBUG(prefix) \
00131 ::icl_core::perf_mon::PerformanceMonitor::printSummaryFromPrefix(prefix, ::icl_core::logging::eLL_DEBUG);
00132 #define PERF_MON_SUMMARY_PREFIX_TRACE(prefix) \
00133 ::icl_core::perf_mon::PerformanceMonitor::printSummaryFromPrefix(prefix, ::icl_core::logging::eLL_TRACE);
00134 #define PERF_MON_SUMMARY_ALL_DEBUG \
00135 ::icl_core::perf_mon::PerformanceMonitor::printSummaryAll(::icl_core::logging::eLL_DEBUG);
00136 #define PERF_MON_SUMMARY_ALL_TRACE \
00137 ::icl_core::perf_mon::PerformanceMonitor::printSummaryAll(::icl_core::logging::eLL_TRACE);
00138 #else
00139 #define PERF_MON_PRINT_DEBUG(timer_name, description) (void)0
00140 #define PERF_MON_PRINT_DEBUG_P(timer_name, description, prefix) (void)0
00141 #define PERF_MON_PRINT_TRACE(timer_name, description) (void)0
00142 #define PERF_MON_PRINT_TRACE_P(timer_name, description, prefix) (void)0
00143 #define PERF_MON_PRINT_AND_RESET_DEBUG(timer_name, description) (void)0
00144 #define PERF_MON_PRINT_AND_RESET_DEBUG_P(timer_name, description, prefix) (void)0
00145 #define PERF_MON_PRINT_AND_RESET_TRACE(timer_name, description) (void)0
00146 #define PERF_MON_PRINT_AND_RESET_TRACE_P(timer_name, description, prefix) (void)0
00147 #define PERF_MON_SUMMARY_DEBUG(prefix, description) (void)0
00148 #define PERF_MON_SUMMARY_TRACE(prefix, description) (void)0
00149 #define PERF_MON_SUMMARY_PREFIX_DEBUG(prefix) (void)0
00150 #define PERF_MON_SUMMARY_PREFIX_TRACE(prefix) (void)0
00151 #define PERF_MON_SUMMARY_ALL_DEBUG(prefix, description) (void)0
00152 #define PERF_MON_SUMMARY_ALL_TRACE(prefix, description) (void)0
00153 #endif
00154
00155
00156 #else
00157 #define PERF_MON_INITIALIZE(num_names, num_events) (void)0
00158 #define PERF_MON_START(timer_name) (void)0
00159 #define PERF_MON_ENABLE(prefix) (void)0
00160 #define PERF_MON_DISABLE(prefix) (void)0
00161 #define PERF_MON_ENABLE_ALL(enabled) (void)0
00162 #define PERF_MON_SUMMARY(prefix, description) (void)0
00163 #define PERF_MON_PRINT_INFO(timer_name, description) (void)0
00164 #define PERF_MON_PRINT_INFO_P(timer_name, description, prefix) (void)0
00165 #define PERF_MON_PRINT_DEBUG(timer_name, description) (void)0
00166 #define PERF_MON_PRINT_DEBUG_P(timer_name, description, prefix) (void)0
00167 #define PERF_MON_PRINT_TRACE(timer_name, description) (void)0
00168 #define PERF_MON_PRINT_TRACE_P(timer_name, description, prefix) (void)0
00169 #define PERF_MON_PRINT_AND_RESET_INFO(timer_name, description) (void)0
00170 #define PERF_MON_PRINT_AND_RESET_INFO_P(timer_name, description, prefix) (void)0
00171 #define PERF_MON_PRINT_AND_RESET_DEBUG(timer_name, description) (void)0
00172 #define PERF_MON_PRINT_AND_RESET_DEBUG_P(timer_name, description, prefix) (void)0
00173 #define PERF_MON_PRINT_AND_RESET_TRACE(timer_name, description) (void)0
00174 #define PERF_MON_PRINT_AND_RESET_TRACE_P(timer_name, description, prefix) (void)0
00175 #define PERF_MON_SUMMARY_INFO(prefix, description) (void)0
00176 #define PERF_MON_SUMMARY_DEBUG(prefix, description) (void)0
00177 #define PERF_MON_SUMMARY_TRACE(prefix, description) (void)0
00178 #define PERF_MON_SUMMARY_PREFIX_INFO(prefix) (void)0
00179 #define PERF_MON_SUMMARY_PREFIX_DEBUG(prefix) (void)0
00180 #define PERF_MON_SUMMARY_PREFIX_TRACE(prefix) (void)0
00181 #define PERF_MON_SUMMARY_ALL_INFO (void)0
00182 #define PERF_MON_SUMMARY_ALL_DEBUG (void)0
00183 #define PERF_MON_SUMMARY_ALL_TRACE (void)0
00184 #define PERF_MON_ADD_STATIC_DATA(description, data) (void)0
00185 #define PERF_MON_ADD_STATIC_DATA_P(description, data, prefix) (void)0
00186 #define PERF_MON_ADD_DATA(description, data) (void)0
00187 #define PERF_MON_ADD_DATA_P(description, data, prefix) (void)0
00188 #define PERF_MON_ADD_DATA_NONTIME(description, data) (void)0
00189 #define PERF_MON_ADD_DATA_NONTIME_P(description, data, prefix) (void)0
00190 #endif
00191
00192 #endif // PERFORMANCEMONITORMACROS_H