rippled
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
ripple::perf::PerfLogImp::Counters Struct Reference

Track performance counters and currently executing tasks. More...

Collaboration diagram for ripple::perf::PerfLogImp::Counters:
Collaboration graph
[legend]

Classes

struct  Jq
 Job Queue task performance counters. More...
 
struct  Rpc
 RPC performance counters. More...
 

Public Types

using MethodStart = std::pair< char const *, steady_time_point >
 

Public Member Functions

 Counters (std::vector< char const * > const &labels, JobTypes const &jobTypes)
 
Json::Value countersJson () const
 
Json::Value currentJson () const
 

Public Attributes

std::unordered_map< std::string, Locked< Rpc > > rpc_
 
std::unordered_map< JobType, Locked< Jq > > jq_
 
std::vector< std::pair< JobType, steady_time_point > > jobs_
 
std::mutex jobsMutex_
 
std::unordered_map< std::uint64_t, MethodStartmethods_
 
std::mutex methodsMutex_
 

Detailed Description

Track performance counters and currently executing tasks.

Definition at line 74 of file PerfLogImp.h.

Member Typedef Documentation

◆ MethodStart

Definition at line 77 of file PerfLogImp.h.

Constructor & Destructor Documentation

◆ Counters()

ripple::perf::PerfLogImp::Counters::Counters ( std::vector< char const * > const &  labels,
JobTypes const &  jobTypes 
)

Definition at line 45 of file PerfLogImp.cpp.

Member Function Documentation

◆ countersJson()

Json::Value ripple::perf::PerfLogImp::Counters::countersJson ( ) const

Definition at line 78 of file PerfLogImp.cpp.

◆ currentJson()

Json::Value ripple::perf::PerfLogImp::Counters::currentJson ( ) const

Definition at line 173 of file PerfLogImp.cpp.

Member Data Documentation

◆ rpc_

std::unordered_map<std::string, Locked<Rpc> > ripple::perf::PerfLogImp::Counters::rpc_

Definition at line 109 of file PerfLogImp.h.

◆ jq_

std::unordered_map<JobType, Locked<Jq> > ripple::perf::PerfLogImp::Counters::jq_

Definition at line 110 of file PerfLogImp.h.

◆ jobs_

std::vector<std::pair<JobType, steady_time_point> > ripple::perf::PerfLogImp::Counters::jobs_

Definition at line 111 of file PerfLogImp.h.

◆ jobsMutex_

std::mutex ripple::perf::PerfLogImp::Counters::jobsMutex_
mutable

Definition at line 112 of file PerfLogImp.h.

◆ methods_

std::unordered_map<std::uint64_t, MethodStart> ripple::perf::PerfLogImp::Counters::methods_

Definition at line 113 of file PerfLogImp.h.

◆ methodsMutex_

std::mutex ripple::perf::PerfLogImp::Counters::methodsMutex_
mutable

Definition at line 114 of file PerfLogImp.h.