xrpld
Loading...
Searching...
No Matches
LoadMonitor.h
1#pragma once
2
3#include <xrpl/basics/UptimeClock.h>
4#include <xrpl/beast/utility/Journal.h>
5#include <xrpl/core/LoadEvent.h>
6
7#include <chrono>
8#include <cstdint>
9#include <mutex>
10
11namespace xrpl {
12
13// Monitors load levels and response times
14
15// VFALCO TODO Rename this. Having both LoadManager and LoadMonitor is
16// confusing.
17//
67
68} // namespace xrpl
A generic endpoint for log messages.
Definition Journal.h:44
std::chrono::milliseconds latencyMSPeak_
Definition LoadMonitor.h:61
void addLoadSample(LoadEvent const &sample)
std::uint64_t counts_
Definition LoadMonitor.h:58
void setTargetLatency(std::chrono::milliseconds avg, std::chrono::milliseconds pk)
std::chrono::milliseconds targetLatencyAvg_
Definition LoadMonitor.h:62
bool isOverTarget(std::chrono::milliseconds avg, std::chrono::milliseconds peak)
void addSamples(int count, std::chrono::milliseconds latency)
Add multiple samples.
std::mutex mutex_
Definition LoadMonitor.h:56
LoadMonitor(beast::Journal j)
std::chrono::milliseconds latencyMSAvg_
Definition LoadMonitor.h:60
UptimeClock::time_point lastUpdate_
Definition LoadMonitor.h:64
beast::Journal const j_
Definition LoadMonitor.h:65
std::chrono::milliseconds targetLatencyPk_
Definition LoadMonitor.h:63
std::chrono::time_point< UptimeClock > time_point
Definition UptimeClock.h:24
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5
std::chrono::milliseconds latencyPeak
Definition LoadMonitor.h:42
std::chrono::milliseconds latencyAvg
Definition LoadMonitor.h:41