CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Classes | Public Member Functions
XrdAdaptor::XrdStatisticsService Class Reference

#include <XrdStatistics.h>

Classes

struct  CondorIOStats
 

Public Member Functions

std::vector< std::pair< std::string, CondorIOStats > > condorUpdate ()
 
void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
void postEndJob ()
 
 XrdStatisticsService (const edm::ParameterSet &iPS, edm::ActivityRegistry &iRegistry)
 

Detailed Description

Definition at line 35 of file XrdStatistics.h.

Constructor & Destructor Documentation

XrdStatisticsService::XrdStatisticsService ( const edm::ParameterSet iPS,
edm::ActivityRegistry iRegistry 
)

Definition at line 18 of file XrdStatistics.cc.

References XrdAdaptor::XrdSiteStatisticsInformation::createInstance(), edm::ParameterSet::getUntrackedParameter(), postEndJob(), and edm::ActivityRegistry::watchPostEndJob().

18  {
20 
21  if (iPS.getUntrackedParameter<bool>("reportToFJR", false)) {
23  }
24 }
T getUntrackedParameter(std::string const &, T const &) const
void watchPostEndJob(PostEndJob::slot_type const &iSlot)

Member Function Documentation

std::vector< std::pair< std::string, XrdStatisticsService::CondorIOStats > > XrdStatisticsService::condorUpdate ( )

Definition at line 44 of file XrdStatistics.cc.

References XrdAdaptor::XrdStatisticsService::CondorIOStats::bytesRead, fwrapper::cs, edm::get_underlying_safe(), XrdAdaptor::XrdSiteStatisticsInformation::getInstance(), instance, CommonMethods::lock(), XrdAdaptor::XrdSiteStatisticsInformation::m_mutex, XrdAdaptor::XrdSiteStatisticsInformation::m_sites, mps_fire::result, contentValuesCheck::ss, dqmMemoryStats::stats, and XrdAdaptor::XrdStatisticsService::CondorIOStats::transferTime.

Referenced by edm::service::CondorStatusService::updateImpl().

44  {
45  std::vector<std::pair<std::string, XrdStatisticsService::CondorIOStats>> result;
47  if (!instance) {
48  return result;
49  }
50 
51  std::lock_guard<std::mutex> lock(instance->m_mutex);
52  result.reserve(instance->m_sites.size());
53  for (auto &stats : instance->m_sites) {
54  CondorIOStats cs;
55  std::shared_ptr<XrdSiteStatistics> ss = get_underlying_safe(stats);
56  if (!ss)
57  continue;
58  cs.bytesRead = ss->getTotalBytes();
59  cs.transferTime = ss->getTotalReadTime();
60  result.emplace_back(ss->site(), cs);
61  }
62  return result;
63 }
static PFTauRenderPlugin instance
unique_ptr< ClusterSequence > cs
std::vector< edm::propagate_const< std::shared_ptr< XrdSiteStatistics > > > m_sites
Definition: XrdStatistics.h:68
std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
static XrdSiteStatisticsInformation * getInstance()
void XrdStatisticsService::fillDescriptions ( edm::ConfigurationDescriptions descriptions)

Definition at line 90 of file XrdStatistics.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::addUntracked(), and edm::ParameterSetDescription::setComment().

90  {
92  desc.setComment("Report Xrootd-related statistics centrally.");
93  desc.addUntracked<bool>("reportToFJR", true)
94  ->setComment(
95  "True: Add per-site Xrootd statistics to the framework job report.\n"
96  "False: Collect no site-specific statistics.\n");
97  descriptions.add("XrdAdaptor::XrdStatisticsService", desc);
98 }
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
void setComment(std::string const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void XrdStatisticsService::postEndJob ( )

Definition at line 26 of file XrdStatistics.cc.

References XrdAdaptor::XrdSiteStatisticsInformation::getInstance(), instance, edm::Service< T >::isAvailable(), XrdAdaptor::XrdSiteStatisticsInformation::m_sites, edm::JobReport::reportPerformanceForModule(), and dqmMemoryStats::stats.

Referenced by XrdStatisticsService().

26  {
28  if (!reportSvc.isAvailable()) {
29  return;
30  }
31 
33  if (!instance) {
34  return;
35  }
36 
37  std::map<std::string, std::string> props;
38  for (auto &stats : instance->m_sites) {
39  stats->recomputeProperties(props);
40  reportSvc->reportPerformanceForModule(stats->site(), "XrdSiteStatistics", props);
41  }
42 }
static PFTauRenderPlugin instance
std::vector< edm::propagate_const< std::shared_ptr< XrdSiteStatistics > > > m_sites
Definition: XrdStatistics.h:68
void reportPerformanceForModule(std::string const &metricClass, std::string const &moduleName, std::map< std::string, std::string > const &metrics)
Definition: JobReport.cc:672
bool isAvailable() const
Definition: Service.h:40
static XrdSiteStatisticsInformation * getInstance()