rippled
Public Types | Public Member Functions | Private Member Functions | List of all members
ripple::perf::PerfLogTest Class Referenceabstract
Inheritance diagram for ripple::perf::PerfLogTest:
Inheritance graph
[legend]
Collaboration diagram for ripple::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. More...
 

Private Member Functions

void rpcStart (std::string const &method, std::uint64_t requestId) override
 Log start of RPC call. More...
 
void rpcFinish (std::string const &method, std::uint64_t requestId) override
 Log successful finish of RPC call. More...
 
void rpcError (std::string const &method, std::uint64_t dur) override
 Log errored RPC call. More...
 
void jobQueue (JobType const type) override
 Log queued job. More...
 
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. More...
 
Json::Value countersJson () const override
 Render performance counters in Json. More...
 
Json::Value currentJson () const override
 Render currently executing jobs and RPC calls and durations in Json. More...
 
void resizeJobs (int const resize) override
 Ensure enough room to store each currently executing job. More...
 
void rotate () override
 Rotate perf log file. More...
 

Detailed Description

Definition at line 40 of file Workers_test.cpp.

Member Typedef Documentation

◆ steady_clock

Definition at line 51 of file PerfLog.h.

◆ system_clock

Definition at line 52 of file PerfLog.h.

◆ steady_time_point

Definition at line 53 of file PerfLog.h.

◆ system_time_point

Definition at line 54 of file PerfLog.h.

◆ seconds

Definition at line 55 of file PerfLog.h.

◆ milliseconds

Definition at line 56 of file PerfLog.h.

◆ microseconds

Definition at line 57 of file PerfLog.h.

Member Function Documentation

◆ rpcStart()

void ripple::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 ripple::perf::PerfLog.

Definition at line 43 of file Workers_test.cpp.

◆ rpcFinish()

void ripple::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 ripple::perf::PerfLog.

Definition at line 48 of file Workers_test.cpp.

◆ rpcError()

void ripple::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 ripple::perf::PerfLog.

Definition at line 53 of file Workers_test.cpp.

◆ jobQueue()

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

Log queued job.

Parameters
typeJob type

Implements ripple::perf::PerfLog.

Definition at line 58 of file Workers_test.cpp.

◆ jobStart() [1/2]

void ripple::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 63 of file Workers_test.cpp.

◆ jobFinish()

void ripple::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 ripple::perf::PerfLog.

Definition at line 72 of file Workers_test.cpp.

◆ countersJson()

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

Render performance counters in Json.

Returns
Counters Json object

Implements ripple::perf::PerfLog.

Definition at line 78 of file Workers_test.cpp.

◆ currentJson()

Json::Value ripple::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 ripple::perf::PerfLog.

Definition at line 84 of file Workers_test.cpp.

◆ resizeJobs()

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

Ensure enough room to store each currently executing job.

Parameters
resizeNumber of JobQueue worker threads

Implements ripple::perf::PerfLog.

Definition at line 90 of file Workers_test.cpp.

◆ rotate()

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

Rotate perf log file.

Implements ripple::perf::PerfLog.

Definition at line 95 of file Workers_test.cpp.

◆ start()

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

Reimplemented in ripple::perf::PerfLogImp.

Definition at line 72 of file PerfLog.h.

◆ stop()

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

Reimplemented in ripple::perf::PerfLogImp.

Definition at line 77 of file PerfLog.h.

◆ jobStart() [2/2]

virtual void ripple::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 ripple::perf::PerfLogImp.