1#include <xrpld/core/LoadMonitor.h>
3#include <xrpl/basics/Log.h>
4#include <xrpl/basics/UptimeClock.h>
20 : count(0), latencyAvg(0), latencyPeak(0), isOverloaded(false)
47 using namespace std::chrono_literals;
89 auto const latency = total < 2ms ? 0ms : round<milliseconds>(total);
94 JLOG(mj) <<
"Job: " << s.
name()
95 <<
" run: " << round<milliseconds>(s.
runTime()).count() <<
"ms"
96 <<
" wait: " << round<milliseconds>(s.
waitTime()).count()
138 using namespace std::chrono_literals;
161 using namespace std::chrono_literals;
A generic endpoint for log messages.
std::string const & name() const
std::chrono::steady_clock::duration waitTime() const
std::chrono::steady_clock::duration runTime() const
LoadMonitor(beast::Journal j)
void setTargetLatency(std::chrono::milliseconds avg, std::chrono::milliseconds pk)
void addSamples(int count, std::chrono::milliseconds latency)
std::chrono::milliseconds mLatencyMSAvg
void addLoadSample(LoadEvent const &sample)
std::chrono::milliseconds mTargetLatencyAvg
std::chrono::milliseconds mLatencyMSPeak
bool isOverTarget(std::chrono::milliseconds avg, std::chrono::milliseconds peak)
std::chrono::milliseconds mTargetLatencyPk
UptimeClock::time_point mLastUpdate
Tracks program uptime to seconds precision.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
std::chrono::milliseconds latencyAvg
std::chrono::milliseconds latencyPeak