xrpld
Loading...
Searching...
No Matches
TxMetrics.h
1#pragma once
2
3#include <xrpl/json/json_value.h>
4
5#include <boost/circular_buffer.hpp>
6
7#include <xrpl.pb.h>
8
9#include <chrono>
10#include <cstdint>
11#include <mutex>
12
13namespace xrpl::metrics {
14
23{
29 SingleMetrics(bool ptu = true) : perTimeUnit(ptu)
30 {
31 }
33 clock_type::time_point intervalStart{clock_type::now()};
37 bool perTimeUnit{true};
38 boost::circular_buffer<std::uint64_t> rollingAvgAggregate{30, 0ull};
43 void
45};
46
52{
53 MultipleMetrics(bool ptu1 = true, bool ptu2 = true) : m1(ptu1), m2(ptu2)
54 {
55 }
56
63 void
70 void
72};
73
78{
80 // TMTransaction bytes and count per second
82 // TMHaveTransactions bytes and count per second
84 // TMGetLedger bytes and count per second
86 // TMLedgerData bytes and count per second
88 // TMTransactions bytes and count per second
90 // Peers selected to relay in each transaction sample average
92 // Peers suppressed to relay in each transaction sample average
94 // Peers with tx reduce-relay feature not enabled
96 // TMTransactions number of transactions count per second
103 void
104 addMetrics(protocol::MessageType type, std::uint32_t val);
111 void
117 void
118 addMetrics(std::uint32_t missing);
124 json() const;
125};
126
127} // namespace xrpl::metrics
Represents a JSON value.
Definition json_value.h:117
void addMetrics(std::uint32_t val2)
Add metrics to m2.
Definition TxMetrics.cpp:63
MultipleMetrics(bool ptu1=true, bool ptu2=true)
Definition TxMetrics.h:53
Run single metrics rolling average.
Definition TxMetrics.h:23
void addMetrics(std::uint32_t val)
Add metrics value.
Definition TxMetrics.cpp:76
boost::circular_buffer< std::uint64_t > rollingAvgAggregate
Definition TxMetrics.h:38
std::chrono::steady_clock clock_type
Definition TxMetrics.h:32
clock_type::time_point intervalStart
Definition TxMetrics.h:33
SingleMetrics(bool ptu=true)
Class constructor.
Definition TxMetrics.h:29
Run transaction reduce-relay feature related metrics.
Definition TxMetrics.h:78
void addMetrics(protocol::MessageType type, std::uint32_t val)
Add protocol message metrics.
Definition TxMetrics.cpp:17
SingleMetrics suppressedPeers
Definition TxMetrics.h:93
SingleMetrics notEnabled
Definition TxMetrics.h:95
SingleMetrics missingTx
Definition TxMetrics.h:97
MultipleMetrics getLedger
Definition TxMetrics.h:85
MultipleMetrics tx
Definition TxMetrics.h:81
MultipleMetrics transactions
Definition TxMetrics.h:89
MultipleMetrics ledgerData
Definition TxMetrics.h:87
MultipleMetrics haveTx
Definition TxMetrics.h:83
json::Value json() const
Get json representation of the metrics.
SingleMetrics selectedPeers
Definition TxMetrics.h:91