rippled
|
Singleton class that maintains performance counters and optionally writes Json-formatted data to a distinct log. More...
Classes | |
struct | Setup |
Configuration from [perf] section of rippled.cfg. More... | |
Public Types | |
using | steady_clock = std::chrono::steady_clock |
using | system_clock = std::chrono::system_clock |
using | steady_time_point = std::chrono::time_point< steady_clock > |
using | system_time_point = std::chrono::time_point< system_clock > |
using | seconds = std::chrono::seconds |
using | milliseconds = std::chrono::milliseconds |
using | microseconds = std::chrono::microseconds |
Public Member Functions | |
virtual | ~PerfLog ()=default |
virtual void | start () |
virtual void | stop () |
virtual void | rpcStart (std::string const &method, std::uint64_t requestId)=0 |
Log start of RPC call. More... | |
virtual void | rpcFinish (std::string const &method, std::uint64_t requestId)=0 |
Log successful finish of RPC call. More... | |
virtual void | rpcError (std::string const &method, std::uint64_t requestId)=0 |
Log errored RPC call. More... | |
virtual void | jobQueue (JobType const type)=0 |
Log queued job. More... | |
virtual void | jobStart (JobType const type, microseconds dur, steady_time_point startTime, int instance)=0 |
Log job executing. More... | |
virtual void | jobFinish (JobType const type, microseconds dur, int instance)=0 |
Log job finishing. More... | |
virtual Json::Value | countersJson () const =0 |
Render performance counters in Json. More... | |
virtual Json::Value | currentJson () const =0 |
Render currently executing jobs and RPC calls and durations in Json. More... | |
virtual void | resizeJobs (int const resize)=0 |
Ensure enough room to store each currently executing job. More... | |
virtual void | rotate ()=0 |
Rotate perf log file. More... | |
Singleton class that maintains performance counters and optionally writes Json-formatted data to a distinct log.
It should exist prior to other objects launched by Application to make it accessible for performance logging.
|
virtualdefault |
|
virtual |
Reimplemented in ripple::perf::PerfLogImp.
|
virtual |
Reimplemented in ripple::perf::PerfLogImp.
|
pure virtual |
Log start of RPC call.
method | RPC command |
requestId | Unique identifier to track command |
Implemented in ripple::perf::PerfLogTest, and ripple::perf::PerfLogImp.
|
pure virtual |
Log successful finish of RPC call.
method | RPC command |
requestId | Unique identifier to track command |
Implemented in ripple::perf::PerfLogTest, and ripple::perf::PerfLogImp.
|
pure virtual |
Log errored RPC call.
method | RPC command |
requestId | Unique identifier to track command |
Implemented in ripple::perf::PerfLogTest, and ripple::perf::PerfLogImp.
|
pure virtual |
Log queued job.
type | Job type |
Implemented in ripple::perf::PerfLogImp, and ripple::perf::PerfLogTest.
|
pure virtual |
Log job executing.
type | Job type |
dur | Duration enqueued in microseconds |
startTime | Time that execution began |
instance | JobQueue worker thread instance |
Implemented in ripple::perf::PerfLogImp.
|
pure virtual |
Log job finishing.
type | Job type |
dur | Duration running in microseconds |
instance | Jobqueue worker thread instance |
Implemented in ripple::perf::PerfLogTest, and ripple::perf::PerfLogImp.
|
pure virtual |
Render performance counters in Json.
Implemented in ripple::perf::PerfLogImp, and ripple::perf::PerfLogTest.
|
pure virtual |
Render currently executing jobs and RPC calls and durations in Json.
Implemented in ripple::perf::PerfLogImp, and ripple::perf::PerfLogTest.
|
pure virtual |
Ensure enough room to store each currently executing job.
Implemented in ripple::perf::PerfLogImp, and ripple::perf::PerfLogTest.
|
pure virtual |
Rotate perf log file.
Implemented in ripple::perf::PerfLogImp, and ripple::perf::PerfLogTest.