1#ifndef XRPL_BASICS_PERFLOGIMP_H 
    2#define XRPL_BASICS_PERFLOGIMP_H 
    4#include <xrpld/perflog/PerfLog.h> 
    5#include <xrpld/rpc/detail/Handler.h> 
    7#include <xrpl/beast/utility/Journal.h> 
    9#include <boost/asio/ip/host_name.hpp> 
  143        rpcEnd(method, requestId, 
true);
 
 
  149        rpcEnd(method, requestId, 
false);
 
 
  159        int instance) 
override;
 
 
A generic endpoint for log messages.
 
static JobTypes const & instance()
 
Implementation class for PerfLog.
 
std::string const hostname_
 
void rpcEnd(std::string const &method, std::uint64_t const requestId, bool finish)
 
void resizeJobs(int const resize) override
Ensure enough room to store each currently executing job.
 
void rpcError(std::string const &method, std::uint64_t const requestId) override
Log errored RPC call.
 
std::function< void()> const signalStop_
 
Json::Value countersJson() const override
Render performance counters in Json.
 
void jobQueue(JobType const type) override
Log queued job.
 
void jobStart(JobType const type, microseconds dur, steady_time_point startTime, int instance) override
Log job executing.
 
void rpcStart(std::string const &method, std::uint64_t const requestId) override
Log start of RPC call.
 
void rotate() override
Rotate perf log file.
 
std::condition_variable cond_
 
void rpcFinish(std::string const &method, std::uint64_t const requestId) override
Log successful finish of RPC call.
 
void jobFinish(JobType const type, microseconds dur, int instance) override
Log job finishing.
 
system_time_point lastLog_
 
Json::Value currentJson() const override
Render currently executing jobs and RPC calls and durations in Json.
 
Singleton class that maintains performance counters and optionally writes Json-formatted data to a di...
 
std::chrono::time_point< steady_clock > steady_time_point
 
std::chrono::microseconds microseconds
 
std::set< char const * > getHandlerNames()
Return names of all methods.
 
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
 
A box coupling data with a mutex for locking access to it.
 
Locked(Locked const &rhs)
 
Job Queue task performance counters.
 
microseconds runningDuration
 
microseconds queuedDuration
 
RPC performance counters.
 
Track performance counters and currently executing tasks.
 
Json::Value currentJson() const
 
std::unordered_map< std::string, Locked< Rpc > > rpc_
 
std::vector< std::pair< JobType, steady_time_point > > jobs_
 
std::unordered_map< std::uint64_t, MethodStart > methods_
 
Json::Value countersJson() const
 
std::unordered_map< JobType, Locked< Jq > > jq_
 
Configuration from [perf] section of rippled.cfg.