xrpld
Loading...
Searching...
No Matches
xrpl::perf::PerfLogTest Class Referenceabstract
Inheritance diagram for xrpl::perf::PerfLogTest:
Collaboration diagram for xrpl::perf::PerfLogTest:

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 void start ()
virtual void stop ()
virtual void jobStart (JobType const type, microseconds dur, steady_time_point startTime, int instance)=0
 Log job executing.

Private Member Functions

void rpcStart (std::string const &method, std::uint64_t requestId) override
 Log start of RPC call.
void rpcFinish (std::string const &method, std::uint64_t requestId) override
 Log successful finish of RPC call.
void rpcError (std::string const &method, std::uint64_t dur) override
 Log errored RPC call.
void jobQueue (JobType const type) override
 Log queued job.
void jobStart (JobType const type, std::chrono::microseconds dur, std::chrono::time_point< std::chrono::steady_clock > startTime, int instance) override
void jobFinish (JobType const type, std::chrono::microseconds dur, int instance) override
 Log job finishing.
json::Value countersJson () const override
 Render performance counters in Json.
json::Value currentJson () const override
 Render currently executing jobs and RPC calls and durations in Json.
void resizeJobs (int const resize) override
 Ensure enough room to store each currently executing job.
void rotate () override
 Rotate perf log file.

Detailed Description

Definition at line 21 of file Workers_test.cpp.

Member Typedef Documentation

◆ steady_clock

Definition at line 33 of file PerfLog.h.

◆ system_clock

Definition at line 34 of file PerfLog.h.

◆ steady_time_point

◆ system_time_point

◆ seconds

Definition at line 37 of file PerfLog.h.

◆ milliseconds

Definition at line 38 of file PerfLog.h.

◆ microseconds

Definition at line 39 of file PerfLog.h.

Member Function Documentation

◆ rpcStart()

void xrpl::perf::PerfLogTest::rpcStart ( std::string const & method,
std::uint64_t requestId )
overrideprivatevirtual

Log start of RPC call.

Parameters
methodRPC command
requestIdUnique identifier to track command

Implements xrpl::perf::PerfLog.

Definition at line 24 of file Workers_test.cpp.

◆ rpcFinish()

void xrpl::perf::PerfLogTest::rpcFinish ( std::string const & method,
std::uint64_t requestId )
overrideprivatevirtual

Log successful finish of RPC call.

Parameters
methodRPC command
requestIdUnique identifier to track command

Implements xrpl::perf::PerfLog.

Definition at line 29 of file Workers_test.cpp.

◆ rpcError()

void xrpl::perf::PerfLogTest::rpcError ( std::string const & method,
std::uint64_t requestId )
overrideprivatevirtual

Log errored RPC call.

Parameters
methodRPC command
requestIdUnique identifier to track command

Implements xrpl::perf::PerfLog.

Definition at line 34 of file Workers_test.cpp.

◆ jobQueue()

void xrpl::perf::PerfLogTest::jobQueue ( JobType const type)
overrideprivatevirtual

Log queued job.

Parameters
typeJob type

Implements xrpl::perf::PerfLog.

Definition at line 39 of file Workers_test.cpp.

◆ jobStart() [1/2]

void xrpl::perf::PerfLogTest::jobStart ( JobType const type,
std::chrono::microseconds dur,
std::chrono::time_point< std::chrono::steady_clock > startTime,
int instance )
overrideprivate

Definition at line 44 of file Workers_test.cpp.

◆ jobFinish()

void xrpl::perf::PerfLogTest::jobFinish ( JobType const type,
std::chrono::microseconds dur,
int instance )
overrideprivatevirtual

Log job finishing.

Parameters
typeJob type
durDuration running in microseconds
instanceJobqueue worker thread instance

Implements xrpl::perf::PerfLog.

Definition at line 53 of file Workers_test.cpp.

◆ countersJson()

json::Value xrpl::perf::PerfLogTest::countersJson ( ) const
nodiscardoverrideprivatevirtual

Render performance counters in Json.

Returns
Counters Json object

Implements xrpl::perf::PerfLog.

Definition at line 58 of file Workers_test.cpp.

◆ currentJson()

json::Value xrpl::perf::PerfLogTest::currentJson ( ) const
nodiscardoverrideprivatevirtual

Render currently executing jobs and RPC calls and durations in Json.

Returns
Current executing jobs and RPC calls and durations

Implements xrpl::perf::PerfLog.

Definition at line 64 of file Workers_test.cpp.

◆ resizeJobs()

void xrpl::perf::PerfLogTest::resizeJobs ( int const resize)
overrideprivatevirtual

Ensure enough room to store each currently executing job.

Parameters
resizeNumber of JobQueue worker threads

Implements xrpl::perf::PerfLog.

Definition at line 70 of file Workers_test.cpp.

◆ rotate()

void xrpl::perf::PerfLogTest::rotate ( )
overrideprivatevirtual

Rotate perf log file.

Implements xrpl::perf::PerfLog.

Definition at line 75 of file Workers_test.cpp.

◆ start()

virtual void xrpl::perf::PerfLog::start ( )
virtualinherited

Reimplemented in xrpl::perf::PerfLogImp.

Definition at line 54 of file PerfLog.h.

◆ stop()

virtual void xrpl::perf::PerfLog::stop ( )
virtualinherited

Reimplemented in xrpl::perf::PerfLogImp.

Definition at line 59 of file PerfLog.h.

◆ jobStart() [2/2]

virtual void xrpl::perf::PerfLog::jobStart ( JobType const type,
microseconds dur,
steady_time_point startTime,
int instance )
pure virtualinherited

Log job executing.

Parameters
typeJob type
durDuration enqueued in microseconds
startTimeTime that execution began
instanceJobQueue worker thread instance

Implemented in xrpl::perf::PerfLogImp.