PerformanceMonitorMacros.h
Go to the documentation of this file.
1 // this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
2 
3 // -- BEGIN LICENSE BLOCK ----------------------------------------------
4 // This file is part of FZIs ic_workspace.
5 //
6 // This program is free software licensed under the LGPL
7 // (GNU LESSER GENERAL PUBLIC LICENSE Version 3).
8 // You can find a copy of this license in LICENSE folder in the top
9 // directory of the source code.
10 //
11 // © Copyright 2016 FZI Forschungszentrum Informatik, Karlsruhe, Germany
12 //
13 // -- END LICENSE BLOCK ------------------------------------------------
14 
15 //----------------------------------------------------------------------
22 //----------------------------------------------------------------------
23 
24 #ifndef PERFORMANCEMONITORMACROS_H
25 #define PERFORMANCEMONITORMACROS_H
26 
43 #ifdef IC_PERFORMANCE_MONITOR
44  #define PERF_MON_INITIALIZE(num_names, num_events) \
47  ::icl_core::perf_mon::PerformanceMonitor::initialize(num_names, num_events);
48 
50  #define PERF_MON_START(timer_name) \
51  ::icl_core::perf_mon::PerformanceMonitor::start(timer_name);
52 
54  #define PERF_MON_ENABLE(prefix) \
55  ::icl_core::perf_mon::PerformanceMonitor::enablePrefix(prefix);
56  #define PERF_MON_DISABLE(prefix) \
58  ::icl_core::perf_mon::PerformanceMonitor::disablePrefix(prefix);
59  #define PERF_MON_ENABLE_ALL(enabled) \
61  ::icl_core::perf_mon::PerformanceMonitor::enableAll(enabled);
62 
64  #define PERF_MON_PRINT_INFO(timer_name, description) \
65  ::icl_core::perf_mon::PerformanceMonitor::measurement(timer_name, description, "", ::icl_core::logging::eLL_INFO);
66  #define PERF_MON_PRINT_INFO_P(timer_name, description, prefix) \
68  ::icl_core::perf_mon::PerformanceMonitor::measurement(timer_name, description, prefix, ::icl_core::logging::eLL_INFO);
69 
71  #define PERF_MON_PRINT_AND_RESET_INFO(timer_name, description) \
72  ::icl_core::perf_mon::PerformanceMonitor::startStop(timer_name, description, "", ::icl_core::logging::eLL_INFO);
73  #define PERF_MON_PRINT_AND_RESET_INFO_P(timer_name, description, prefix) \
75  ::icl_core::perf_mon::PerformanceMonitor::startStop(timer_name, description, prefix, ::icl_core::logging::eLL_INFO);
76 
78  #define PERF_MON_ADD_STATIC_DATA(description, data) \
79  ::icl_core::perf_mon::PerformanceMonitor::addStaticData(description, data, "");
80  #define PERF_MON_ADD_STATIC_DATA_P(description, data, prefix) \
82  ::icl_core::perf_mon::PerformanceMonitor::addStaticData(description, data, prefix);
83  #define PERF_MON_ADD_DATA(description, data) \
85  ::icl_core::perf_mon::PerformanceMonitor::addData(description, data, "");
86  #define PERF_MON_ADD_DATA_P(description, data, prefix) \
88  ::icl_core::perf_mon::PerformanceMonitor::addData(description, data, prefix);
89 
91  #define PERF_MON_ADD_DATA_NONTIME(description, data) \
92  ::icl_core::perf_mon::PerformanceMonitor::addNonTimeData(description, data, "");
93  #define PERF_MON_ADD_DATA_NONTIME_P(description, data, prefix) \
95  ::icl_core::perf_mon::PerformanceMonitor::addNonTimeData(description, data, prefix);
96 
98  #define PERF_MON_SUMMARY_INFO(prefix, description) \
99  ::icl_core::perf_mon::PerformanceMonitor::printSummary(prefix, description, ::icl_core::logging::eLL_INFO);
100  #define PERF_MON_SUMMARY_PREFIX_INFO(prefix) \
102  ::icl_core::perf_mon::PerformanceMonitor::printSummaryFromPrefix(prefix, ::icl_core::logging::eLL_INFO);
103  #define PERF_MON_SUMMARY_ALL_INFO \
105  ::icl_core::perf_mon::PerformanceMonitor::printSummaryAll(::icl_core::logging::eLL_INFO);
106 
107 
108  // The following macros are the same as above, but for the DEBUG and TRACE case.
109  #ifdef _IC_DEBUG_
110  #define PERF_MON_PRINT_DEBUG(timer_name, description) \
111  ::icl_core::perf_mon::PerformanceMonitor::measurement(timer_name, description, "", ::icl_core::logging::eLL_DEBUG);
112  #define PERF_MON_PRINT_DEBUG_P(timer_name, description, prefix) \
113  ::icl_core::perf_mon::PerformanceMonitor::measurement(timer_name, description, prefix, ::icl_core::logging::eLL_DEBUG);
114  #define PERF_MON_PRINT_TRACE(timer_name, description) \
115  ::icl_core::perf_mon::PerformanceMonitor::measurement(timer_name, description, "", ::icl_core::logging::eLL_TRACE);
116  #define PERF_MON_PRINT_TRACE_P(timer_name, description, prefix) \
117  ::icl_core::perf_mon::PerformanceMonitor::measurement(timer_name, description, prefix, ::icl_core::logging::eLL_TRACE);
118  #define PERF_MON_PRINT_AND_RESET_DEBUG(timer_name, description) \
119  ::icl_core::perf_mon::PerformanceMonitor::startStop(timer_name, description, "", ::icl_core::logging::eLL_DEBUG);
120  #define PERF_MON_PRINT_AND_RESET_DEBUG_P(timer_name, description, prefix) \
121  ::icl_core::perf_mon::PerformanceMonitor::startStop(timer_name, description, prefix, ::icl_core::logging::eLL_DEBUG);
122  #define PERF_MON_PRINT_AND_RESET_TRACE(timer_name, description) \
123  ::icl_core::perf_mon::PerformanceMonitor::startStop(timer_name, description, "", ::icl_core::logging::eLL_TRACE);
124  #define PERF_MON_PRINT_AND_RESET_TRACE_P(timer_name, description, prefix) \
125  ::icl_core::perf_mon::PerformanceMonitor::startStop(timer_name, description, prefix, ::icl_core::logging::eLL_TRACE);
126  #define PERF_MON_SUMMARY_DEBUG(prefix, description) \
127  ::icl_core::perf_mon::PerformanceMonitor::printSummary(prefix, description, ::icl_core::logging::eLL_DEBUG);
128  #define PERF_MON_SUMMARY_TRACE(prefix, description) \
129  ::icl_core::perf_mon::PerformanceMonitor::printSummary(prefix, description, ::icl_core::logging::eLL_TRACE);
130  #define PERF_MON_SUMMARY_PREFIX_DEBUG(prefix) \
131  ::icl_core::perf_mon::PerformanceMonitor::printSummaryFromPrefix(prefix, ::icl_core::logging::eLL_DEBUG);
132  #define PERF_MON_SUMMARY_PREFIX_TRACE(prefix) \
133  ::icl_core::perf_mon::PerformanceMonitor::printSummaryFromPrefix(prefix, ::icl_core::logging::eLL_TRACE);
134  #define PERF_MON_SUMMARY_ALL_DEBUG \
135  ::icl_core::perf_mon::PerformanceMonitor::printSummaryAll(::icl_core::logging::eLL_DEBUG);
136  #define PERF_MON_SUMMARY_ALL_TRACE \
137  ::icl_core::perf_mon::PerformanceMonitor::printSummaryAll(::icl_core::logging::eLL_TRACE);
138  #else
139  #define PERF_MON_PRINT_DEBUG(timer_name, description) (void)0
140  #define PERF_MON_PRINT_DEBUG_P(timer_name, description, prefix) (void)0
141  #define PERF_MON_PRINT_TRACE(timer_name, description) (void)0
142  #define PERF_MON_PRINT_TRACE_P(timer_name, description, prefix) (void)0
143  #define PERF_MON_PRINT_AND_RESET_DEBUG(timer_name, description) (void)0
144  #define PERF_MON_PRINT_AND_RESET_DEBUG_P(timer_name, description, prefix) (void)0
145  #define PERF_MON_PRINT_AND_RESET_TRACE(timer_name, description) (void)0
146  #define PERF_MON_PRINT_AND_RESET_TRACE_P(timer_name, description, prefix) (void)0
147  #define PERF_MON_SUMMARY_DEBUG(prefix, description) (void)0
148  #define PERF_MON_SUMMARY_TRACE(prefix, description) (void)0
149  #define PERF_MON_SUMMARY_PREFIX_DEBUG(prefix) (void)0
150  #define PERF_MON_SUMMARY_PREFIX_TRACE(prefix) (void)0
151  #define PERF_MON_SUMMARY_ALL_DEBUG(prefix, description) (void)0
152  #define PERF_MON_SUMMARY_ALL_TRACE(prefix, description) (void)0
153  #endif
154 
155 
156 #else
157  #define PERF_MON_INITIALIZE(num_names, num_events) (void)0
158  #define PERF_MON_START(timer_name) (void)0
159  #define PERF_MON_ENABLE(prefix) (void)0
160  #define PERF_MON_DISABLE(prefix) (void)0
161  #define PERF_MON_ENABLE_ALL(enabled) (void)0
162  #define PERF_MON_SUMMARY(prefix, description) (void)0
163  #define PERF_MON_PRINT_INFO(timer_name, description) (void)0
164  #define PERF_MON_PRINT_INFO_P(timer_name, description, prefix) (void)0
165  #define PERF_MON_PRINT_DEBUG(timer_name, description) (void)0
166  #define PERF_MON_PRINT_DEBUG_P(timer_name, description, prefix) (void)0
167  #define PERF_MON_PRINT_TRACE(timer_name, description) (void)0
168  #define PERF_MON_PRINT_TRACE_P(timer_name, description, prefix) (void)0
169  #define PERF_MON_PRINT_AND_RESET_INFO(timer_name, description) (void)0
170  #define PERF_MON_PRINT_AND_RESET_INFO_P(timer_name, description, prefix) (void)0
171  #define PERF_MON_PRINT_AND_RESET_DEBUG(timer_name, description) (void)0
172  #define PERF_MON_PRINT_AND_RESET_DEBUG_P(timer_name, description, prefix) (void)0
173  #define PERF_MON_PRINT_AND_RESET_TRACE(timer_name, description) (void)0
174  #define PERF_MON_PRINT_AND_RESET_TRACE_P(timer_name, description, prefix) (void)0
175  #define PERF_MON_SUMMARY_INFO(prefix, description) (void)0
176  #define PERF_MON_SUMMARY_DEBUG(prefix, description) (void)0
177  #define PERF_MON_SUMMARY_TRACE(prefix, description) (void)0
178  #define PERF_MON_SUMMARY_PREFIX_INFO(prefix) (void)0
179  #define PERF_MON_SUMMARY_PREFIX_DEBUG(prefix) (void)0
180  #define PERF_MON_SUMMARY_PREFIX_TRACE(prefix) (void)0
181  #define PERF_MON_SUMMARY_ALL_INFO (void)0
182  #define PERF_MON_SUMMARY_ALL_DEBUG (void)0
183  #define PERF_MON_SUMMARY_ALL_TRACE (void)0
184  #define PERF_MON_ADD_STATIC_DATA(description, data) (void)0
185  #define PERF_MON_ADD_STATIC_DATA_P(description, data, prefix) (void)0
186  #define PERF_MON_ADD_DATA(description, data) (void)0
187  #define PERF_MON_ADD_DATA_P(description, data, prefix) (void)0
188  #define PERF_MON_ADD_DATA_NONTIME(description, data) (void)0
189  #define PERF_MON_ADD_DATA_NONTIME_P(description, data, prefix) (void)0
190 #endif
191 
192 #endif // PERFORMANCEMONITORMACROS_H


fzi_icl_core
Author(s):
autogenerated on Mon Jun 10 2019 13:17:58