xrpld
Loading...
Searching...
No Matches
xrpl::perf::PerfLogImp::Counters Struct Reference

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

Collaboration diagram for xrpl::perf::PerfLogImp::Counters:

Classes

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

Public Types

using MethodStart = std::pair<std::string_view, SteadyTimePoint>

Public Member Functions

 Counters (std::span< NullTerminatedView const > methodNames, JobTypes const &jobTypes)
json::Value countersJson () const
json::Value currentJson () const

Public Attributes

std::unordered_map< std::string_view, Locked< Rpc > > rpc
std::vector< NullTerminatedView > labels
std::unordered_map< JobType, Locked< Jq > > jq
std::vector< std::pair< JobType, SteadyTimePoint > > jobs
std::mutex jobsMutex
std::unordered_map< std::uint64_t, MethodStart > methods
std::mutex methodsMutex

Detailed Description

Track performance counters and currently executing tasks.

Definition at line 59 of file PerfLogImp.h.

Member Typedef Documentation

◆ MethodStart

Constructor & Destructor Documentation

◆ Counters()

xrpl::perf::PerfLogImp::Counters::Counters ( std::span< NullTerminatedView const > methodNames,
JobTypes const & jobTypes )

Definition at line 40 of file PerfLogImp.cpp.

Member Function Documentation

◆ countersJson()

json::Value xrpl::perf::PerfLogImp::Counters::countersJson ( ) const

Definition at line 78 of file PerfLogImp.cpp.

◆ currentJson()

json::Value xrpl::perf::PerfLogImp::Counters::currentJson ( ) const

Definition at line 182 of file PerfLogImp.cpp.

Member Data Documentation

◆ rpc

std::unordered_map<std::string_view, Locked<Rpc> > xrpl::perf::PerfLogImp::Counters::rpc

Definition at line 99 of file PerfLogImp.h.

◆ labels

std::vector<NullTerminatedView> xrpl::perf::PerfLogImp::Counters::labels

Definition at line 106 of file PerfLogImp.h.

◆ jq

std::unordered_map<JobType, Locked<Jq> > xrpl::perf::PerfLogImp::Counters::jq

Definition at line 107 of file PerfLogImp.h.

◆ jobs

std::vector<std::pair<JobType, SteadyTimePoint> > xrpl::perf::PerfLogImp::Counters::jobs

Definition at line 108 of file PerfLogImp.h.

◆ jobsMutex

std::mutex xrpl::perf::PerfLogImp::Counters::jobsMutex
mutable

Definition at line 109 of file PerfLogImp.h.

◆ methods

std::unordered_map<std::uint64_t, MethodStart> xrpl::perf::PerfLogImp::Counters::methods

Definition at line 112 of file PerfLogImp.h.

◆ methodsMutex

std::mutex xrpl::perf::PerfLogImp::Counters::methodsMutex
mutable

Definition at line 113 of file PerfLogImp.h.