Files
BeamMP-Server/src/TScopedTimer.cpp
2022-11-23 09:34:50 +01:00

28 lines
694 B
C++

#include "TScopedTimer.h"
#include "Common.h"
TScopedTimer::TScopedTimer()
: mStartTime(TimeType::now()) {
}
TScopedTimer::TScopedTimer(const std::string& mName)
: mStartTime(TimeType::now())
, Name(mName) {
}
TScopedTimer::TScopedTimer(std::function<void(size_t)> OnDestroy)
: OnDestroy(OnDestroy)
, mStartTime(TimeType::now()) {
}
TScopedTimer::~TScopedTimer() {
auto EndTime = TimeType::now();
auto Delta = EndTime - mStartTime;
size_t TimeDelta = Delta / std::chrono::milliseconds(1);
if (OnDestroy) {
OnDestroy(TimeDelta);
} else {
beammp_info("Scoped timer: \"" + Name + "\" took " + std::to_string(TimeDelta) + "ms ");
}
}