18 std::chrono::nanoseconds
time = {};
37 std::chrono::time_point<std::chrono::high_resolution_clock>
started = std::chrono::high_resolution_clock::now();
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:46
static MRMESH_API Logger & instance()
MRMESH_API const std::shared_ptr< spdlog::logger > & getSpdLogger() const
store this pointer if need to prolong logger life time (necessary to log something from destructors)
MRMESH_API void registerThreadRootTimeRecord(ThreadRootTimeRecord &root)
installs given record in the current thread (no record must be installed before)
MRMESH_API void unregisterThreadRootTimeRecord(ThreadRootTimeRecord &root)
un-installs given record in the current thread
Definition MRCameraOrientationPlugin.h:8
Definition MRTimeRecord.h:16
int count
Definition MRTimeRecord.h:17
double seconds() const
Definition MRTimeRecord.h:19
std::chrono::nanoseconds time
Definition MRTimeRecord.h:18
Definition MRTimeRecord.h:35
MRMESH_API ~ThreadRootTimeRecord()
MRMESH_API ThreadRootTimeRecord(const char *tdName)
bool printTreeInDtor
Definition MRTimeRecord.h:38
std::chrono::time_point< std::chrono::high_resolution_clock > started
Definition MRTimeRecord.h:37
MRMESH_API void printTree()
const char * threadName
Definition MRTimeRecord.h:36
std::shared_ptr< spdlog::logger > loggerHandle
Definition MRTimeRecord.h:41
double minTimeSec
Definition MRTimeRecord.h:39
Definition MRTimeRecord.h:23
MRMESH_API std::chrono::nanoseconds childTime() const
double mySeconds() const
Definition MRTimeRecord.h:31
TimeRecord * parent
Definition MRTimeRecord.h:24
std::chrono::nanoseconds myTime() const
Definition MRTimeRecord.h:29
std::map< std::string, TimeRecord > children
Definition MRTimeRecord.h:25