rippled
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Member Functions | List of all members
xrpl::perf::PerfLogTest Class Referenceabstract
Inheritance diagram for xrpl::perf::PerfLogTest:
Inheritance graph
[legend]
Collaboration diagram for xrpl::perf::PerfLogTest:
Collaboration graph
[legend]

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 20 of file Workers_test.cpp.

Member Typedef Documentation

◆ steady_clock

Definition at line 34 of file PerfLog.h.

◆ system_clock

Definition at line 35 of file PerfLog.h.

◆ steady_time_point

Definition at line 36 of file PerfLog.h.

◆ system_time_point

Definition at line 37 of file PerfLog.h.

◆ seconds

Definition at line 38 of file PerfLog.h.

◆ milliseconds

Definition at line 39 of file PerfLog.h.

◆ microseconds

Definition at line 40 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 23 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 28 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 33 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 38 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 43 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 52 of file Workers_test.cpp.

◆ countersJson()

Json::Value xrpl::perf::PerfLogTest::countersJson ( ) const
overrideprivatevirtual

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
overrideprivatevirtual

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 55 of file PerfLog.h.

◆ stop()

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

Reimplemented in xrpl::perf::PerfLogImp.

Definition at line 60 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.