Go to the documentation of this file.00001
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
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 }
00165
00166 #endif // EventFilter_SMProxyServer_SMPSWebPageHelper_h
00167
00168