| 
    rippled
    
   | 
 
Singleton class that maintains performance counters and optionally writes Json-formatted data to a distinct log. More...
#include <PerfLog.h>

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.   | |
| virtual void | rpcFinish (std::string const &method, std::uint64_t requestId)=0 | 
| Log successful finish of RPC call.   | |
| virtual void | rpcError (std::string const &method, std::uint64_t requestId)=0 | 
| Log errored RPC call.   | |
| virtual void | jobQueue (JobType const type)=0 | 
| Log queued job.   | |
| virtual void | jobStart (JobType const type, microseconds dur, steady_time_point startTime, int instance)=0 | 
| Log job executing.   | |
| virtual void | jobFinish (JobType const type, microseconds dur, int instance)=0 | 
| Log job finishing.   | |
| virtual Json::Value | countersJson () const =0 | 
| Render performance counters in Json.   | |
| virtual Json::Value | currentJson () const =0 | 
| Render currently executing jobs and RPC calls and durations in Json.   | |
| virtual void | resizeJobs (int const resize)=0 | 
| Ensure enough room to store each currently executing job.   | |
| virtual void | rotate ()=0 | 
| Rotate perf log file.   | |
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::PerfLogImp, and ripple::perf::PerfLogTest.
      
  | 
  pure virtual | 
Log successful finish of RPC call.
| method | RPC command | 
| requestId | Unique identifier to track command | 
Implemented in ripple::perf::PerfLogImp, and ripple::perf::PerfLogTest.
      
  | 
  pure virtual | 
Log errored RPC call.
| method | RPC command | 
| requestId | Unique identifier to track command | 
Implemented in ripple::perf::PerfLogImp, and ripple::perf::PerfLogTest.
      
  | 
  pure virtual | 
Log queued job.
| type | Job type | 
Implemented in ripple::perf::PerfLogTest, and ripple::perf::PerfLogImp.
      
  | 
  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::PerfLogImp, and ripple::perf::PerfLogTest.
      
  | 
  pure virtual | 
Render performance counters in Json.
Implemented in ripple::perf::PerfLogTest, and ripple::perf::PerfLogImp.
      
  | 
  pure virtual | 
Render currently executing jobs and RPC calls and durations in Json.
Implemented in ripple::perf::PerfLogTest, and ripple::perf::PerfLogImp.
      
  | 
  pure virtual | 
Ensure enough room to store each currently executing job.
Implemented in ripple::perf::PerfLogTest, and ripple::perf::PerfLogImp.
      
  | 
  pure virtual | 
Rotate perf log file.
Implemented in ripple::perf::PerfLogTest, and ripple::perf::PerfLogImp.