#include <StorageManager.h>
Public Member Functions | |
StorageManager (xdaq::ApplicationStub *s) | |
Private Types | |
typedef ConsumerUtils < Configuration, EventQueueCollection > | ConsumerUtils_t |
Private Member Functions | |
void | bindConsumerCallbacks () |
void | bindI2OCallbacks () |
void | bindStateMachineCallbacks () |
void | bindWebInterfaceCallbacks () |
void | consumerListWebPage (xgi::Input *in, xgi::Output *out) throw (xgi::exception::Exception) |
void | consumerStatisticsPage (xgi::Input *in, xgi::Output *out) throw ( xgi::exception::Exception ) |
void | css (xgi::Input *in, xgi::Output *out) throw (xgi::exception::Exception) |
void | defaultWebPage (xgi::Input *in, xgi::Output *out) throw (xgi::exception::Exception) |
void | dqmEventStatisticsWebPage (xgi::Input *in, xgi::Output *out) throw (xgi::exception::Exception) |
void | fileStatisticsWebPage (xgi::Input *in, xgi::Output *out) throw (xgi::exception::Exception) |
xoap::MessageReference | handleFSMSoapMessage (xoap::MessageReference) throw ( xoap::exception::Exception ) |
void | initializeSharedResources () |
void | inputWebPage (xgi::Input *in, xgi::Output *out) throw (xgi::exception::Exception) |
StorageManager & | operator= (StorageManager const &) |
void | processConsumerEventRequest (xgi::Input *in, xgi::Output *out) throw ( xgi::exception::Exception ) |
void | processConsumerHeaderRequest (xgi::Input *in, xgi::Output *out) throw ( xgi::exception::Exception ) |
void | processConsumerRegistrationRequest (xgi::Input *in, xgi::Output *out) throw ( xgi::exception::Exception ) |
void | processDQMConsumerEventRequest (xgi::Input *in, xgi::Output *out) throw ( xgi::exception::Exception ) |
void | processDQMConsumerRegistrationRequest (xgi::Input *in, xgi::Output *out) throw ( xgi::exception::Exception ) |
void | rbsenderDetailWebPage (xgi::Input *in, xgi::Output *out) throw (xgi::exception::Exception) |
void | rbsenderWebPage (xgi::Input *in, xgi::Output *out) throw (xgi::exception::Exception) |
void | receiveDataMessage (toolbox::mem::Reference *ref) throw (i2o::exception::Exception) |
void | receiveDQMMessage (toolbox::mem::Reference *ref) throw (i2o::exception::Exception) |
void | receiveEndOfLumiSectionMessage (toolbox::mem::Reference *ref) throw (i2o::exception::Exception) |
void | receiveErrorDataMessage (toolbox::mem::Reference *ref) throw (i2o::exception::Exception) |
void | receiveRegistryMessage (toolbox::mem::Reference *ref) throw (i2o::exception::Exception) |
void | startWorkerThreads () |
StorageManager (StorageManager const &) | |
void | storedDataWebPage (xgi::Input *in, xgi::Output *out) throw (xgi::exception::Exception) |
void | throughputWebPage (xgi::Input *in, xgi::Output *out) throw (xgi::exception::Exception) |
Private Attributes | |
boost::scoped_ptr < ConsumerUtils_t > | consumerUtils_ |
boost::scoped_ptr< DiskWriter > | diskWriter_ |
boost::scoped_ptr < DQMEventProcessor > | dqmEventProcessor_ |
boost::scoped_ptr < FragmentProcessor > | fragmentProcessor_ |
SharedResourcesPtr | sharedResources_ |
boost::scoped_ptr < SMWebPageHelper > | smWebPageHelper_ |
Main class of the StorageManager XDAQ application
Definition at line 47 of file StorageManager.h.
|
private |
Definition at line 231 of file StorageManager.h.
StorageManager::StorageManager | ( | xdaq::ApplicationStub * | s | ) |
Definition at line 38 of file StorageManager.cc.
References bindConsumerCallbacks(), bindI2OCallbacks(), bindStateMachineCallbacks(), bindWebInterfaceCallbacks(), alignCSCRings::e, cppFunctionSkipper::exception, edm::hlt::Exception, initializeSharedResources(), startWorkerThreads(), and AlCaHLTBitMon_QueryRunRegistry::string.
|
private |
|
private |
Bind callbacks for consumers
Definition at line 137 of file StorageManager.cc.
References processConsumerEventRequest(), processConsumerHeaderRequest(), processConsumerRegistrationRequest(), processDQMConsumerEventRequest(), and processDQMConsumerRegistrationRequest().
Referenced by StorageManager().
|
private |
Bind callbacks for I2O message
Definition at line 71 of file StorageManager.cc.
References I2O_SM_DATA, I2O_SM_DQM, I2O_SM_ERROR, I2O_SM_PREAMBLE, receiveDataMessage(), receiveDQMMessage(), receiveEndOfLumiSectionMessage(), receiveErrorDataMessage(), and receiveRegistryMessage().
Referenced by StorageManager().
|
private |
Bind callbacks for state machine SOAP messages
Definition at line 96 of file StorageManager.cc.
References handleFSMSoapMessage().
Referenced by StorageManager().
|
private |
Bind callbacks for web interface
Definition at line 121 of file StorageManager.cc.
References consumerListWebPage(), consumerStatisticsPage(), css(), defaultWebPage(), dqmEventStatisticsWebPage(), fileStatisticsWebPage(), inputWebPage(), rbsenderDetailWebPage(), rbsenderWebPage(), storedDataWebPage(), and throughputWebPage().
Referenced by StorageManager().
|
private |
Callback returning a XML list of consumer information. The current implementation just returns an empty document.
Definition at line 602 of file StorageManager.cc.
References dbtoconf::out.
Referenced by bindWebInterfaceCallbacks().
|
private |
Webinterface callback creating web page showing the connected consumers
Definition at line 424 of file StorageManager.cc.
References alignCSCRings::e, cppFunctionSkipper::exception, edm::hlt::Exception, dbtoconf::out, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by bindWebInterfaceCallbacks().
|
private |
Webinterface callback for style sheet
Definition at line 336 of file StorageManager.cc.
References recoMuon::in, and dbtoconf::out.
Referenced by bindWebInterfaceCallbacks().
|
private |
Webinterface callback creating default web page
Definition at line 343 of file StorageManager.cc.
References alignCSCRings::e, cppFunctionSkipper::exception, edm::hlt::Exception, dbtoconf::out, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by bindWebInterfaceCallbacks().
|
private |
Webinterface callback creating web page showing statistics about the processed DQM events.
Definition at line 546 of file StorageManager.cc.
References alignCSCRings::e, cppFunctionSkipper::exception, edm::hlt::Exception, dbtoconf::out, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by bindWebInterfaceCallbacks().
|
private |
Webinterface callback creating web page showing information about recently written files
Definition at line 518 of file StorageManager.cc.
References alignCSCRings::e, cppFunctionSkipper::exception, edm::hlt::Exception, dbtoconf::out, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by bindWebInterfaceCallbacks().
|
private |
Callback for SOAP message containint a state machine event, possibly including new configuration values
Definition at line 618 of file StorageManager.cc.
References edmPickEvents::command, stor::soaputils::createFsmSoapResponseMsg(), alignCSCRings::e, cppFunctionSkipper::exception, edm::hlt::Exception, cms::Exception::explainSelf(), stor::soaputils::extractParameters(), lumiQueryAPI::msg, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by bindStateMachineCallbacks().
|
private |
Initialize the shared resources
Definition at line 150 of file StorageManager.cc.
References stor::QueueConfigurationParams::commandQueueSize_, edm::errors::Configuration, consumerUtils_, stor::QueueConfigurationParams::dqmEventQueueMemoryLimitMB_, stor::QueueConfigurationParams::dqmEventQueueSize_, stor::QueueConfigurationParams::fragmentQueueMemoryLimitMB_, stor::QueueConfigurationParams::fragmentQueueSize_, instance, stor::QueueConfigurationParams::registrationQueueSize_, reset(), sharedResources_, smWebPageHelper_, stor::QueueConfigurationParams::streamQueueMemoryLimitMB_, and stor::QueueConfigurationParams::streamQueueSize_.
Referenced by StorageManager().
|
private |
Webinterface callback creating web page showing the I2O input information
Definition at line 370 of file StorageManager.cc.
References alignCSCRings::e, cppFunctionSkipper::exception, edm::hlt::Exception, dbtoconf::out, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by bindWebInterfaceCallbacks().
|
private |
|
private |
Callback handling event consumer event request
Definition at line 717 of file StorageManager.cc.
References recoMuon::in, and dbtoconf::out.
Referenced by bindConsumerCallbacks().
|
private |
Callback handling event consumer init message request
Definition at line 709 of file StorageManager.cc.
References recoMuon::in, and dbtoconf::out.
Referenced by bindConsumerCallbacks().
|
private |
Callback handling event consumer registration request
Definition at line 701 of file StorageManager.cc.
References recoMuon::in, and dbtoconf::out.
Referenced by bindConsumerCallbacks().
|
private |
Callback handling DQM event consumer DQM event request
Definition at line 733 of file StorageManager.cc.
References recoMuon::in, and dbtoconf::out.
Referenced by bindConsumerCallbacks().
|
private |
Callback handling DQM event consumer registration request
Definition at line 725 of file StorageManager.cc.
References recoMuon::in, and dbtoconf::out.
Referenced by bindConsumerCallbacks().
|
private |
Webinterface callback creating web page showing detailed information about the resource broker sending data.
Definition at line 481 of file StorageManager.cc.
References alignCSCRings::e, cppFunctionSkipper::exception, edm::hlt::Exception, recoMuon::in, dbtoconf::out, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by bindWebInterfaceCallbacks().
|
private |
Webinterface callback creating web page showing summary information about the resource broker sending data.
Definition at line 453 of file StorageManager.cc.
References alignCSCRings::e, cppFunctionSkipper::exception, edm::hlt::Exception, dbtoconf::out, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by bindWebInterfaceCallbacks().
|
private |
Callback for I2O message containing an event
Definition at line 271 of file StorageManager.cc.
References stor::FragmentMonitorCollection::addEventFragmentSample(), alignCSCRings::r, rand(), and stor::I2OChain::totalDataSize().
Referenced by bindI2OCallbacks().
|
private |
Callback for I2O message containing a DQM event (histogramms)
Definition at line 304 of file StorageManager.cc.
References stor::FragmentMonitorCollection::addDQMEventFragmentSample(), and stor::I2OChain::totalDataSize().
Referenced by bindI2OCallbacks().
|
private |
Callback for I2O message notifying the end-of-lumi-section
Definition at line 316 of file StorageManager.cc.
References stor::FragmentMonitorCollection::addFragmentSample(), stor::MonitoredQuantity::addSample(), stor::RunMonitorCollection::getEoLSSeenMQ(), stor::I2OChain::lumiSection(), and stor::I2OChain::totalDataSize().
Referenced by bindI2OCallbacks().
|
private |
Callback for I2O message containing an error event
Definition at line 292 of file StorageManager.cc.
References stor::FragmentMonitorCollection::addEventFragmentSample(), and stor::I2OChain::totalDataSize().
Referenced by bindI2OCallbacks().
|
private |
Callback for I2O message containing an init message
Definition at line 252 of file StorageManager.cc.
References stor::MonitoredQuantity::addSample(), stor::FragmentMonitorCollection::getAllFragmentSizeMQ(), stor::ThroughputMonitorCollection::setMemoryPoolPointer(), and stor::I2OChain::totalDataSize().
Referenced by bindI2OCallbacks().
|
private |
Create and start all worker threads
Definition at line 214 of file StorageManager.cc.
References diskWriter_, dqmEventProcessor_, alignCSCRings::e, cppFunctionSkipper::exception, edm::hlt::Exception, fragmentProcessor_, sharedResources_, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by StorageManager().
|
private |
Webinterface callback creating web page showing the stored data information
Definition at line 397 of file StorageManager.cc.
References alignCSCRings::e, cppFunctionSkipper::exception, edm::hlt::Exception, dbtoconf::out, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by bindWebInterfaceCallbacks().
|
private |
Webinterface callback creating web page showing statistics about the data throughput in the SM.
Definition at line 573 of file StorageManager.cc.
References alignCSCRings::e, cppFunctionSkipper::exception, edm::hlt::Exception, dbtoconf::out, and AlCaHLTBitMon_QueryRunRegistry::string.
Referenced by bindWebInterfaceCallbacks().
|
private |
Definition at line 232 of file StorageManager.h.
Referenced by initializeSharedResources().
|
private |
Definition at line 228 of file StorageManager.h.
Referenced by startWorkerThreads().
|
private |
Definition at line 229 of file StorageManager.h.
Referenced by startWorkerThreads().
|
private |
Definition at line 227 of file StorageManager.h.
Referenced by startWorkerThreads().
|
private |
Definition at line 225 of file StorageManager.h.
Referenced by initializeSharedResources(), and startWorkerThreads().
|
private |
Definition at line 233 of file StorageManager.h.
Referenced by initializeSharedResources().