18 #ifndef GZ_COMMON_PROFILER_HH_
19 #define GZ_COMMON_PROFILER_HH_
24 #include <gz/common/config.hh>
25 #include <gz/common/profiler/Export.hh>
84 public:
void BeginSample(
const char *_name, uint32_t *_hash =
nullptr);
133 #ifndef GZ_PROFILER_ENABLE
135 #define GZ_PROFILER_ENABLE 0
138 #if GZ_PROFILER_ENABLE
140 #define GZ_PROFILE_THREAD_NAME(name) \
141 gz::common::Profiler::Instance()->SetThreadName(name);
143 #define GZ_PROFILE_LOG_TEXT(name) \
144 gz::common::Profiler::Instance()->LogText(name);
146 #define GZ_PROFILE_BEGIN(name) \
147 gz::common::Profiler::Instance()->BeginSample(name)
149 #define GZ_PROFILE_END() \
150 gz::common::Profiler::Instance()->EndSample()
153 #define GZ_PROFILE_L(name, line) \
154 static uint32_t __hash##line = 0; \
155 gz::common::ScopedProfile __profile##line(name, &__hash##line);
157 #define GZ_PROFILE(name) GZ_PROFILE_L(name, __LINE__);
161 #define GZ_PROFILE_THREAD_NAME(name) ((void) name)
162 #define GZ_PROFILE_LOG_TEXT(name) ((void) name)
163 #define GZ_PROFILE_BEGIN(name) ((void) name)
164 #define GZ_PROFILE_END() ((void) 0)
165 #define GZ_PROFILE_L(name, line) ((void) name)
166 #define GZ_PROFILE(name) ((void) name)
170 #define GZ_PROFILER_VALID \
171 GZ_PROFILER_ENABLE && gz::common::Profiler::Instance()->Valid()