18 #ifndef GZ_COMMON_PROFILER_HH_
19 #define GZ_COMMON_PROFILER_HH_
25 #include <gz/common/config.hh>
26 #include <gz/common/profiler/Export.hh>
85 public:
void BeginSample(
const char *_name, uint32_t *_hash =
nullptr);
134 #ifndef GZ_PROFILER_ENABLE
136 #define GZ_PROFILER_ENABLE 0
139 #if GZ_PROFILER_ENABLE
141 #define GZ_PROFILE_THREAD_NAME(name) \
142 gz::common::Profiler::Instance()->SetThreadName(name);
144 #define GZ_PROFILE_LOG_TEXT(name) \
145 gz::common::Profiler::Instance()->LogText(name);
147 #define GZ_PROFILE_BEGIN(name) \
148 gz::common::Profiler::Instance()->BeginSample(name)
150 #define GZ_PROFILE_END() \
151 gz::common::Profiler::Instance()->EndSample()
154 #define GZ_PROFILE_L(name, line) \
155 static uint32_t __hash##line = 0; \
156 gz::common::ScopedProfile __profile##line(name, &__hash##line);
158 #define GZ_PROFILE(name) GZ_PROFILE_L(name, __LINE__);
162 #define GZ_PROFILE_THREAD_NAME(name) ((void) name)
163 #define GZ_PROFILE_LOG_TEXT(name) ((void) name)
164 #define GZ_PROFILE_BEGIN(name) ((void) name)
165 #define GZ_PROFILE_END() ((void) 0)
166 #define GZ_PROFILE_L(name, line) ((void) name)
167 #define GZ_PROFILE(name) ((void) name)
171 #define GZ_PROFILER_VALID \
172 GZ_PROFILER_ENABLE && gz::common::Profiler::Instance()->Valid()