#ifndef DISABLE_STOPWATCH #include #include #include #include #include using namespace mbgl::util; stopwatch::stopwatch(Event event_) : event(event_), start(Clock::now()) {} stopwatch::stopwatch(EventSeverity severity_, Event event_) : severity(severity_), event(event_), start(Clock::now()) {} stopwatch::stopwatch(const std::string &name_, Event event_) : name(name_), event(event_), start(Clock::now()) {} stopwatch::stopwatch(const std::string &name_, EventSeverity severity_, Event event_) : name(name_), severity(severity_), event(event_), start(Clock::now()) {} void stopwatch::report(const std::string &name_) { Duration duration = Clock::now() - start; Log::Record(severity, event, name_ + ": " + util::toString(std::chrono::duration_cast(duration).count()) + "ms"); start += duration; } stopwatch::~stopwatch() { if (!name.empty()) { report(name); } } #endif