CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Attributes | Friends
XrdAdaptor::XrdSiteStatistics Class Reference

#include <XrdStatistics.h>

Public Member Functions

void finishRead (XrdReadStatistics const &)
 
uint64_t getTotalBytes () const
 
std::chrono::nanoseconds getTotalReadTime ()
 
XrdSiteStatisticsoperator= (const XrdSiteStatistics &)=delete
 
void recomputeProperties (std::map< std::string, std::string > &props)
 
std::string const & site () const
 
 XrdSiteStatistics (std::string const &site)
 
 XrdSiteStatistics (const XrdSiteStatistics &)=delete
 

Static Public Member Functions

static std::shared_ptr< XrdReadStatisticsstartRead (std::shared_ptr< XrdSiteStatistics > parent, std::shared_ptr< ClientRequest > req)
 

Private Attributes

std::atomic< unsigned > m_chunkCount
 
std::atomic< unsigned > m_readCount
 
std::atomic< uint64_t > m_readNS
 
std::atomic< uint64_t > m_readSize
 
std::atomic< unsigned > m_readvCount
 
std::atomic< uint64_t > m_readvNS
 
std::atomic< uint64_t > m_readvSize
 
const std::string m_site = "Unknown"
 

Friends

class XrdReadStatistics
 

Detailed Description

Definition at line 71 of file XrdStatistics.h.

Constructor & Destructor Documentation

XrdSiteStatistics::XrdSiteStatistics ( std::string const &  site)

Definition at line 100 of file XrdStatistics.cc.

101  : m_site(site),
102  m_readvCount(0),
103  m_chunkCount(0),
104  m_readvSize(0),
105  m_readvNS(0.0),
106  m_readCount(0),
107  m_readSize(0),
108  m_readNS(0) {}
std::string const & site() const
Definition: XrdStatistics.h:79
std::atomic< unsigned > m_readCount
std::atomic< uint64_t > m_readvSize
std::atomic< unsigned > m_readvCount
Definition: XrdStatistics.h:98
std::atomic< uint64_t > m_readvNS
std::atomic< uint64_t > m_readNS
std::atomic< uint64_t > m_readSize
std::atomic< unsigned > m_chunkCount
Definition: XrdStatistics.h:99
XrdAdaptor::XrdSiteStatistics::XrdSiteStatistics ( const XrdSiteStatistics )
delete

Member Function Documentation

void XrdSiteStatistics::finishRead ( XrdReadStatistics const &  readStats)

Definition at line 141 of file XrdStatistics.cc.

References XrdAdaptor::XrdReadStatistics::elapsedNS(), m_chunkCount, m_readCount, m_readNS, m_readSize, m_readvCount, m_readvNS, m_readvSize, XrdAdaptor::XrdReadStatistics::readCount(), and XrdAdaptor::XrdReadStatistics::size().

141  {
142  if (readStats.readCount() > 1) {
143  m_readvCount++;
144  m_chunkCount += readStats.readCount();
145  m_readvSize += readStats.size();
146  m_readvNS += readStats.elapsedNS();
147  } else {
148  m_readCount++;
149  m_readSize += readStats.size();
150  m_readNS += readStats.elapsedNS();
151  }
152 }
std::atomic< unsigned > m_readCount
std::atomic< uint64_t > m_readvSize
std::atomic< unsigned > m_readvCount
Definition: XrdStatistics.h:98
std::atomic< uint64_t > m_readvNS
std::atomic< uint64_t > m_readNS
std::atomic< uint64_t > m_readSize
std::atomic< unsigned > m_chunkCount
Definition: XrdStatistics.h:99
uint64_t XrdAdaptor::XrdSiteStatistics::getTotalBytes ( ) const
inline

Definition at line 90 of file XrdStatistics.h.

90 { return m_readvSize + m_readSize; }
std::atomic< uint64_t > m_readvSize
std::atomic< uint64_t > m_readSize
std::chrono::nanoseconds XrdAdaptor::XrdSiteStatistics::getTotalReadTime ( )
inline

Definition at line 91 of file XrdStatistics.h.

91  {
93  }
boost::date_time::subsecond_duration< boost::posix_time::time_duration, 1000000000 > nanoseconds
std::atomic< uint64_t > m_readvNS
std::atomic< uint64_t > m_readNS
XrdSiteStatistics& XrdAdaptor::XrdSiteStatistics::operator= ( const XrdSiteStatistics )
delete
void XrdSiteStatistics::recomputeProperties ( std::map< std::string, std::string > &  props)

Definition at line 128 of file XrdStatistics.cc.

References d2str(), i2str(), m_chunkCount, m_readCount, m_readNS, m_readSize, m_readvCount, m_readvNS, and m_readvSize.

128  {
129  props.clear();
130 
131  props["readv-numOperations"] = i2str(m_readvCount);
132  props["readv-numChunks"] = i2str(m_chunkCount);
133  props["readv-totalMegabytes"] = d2str(static_cast<float>(m_readvSize) / (1024.0 * 1024.0));
134  props["readv-totalMsecs"] = d2str(m_readvNS / 1e6);
135 
136  props["read-numOperations"] = i2str(m_readCount);
137  props["read-totalMegabytes"] = d2str(static_cast<float>(m_readSize) / (1024.0 * 1024.0));
138  props["read-totalMsecs"] = d2str(static_cast<float>(m_readNS) / 1e6);
139 }
std::atomic< unsigned > m_readCount
std::atomic< uint64_t > m_readvSize
static std::string d2str(double input)
std::atomic< unsigned > m_readvCount
Definition: XrdStatistics.h:98
std::atomic< uint64_t > m_readvNS
std::atomic< uint64_t > m_readNS
static std::string i2str(int input)
std::atomic< uint64_t > m_readSize
std::atomic< unsigned > m_chunkCount
Definition: XrdStatistics.h:99
std::string const& XrdAdaptor::XrdSiteStatistics::site ( ) const
inline

Definition at line 79 of file XrdStatistics.h.

References class-composition::parent.

79 { return m_site; }
std::shared_ptr< XrdReadStatistics > XrdSiteStatistics::startRead ( std::shared_ptr< XrdSiteStatistics parent,
std::shared_ptr< ClientRequest req 
)
static

Definition at line 110 of file XrdStatistics.cc.

References XrdReadStatistics.

Referenced by XrdAdaptor::Source::handle().

111  {
112  std::shared_ptr<XrdReadStatistics> readStats(new XrdReadStatistics(parent, req->getSize(), req->getCount()));
113  return readStats;
114 }

Friends And Related Function Documentation

friend class XrdReadStatistics
friend

Definition at line 72 of file XrdStatistics.h.

Referenced by startRead().

Member Data Documentation

std::atomic<unsigned> XrdAdaptor::XrdSiteStatistics::m_chunkCount
private

Definition at line 99 of file XrdStatistics.h.

Referenced by finishRead(), and recomputeProperties().

std::atomic<unsigned> XrdAdaptor::XrdSiteStatistics::m_readCount
private

Definition at line 102 of file XrdStatistics.h.

Referenced by finishRead(), and recomputeProperties().

std::atomic<uint64_t> XrdAdaptor::XrdSiteStatistics::m_readNS
private

Definition at line 104 of file XrdStatistics.h.

Referenced by finishRead(), and recomputeProperties().

std::atomic<uint64_t> XrdAdaptor::XrdSiteStatistics::m_readSize
private

Definition at line 103 of file XrdStatistics.h.

Referenced by finishRead(), and recomputeProperties().

std::atomic<unsigned> XrdAdaptor::XrdSiteStatistics::m_readvCount
private

Definition at line 98 of file XrdStatistics.h.

Referenced by finishRead(), and recomputeProperties().

std::atomic<uint64_t> XrdAdaptor::XrdSiteStatistics::m_readvNS
private

Definition at line 101 of file XrdStatistics.h.

Referenced by finishRead(), and recomputeProperties().

std::atomic<uint64_t> XrdAdaptor::XrdSiteStatistics::m_readvSize
private

Definition at line 100 of file XrdStatistics.h.

Referenced by finishRead(), and recomputeProperties().

const std::string XrdAdaptor::XrdSiteStatistics::m_site = "Unknown"
private

Definition at line 96 of file XrdStatistics.h.