20 #ifndef RIPPLE_BASICS_PERFLOG_H 
   21 #define RIPPLE_BASICS_PERFLOG_H 
   23 #include <ripple/core/Config.h> 
   24 #include <ripple/core/JobTypes.h> 
   25 #include <ripple/json/json_value.h> 
   26 #include <boost/filesystem.hpp> 
  177     PerfLog::Setup 
const& setup,
 
  185 #endif  // RIPPLE_BASICS_PERFLOG_H 
  
std::chrono::microseconds microseconds
Holds a collection of configuration values.
virtual void rpcError(std::string const &method, std::uint64_t requestId)=0
Log errored RPC call.
boost::filesystem::path perfLog
std::unique_ptr< PerfLog > make_PerfLog(PerfLog::Setup const &setup, Application &app, beast::Journal journal, std::function< void()> &&signalStop)
Singleton class that maintains performance counters and optionally writes Json-formatted data to a di...
Configuration from [perf] section of rippled.cfg.
virtual void resizeJobs(int const resize)=0
Ensure enough room to store each currently executing job.
A generic endpoint for log messages.
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 rpcStart(std::string const &method, std::uint64_t requestId)=0
Log start of RPC call.
virtual ~PerfLog()=default
PerfLog::Setup setup_PerfLog(Section const §ion, boost::filesystem::path const &configDir)
virtual Json::Value countersJson() const =0
Render performance counters in Json.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
std::chrono::time_point< steady_clock > steady_time_point
virtual void rotate()=0
Rotate perf log file.
virtual Json::Value currentJson() const =0
Render currently executing jobs and RPC calls and durations in Json.
std::chrono::seconds seconds
virtual void rpcFinish(std::string const &method, std::uint64_t requestId)=0
Log successful finish of RPC call.
virtual void jobFinish(JobType const type, microseconds dur, int instance)=0
Log job finishing.