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 SteadyClock = std::chrono::steady_clock
using SystemClock = std::chrono::system_clock
using SteadyTimePoint = std::chrono::time_point<SteadyClock>
using SystemTimePoint = std::chrono::time_point<SystemClock>
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, SteadyTimePoint startTime, int instance)=0
 Log job executing.

Private Member Functions

void rpcStart (std::string_view method, std::uint64_t requestId) override
 Log start of RPC call.
void rpcFinish (std::string_view method, std::uint64_t requestId) override
 Log successful finish of RPC call.
void rpcError (std::string_view method, std::uint64_t requestId) 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 22 of file Workers_test.cpp.

Member Typedef Documentation

◆ SteadyClock

Definition at line 35 of file PerfLog.h.

◆ SystemClock

Definition at line 36 of file PerfLog.h.

◆ SteadyTimePoint

◆ SystemTimePoint

◆ Seconds

Definition at line 39 of file PerfLog.h.

◆ Milliseconds

Definition at line 40 of file PerfLog.h.

◆ Microseconds

Definition at line 41 of file PerfLog.h.

Member Function Documentation

◆ rpcStart()

void xrpl::perf::PerfLogTest::rpcStart ( std::string_view 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 25 of file Workers_test.cpp.

◆ rpcFinish()

void xrpl::perf::PerfLogTest::rpcFinish ( std::string_view 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 30 of file Workers_test.cpp.

◆ rpcError()

void xrpl::perf::PerfLogTest::rpcError ( std::string_view 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 35 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 40 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 45 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 54 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 59 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 65 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 71 of file Workers_test.cpp.

◆ rotate()

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

Rotate perf log file.

Implements xrpl::perf::PerfLog.

Definition at line 76 of file Workers_test.cpp.

◆ start()

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

Reimplemented in xrpl::perf::PerfLogImp.

Definition at line 56 of file PerfLog.h.

◆ stop()

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

Reimplemented in xrpl::perf::PerfLogImp.

Definition at line 61 of file PerfLog.h.

◆ jobStart() [2/2]

virtual void xrpl::perf::PerfLog::jobStart ( JobType const type,
Microseconds dur,
SteadyTimePoint 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.