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.