xrpld
Loading...
Searching...
No Matches
TxMetrics.h
1#pragma once
2
3#include <xrpl/json/json_value.h>
4#include <xrpl/protocol/messages.h>
5
6#include <boost/circular_buffer.hpp>
7
8#include <chrono>
9#include <mutex>
10
11namespace xrpl::metrics {
12
20{
25 SingleMetrics(bool ptu = true) : perTimeUnit(ptu)
26 {
27 }
29 clock_type::time_point intervalStart{clock_type::now()};
33 bool perTimeUnit{true};
34 boost::circular_buffer<std::uint64_t> rollingAvgAggregate{30, 0ull};
38 void
40};
41
45{
46 MultipleMetrics(bool ptu1 = true, bool ptu2 = true) : m1(ptu1), m2(ptu2)
47 {
48 }
49
55 void
61 void
63};
64
67{
69 // TMTransaction bytes and count per second
71 // TMHaveTransactions bytes and count per second
73 // TMGetLedger bytes and count per second
75 // TMLedgerData bytes and count per second
77 // TMTransactions bytes and count per second
79 // Peers selected to relay in each transaction sample average
81 // Peers suppressed to relay in each transaction sample average
83 // Peers with tx reduce-relay feature not enabled
85 // TMTransactions number of transactions count per second
91 void
92 addMetrics(protocol::MessageType type, std::uint32_t val);
98 void
103 void
104 addMetrics(std::uint32_t missing);
109 json() const;
110};
111
112} // namespace xrpl::metrics
Represents a JSON value.
Definition json_value.h:130
void addMetrics(std::uint32_t val2)
Add metrics to m2.
Definition TxMetrics.cpp:63
MultipleMetrics(bool ptu1=true, bool ptu2=true)
Definition TxMetrics.h:46
Run single metrics rolling average.
Definition TxMetrics.h:20
void addMetrics(std::uint32_t val)
Add metrics value.
Definition TxMetrics.cpp:76
boost::circular_buffer< std::uint64_t > rollingAvgAggregate
Definition TxMetrics.h:34
std::chrono::steady_clock clock_type
Definition TxMetrics.h:28
clock_type::time_point intervalStart
Definition TxMetrics.h:29
SingleMetrics(bool ptu=true)
Class constructor.
Definition TxMetrics.h:25
Run transaction reduce-relay feature related metrics.
Definition TxMetrics.h:67
void addMetrics(protocol::MessageType type, std::uint32_t val)
Add protocol message metrics.
Definition TxMetrics.cpp:17
SingleMetrics suppressedPeers
Definition TxMetrics.h:82
SingleMetrics notEnabled
Definition TxMetrics.h:84
SingleMetrics missingTx
Definition TxMetrics.h:86
MultipleMetrics getLedger
Definition TxMetrics.h:74
MultipleMetrics tx
Definition TxMetrics.h:70
MultipleMetrics transactions
Definition TxMetrics.h:78
MultipleMetrics ledgerData
Definition TxMetrics.h:76
MultipleMetrics haveTx
Definition TxMetrics.h:72
json::Value json() const
Get json representation of the metrics.
SingleMetrics selectedPeers
Definition TxMetrics.h:80