Logo ROOT  
Reference Guide
ROOT::Experimental::Detail::RNTupleMetrics Class Reference

A collection of Counter objects with a name, a unit, and a description.

The class owns the counters; on registration of a new

Definition at line 285 of file RNTupleMetrics.hxx.

Public Member Functions

 RNTupleMetrics (const RNTupleMetrics &other)=delete
 
 RNTupleMetrics (const std::string &name)
 
 RNTupleMetrics (RNTupleMetrics &&other)=default
 
 ~RNTupleMetrics ()=default
 
void Enable ()
 
const RNTuplePerfCounterGetCounter (std::string_view name) const
 Searches this object and all the observed sub metrics. More...
 
const RNTuplePerfCounterGetLocalCounter (std::string_view name) const
 Searches counters registered in this object only. Returns nullptr if name is not found. More...
 
bool IsEnabled () const
 
template<typename CounterPtrT , class... Args>
CounterPtrT MakeCounter (const std::string &name, Args &&... args)
 
void ObserveMetrics (RNTupleMetrics &observee)
 
RNTupleMetricsoperator= (const RNTupleMetrics &other)=delete
 
RNTupleMetricsoperator= (RNTupleMetrics &&other)=default
 
void Print (std::ostream &output, const std::string &prefix="") const
 

Private Member Functions

bool Contains (const std::string &name) const
 

Private Attributes

std::vector< std::unique_ptr< RNTuplePerfCounter > > fCounters
 
bool fIsEnabled = false
 
std::string fName
 
std::vector< RNTupleMetrics * > fObservedMetrics
 

Static Private Attributes

static constexpr char kNamespaceSeperator = '.'
 Symbol to split metrics name from counter / sub metrics name. More...
 

#include <ROOT/RNTupleMetrics.hxx>

Constructor & Destructor Documentation

◆ RNTupleMetrics() [1/3]

ROOT::Experimental::Detail::RNTupleMetrics::RNTupleMetrics ( const std::string &  name)
inlineexplicit

Definition at line 298 of file RNTupleMetrics.hxx.

◆ RNTupleMetrics() [2/3]

ROOT::Experimental::Detail::RNTupleMetrics::RNTupleMetrics ( const RNTupleMetrics other)
delete

◆ RNTupleMetrics() [3/3]

ROOT::Experimental::Detail::RNTupleMetrics::RNTupleMetrics ( RNTupleMetrics &&  other)
default

◆ ~RNTupleMetrics()

ROOT::Experimental::Detail::RNTupleMetrics::~RNTupleMetrics ( )
default

Member Function Documentation

◆ Contains()

bool ROOT::Experimental::Detail::RNTupleMetrics::Contains ( const std::string &  name) const
private

Definition at line 31 of file RNTupleMetrics.cxx.

◆ Enable()

void ROOT::Experimental::Detail::RNTupleMetrics::Enable ( )

Definition at line 81 of file RNTupleMetrics.cxx.

◆ GetCounter()

const ROOT::Experimental::Detail::RNTuplePerfCounter * ROOT::Experimental::Detail::RNTupleMetrics::GetCounter ( std::string_view  name) const

Searches this object and all the observed sub metrics.

name must start with the prefix used by this RNTupleMetrics instance. Returns nullptr if name is not found.

Definition at line 47 of file RNTupleMetrics.cxx.

◆ GetLocalCounter()

const ROOT::Experimental::Detail::RNTuplePerfCounter * ROOT::Experimental::Detail::RNTupleMetrics::GetLocalCounter ( std::string_view  name) const

Searches counters registered in this object only. Returns nullptr if name is not found.

Definition at line 37 of file RNTupleMetrics.cxx.

◆ IsEnabled()

bool ROOT::Experimental::Detail::RNTupleMetrics::IsEnabled ( ) const
inline

Definition at line 326 of file RNTupleMetrics.hxx.

◆ MakeCounter()

template<typename CounterPtrT , class... Args>
CounterPtrT ROOT::Experimental::Detail::RNTupleMetrics::MakeCounter ( const std::string &  name,
Args &&...  args 
)
inline

Definition at line 307 of file RNTupleMetrics.hxx.

◆ ObserveMetrics()

void ROOT::Experimental::Detail::RNTupleMetrics::ObserveMetrics ( RNTupleMetrics observee)

Definition at line 90 of file RNTupleMetrics.cxx.

◆ operator=() [1/2]

RNTupleMetrics & ROOT::Experimental::Detail::RNTupleMetrics::operator= ( const RNTupleMetrics other)
delete

◆ operator=() [2/2]

RNTupleMetrics & ROOT::Experimental::Detail::RNTupleMetrics::operator= ( RNTupleMetrics &&  other)
default

◆ Print()

void ROOT::Experimental::Detail::RNTupleMetrics::Print ( std::ostream &  output,
const std::string &  prefix = "" 
) const

Definition at line 66 of file RNTupleMetrics.cxx.

Member Data Documentation

◆ fCounters

std::vector<std::unique_ptr<RNTuplePerfCounter> > ROOT::Experimental::Detail::RNTupleMetrics::fCounters
private

Definition at line 290 of file RNTupleMetrics.hxx.

◆ fIsEnabled

bool ROOT::Experimental::Detail::RNTupleMetrics::fIsEnabled = false
private

Definition at line 293 of file RNTupleMetrics.hxx.

◆ fName

std::string ROOT::Experimental::Detail::RNTupleMetrics::fName
private

Definition at line 292 of file RNTupleMetrics.hxx.

◆ fObservedMetrics

std::vector<RNTupleMetrics *> ROOT::Experimental::Detail::RNTupleMetrics::fObservedMetrics
private

Definition at line 291 of file RNTupleMetrics.hxx.

◆ kNamespaceSeperator

constexpr char ROOT::Experimental::Detail::RNTupleMetrics::kNamespaceSeperator = '.'
staticconstexprprivate

Symbol to split metrics name from counter / sub metrics name.

Definition at line 288 of file RNTupleMetrics.hxx.


The documentation for this class was generated from the following files: