CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/EventFilter/SMProxyServer/interface/SMPSWebPageHelper.h

Go to the documentation of this file.
00001 // $Id: SMPSWebPageHelper.h,v 1.1.4.2 2011/03/07 12:01:12 mommsen Exp $
00003 
00004 #ifndef EventFilter_SMProxyServer_SMPSWebPageHelper_h
00005 #define EventFilter_SMProxyServer_SMPSWebPageHelper_h
00006 
00007 #include "EventFilter/SMProxyServer/interface/EventQueueCollection.h"
00008 #include "EventFilter/SMProxyServer/interface/StateMachine.h"
00009 #include "EventFilter/StorageManager/interface/ConsumerWebPageHelper.h"
00010 #include "EventFilter/StorageManager/interface/WebPageHelper.h"
00011 
00012 
00013 namespace smproxy {
00014 
00023   class SMPSWebPageHelper : public stor::WebPageHelper<SMPSWebPageHelper>
00024   {
00025   public:
00026 
00027     SMPSWebPageHelper
00028     (
00029       xdaq::ApplicationDescriptor*,
00030       StateMachinePtr
00031     );
00032     
00036     void defaultWebPage(xgi::Output*) const;
00037     
00041     void dataRetrieverWebPage(xgi::Output*) const;
00042     
00046     void dqmEventStatisticsWebPage(xgi::Output*) const;
00047 
00051     void consumerStatisticsWebPage(xgi::Output*) const;
00052     
00053     
00054   private:
00055     
00059     virtual void addDOMforHyperLinks(stor::XHTMLMaker&, stor::XHTMLMaker::Node* parent) const;
00060 
00064     void addDOMforConnectionInfo
00065     (
00066       stor::XHTMLMaker&,
00067       stor::XHTMLMaker::Node* parent,
00068       const DataRetrieverMonitorCollection::SummaryStats&
00069     ) const;
00070 
00074     void addDOMforThroughputPerEventType
00075     (
00076       stor::XHTMLMaker&,
00077       stor::XHTMLMaker::Node* parent,
00078       const DataRetrieverMonitorCollection::SummaryStats&
00079     ) const;
00080  
00084     void addRowForEventType
00085     (
00086       stor::XHTMLMaker&,
00087       stor::XHTMLMaker::Node* table,
00088       DataRetrieverMonitorCollection::SummaryStats::EventTypeStats const&
00089     ) const;
00090  
00094     void addSummaryRowForThroughput
00095     (
00096       stor::XHTMLMaker&,
00097       stor::XHTMLMaker::Node* table,
00098       DataRetrieverMonitorCollection::SummaryStats const&
00099     ) const;
00100 
00104     void addDOMforEventServers
00105     (
00106       stor::XHTMLMaker&,
00107       stor::XHTMLMaker::Node* parent
00108     ) const;
00109  
00113     void addRowForEventServer
00114     (
00115       stor::XHTMLMaker&,
00116       stor::XHTMLMaker::Node* table,
00117       DataRetrieverMonitorCollection::EventTypeStats const&
00118     ) const;
00119  
00123     void addSummaryRowForEventServer
00124     (
00125       stor::XHTMLMaker&,
00126       stor::XHTMLMaker::Node* table,
00127       DataRetrieverMonitorCollection::ConnectionStats::const_iterator
00128     ) const;
00129  
00133     void addDOMforSMhost
00134     (
00135       stor::XHTMLMaker&,
00136       stor::XHTMLMaker::Node* tableRow,
00137       const std::string& sourceURL
00138     ) const;
00139 
00143     void addDOMforDQMEventServers
00144     (
00145       stor::XHTMLMaker&,
00146       stor::XHTMLMaker::Node* parent
00147     ) const;
00148     
00149     //Prevent copying of the SMPSWebPageHelper
00150     SMPSWebPageHelper(SMPSWebPageHelper const&);
00151     SMPSWebPageHelper& operator=(SMPSWebPageHelper const&);
00152 
00153     StateMachinePtr stateMachine_;
00154 
00155     typedef stor::ConsumerWebPageHelper<SMPSWebPageHelper,
00156                                         EventQueueCollection,
00157                                         StatisticsReporter> ConsumerWebPageHelper_t;
00158     ConsumerWebPageHelper_t consumerWebPageHelper_;
00159 
00160   };
00161 
00162 } // namespace smproxy
00163 
00164 #endif // EventFilter_SMProxyServer_SMPSWebPageHelper_h 
00165 
00166