CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/EventFilter/SMProxyServer/interface/SMPSWebPageHelper.h

Go to the documentation of this file.
00001 // $Id: SMPSWebPageHelper.h,v 1.4 2012/08/14 11:55:44 davidlt 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 
00033     virtual ~SMPSWebPageHelper() {};
00034     
00038     void defaultWebPage(xgi::Output*) const;
00039     
00043     void dataRetrieverWebPage(xgi::Output*) const;
00044     
00048     void dqmEventStatisticsWebPage(xgi::Output*) const;
00049 
00053     void consumerStatisticsWebPage(xgi::Output*) const;
00054     
00055     
00056   private:
00057     
00061     virtual void addDOMforHyperLinks(stor::XHTMLMaker&, stor::XHTMLMaker::Node* parent) const;
00062 
00066     void addDOMforConnectionInfo
00067     (
00068       stor::XHTMLMaker&,
00069       stor::XHTMLMaker::Node* parent,
00070       const DataRetrieverMonitorCollection::SummaryStats&
00071     ) const;
00072 
00076     void addDOMforThroughputPerEventType
00077     (
00078       stor::XHTMLMaker&,
00079       stor::XHTMLMaker::Node* parent,
00080       const DataRetrieverMonitorCollection::SummaryStats&
00081     ) const;
00082  
00086     void addRowForEventType
00087     (
00088       stor::XHTMLMaker&,
00089       stor::XHTMLMaker::Node* table,
00090       DataRetrieverMonitorCollection::SummaryStats::EventTypeStats const&
00091     ) const;
00092  
00096     void addSummaryRowForThroughput
00097     (
00098       stor::XHTMLMaker&,
00099       stor::XHTMLMaker::Node* table,
00100       DataRetrieverMonitorCollection::SummaryStats const&
00101     ) const;
00102 
00106     void addDOMforEventServers
00107     (
00108       stor::XHTMLMaker&,
00109       stor::XHTMLMaker::Node* parent
00110     ) const;
00111  
00115     void addRowForEventServer
00116     (
00117       stor::XHTMLMaker&,
00118       stor::XHTMLMaker::Node* table,
00119       DataRetrieverMonitorCollection::EventTypePerConnectionStats const&
00120     ) const;
00121  
00125     void addSummaryRowForEventServer
00126     (
00127       stor::XHTMLMaker&,
00128       stor::XHTMLMaker::Node* table,
00129       DataRetrieverMonitorCollection::ConnectionStats::const_iterator
00130     ) const;
00131  
00135     void addDOMforSMhost
00136     (
00137       stor::XHTMLMaker&,
00138       stor::XHTMLMaker::Node* tableRow,
00139       const std::string& sourceURL
00140     ) const;
00141 
00145     void addDOMforDQMEventServers
00146     (
00147       stor::XHTMLMaker&,
00148       stor::XHTMLMaker::Node* parent
00149     ) const;
00150     
00151     //Prevent copying of the SMPSWebPageHelper
00152     SMPSWebPageHelper(SMPSWebPageHelper const&);
00153     SMPSWebPageHelper& operator=(SMPSWebPageHelper const&);
00154 
00155     StateMachinePtr stateMachine_;
00156 
00157     typedef stor::ConsumerWebPageHelper<SMPSWebPageHelper,
00158                                         EventQueueCollection,
00159                                         StatisticsReporter> ConsumerWebPageHelper_t;
00160     ConsumerWebPageHelper_t consumerWebPageHelper_;
00161 
00162   };
00163 
00164 } // namespace smproxy
00165 
00166 #endif // EventFilter_SMProxyServer_SMPSWebPageHelper_h 
00167 
00168