rippled
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 {
12
13namespace metrics {
14
22{
27 SingleMetrics(bool ptu = true) : perTimeUnit(ptu)
28 {
29 }
31 clock_type::time_point intervalStart{clock_type::now()};
35 bool perTimeUnit{true};
36 boost::circular_buffer<std::uint64_t> rollingAvgAggregate{30, 0ull};
40 void
42};
43
47{
48 MultipleMetrics(bool ptu1 = true, bool ptu2 = true) : m1(ptu1), m2(ptu2)
49 {
50 }
51
57 void
63 void
65};
66
69{
71 // TMTransaction bytes and count per second
73 // TMHaveTransactions bytes and count per second
75 // TMGetLedger bytes and count per second
77 // TMLedgerData bytes and count per second
79 // TMTransactions bytes and count per second
81 // Peers selected to relay in each transaction sample average
83 // Peers suppressed to relay in each transaction sample average
85 // Peers with tx reduce-relay feature not enabled
87 // TMTransactions number of transactions count per second
93 void
94 addMetrics(protocol::MessageType type, std::uint32_t val);
100 void
105 void
106 addMetrics(std::uint32_t missing);
111 json() const;
112};
113
114} // namespace metrics
115
116} // namespace xrpl
Represents a JSON value.
Definition json_value.h:130
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5
void addMetrics(std::uint32_t val2)
Add metrics to m2.
Definition TxMetrics.cpp:58
MultipleMetrics(bool ptu1=true, bool ptu2=true)
Definition TxMetrics.h:48
Run single metrics rolling average.
Definition TxMetrics.h:22
void addMetrics(std::uint32_t val)
Add metrics value.
Definition TxMetrics.cpp:71
boost::circular_buffer< std::uint64_t > rollingAvgAggregate
Definition TxMetrics.h:36
clock_type::time_point intervalStart
Definition TxMetrics.h:31
SingleMetrics(bool ptu=true)
Class constructor.
Definition TxMetrics.h:27
Run transaction reduce-relay feature related metrics.
Definition TxMetrics.h:69
void addMetrics(protocol::MessageType type, std::uint32_t val)
Add protocol message metrics.
Definition TxMetrics.cpp:12
SingleMetrics suppressedPeers
Definition TxMetrics.h:84
SingleMetrics notEnabled
Definition TxMetrics.h:86
SingleMetrics missingTx
Definition TxMetrics.h:88
MultipleMetrics getLedger
Definition TxMetrics.h:76
MultipleMetrics tx
Definition TxMetrics.h:72
MultipleMetrics transactions
Definition TxMetrics.h:80
Json::Value json() const
Get json representation of the metrics.
Definition TxMetrics.cpp:94
MultipleMetrics ledgerData
Definition TxMetrics.h:78
MultipleMetrics haveTx
Definition TxMetrics.h:74
SingleMetrics selectedPeers
Definition TxMetrics.h:82