xrpld
Loading...
Searching...
No Matches
xrpl::LoadMonitor Class Reference

#include <LoadMonitor.h>

Collaboration diagram for xrpl::LoadMonitor:

Classes

struct  Stats

Public Member Functions

 LoadMonitor (beast::Journal j)
void addLoadSample (LoadEvent const &sample)
void addSamples (int count, std::chrono::milliseconds latency)
void setTargetLatency (std::chrono::milliseconds avg, std::chrono::milliseconds pk)
bool isOverTarget (std::chrono::milliseconds avg, std::chrono::milliseconds peak)
Stats getStats ()
bool isOver ()

Private Member Functions

void update ()

Private Attributes

std::mutex mutex_
std::uint64_t counts_ {0}
int latencyEvents_ {0}
std::chrono::milliseconds latencyMSAvg_
std::chrono::milliseconds latencyMSPeak_
std::chrono::milliseconds targetLatencyAvg_
std::chrono::milliseconds targetLatencyPk_
UptimeClock::time_point lastUpdate_
beast::Journal const j_

Detailed Description

Definition at line 17 of file LoadMonitor.h.

Constructor & Destructor Documentation

◆ LoadMonitor()

xrpl::LoadMonitor::LoadMonitor ( beast::Journal j)
explicit

Definition at line 30 of file LoadMonitor.cpp.

Member Function Documentation

◆ addLoadSample()

void xrpl::LoadMonitor::addLoadSample ( LoadEvent const & sample)

Definition at line 85 of file LoadMonitor.cpp.

◆ addSamples()

void xrpl::LoadMonitor::addSamples ( int count,
std::chrono::milliseconds latency )

Definition at line 109 of file LoadMonitor.cpp.

◆ setTargetLatency()

void xrpl::LoadMonitor::setTargetLatency ( std::chrono::milliseconds avg,
std::chrono::milliseconds pk )

Definition at line 126 of file LoadMonitor.cpp.

◆ isOverTarget()

bool xrpl::LoadMonitor::isOverTarget ( std::chrono::milliseconds avg,
std::chrono::milliseconds peak )

Definition at line 133 of file LoadMonitor.cpp.

◆ getStats()

LoadMonitor::Stats xrpl::LoadMonitor::getStats ( )

Definition at line 155 of file LoadMonitor.cpp.

◆ isOver()

bool xrpl::LoadMonitor::isOver ( )

Definition at line 141 of file LoadMonitor.cpp.

◆ update()

void xrpl::LoadMonitor::update ( )
private

Definition at line 47 of file LoadMonitor.cpp.

Member Data Documentation

◆ mutex_

std::mutex xrpl::LoadMonitor::mutex_
private

Definition at line 55 of file LoadMonitor.h.

◆ counts_

std::uint64_t xrpl::LoadMonitor::counts_ {0}
private

Definition at line 57 of file LoadMonitor.h.

◆ latencyEvents_

int xrpl::LoadMonitor::latencyEvents_ {0}
private

Definition at line 58 of file LoadMonitor.h.

◆ latencyMSAvg_

std::chrono::milliseconds xrpl::LoadMonitor::latencyMSAvg_
private

Definition at line 59 of file LoadMonitor.h.

◆ latencyMSPeak_

std::chrono::milliseconds xrpl::LoadMonitor::latencyMSPeak_
private

Definition at line 60 of file LoadMonitor.h.

◆ targetLatencyAvg_

std::chrono::milliseconds xrpl::LoadMonitor::targetLatencyAvg_
private

Definition at line 61 of file LoadMonitor.h.

◆ targetLatencyPk_

std::chrono::milliseconds xrpl::LoadMonitor::targetLatencyPk_
private

Definition at line 62 of file LoadMonitor.h.

◆ lastUpdate_

UptimeClock::time_point xrpl::LoadMonitor::lastUpdate_
private

Definition at line 63 of file LoadMonitor.h.

◆ j_

beast::Journal const xrpl::LoadMonitor::j_
private

Definition at line 64 of file LoadMonitor.h.