1 #ifndef COND_SQLMONITORINGSERVICE_H
2 #define COND_SQLMONITORINGSERVICE_H
4 #include "RelationalAccess/IMonitoringService.h"
5 #include "RelationalAccess/IMonitoringReporter.h"
7 #include "CoralCommon/MonitoringReportTypes.h"
8 #include "CoralCommon/MonitoringEvent.h"
10 #include "CoralKernel/Service.h"
24 typedef std::vector<coral::monitor::Event::Record>
EventStream;
38 typedef std::map< std::string, SessionMonitor >
Repository;
40 class SQLMonitoringService :
public coral::Service,
virtual public coral::monitor::IMonitoringService,
virtual public coral::IMonitoringReporter
116 virtual const coral::IMonitoringReporter&
reporter()
const;
131 virtual void report(
unsigned int level )
const;
145 void reportOnEvent( EventStream::const_iterator& it, std::ostream& os )
const;
146 void reportOnEvent( EventStream::const_iterator& it, coral::MessageStream& os )
const;
148 void reportForSession( Repository::const_iterator& it, std::ostream& os )
const;
149 void reportForSession( Repository::const_iterator& it, coral::MessageStream& os )
const;
158 #endif // COND_SQLMONITORINGSERVICE_H
SQLMonitoringService(const std::string &)
virtual void disable(const std::string &contextKey)
void reportOnEvent(EventStream::const_iterator &it, std::ostream &os) const
virtual ~SQLMonitoringService()
virtual void record(const std::string &contextKey, coral::monitor::Source source, coral::monitor::Type type, const std::string &description)
virtual void reportToOutputStream(const std::string &contextKey, std::ostream &os, unsigned int level) const
virtual std::set< std::string > monitoredDataSources() const
virtual void report(unsigned int level) const
virtual void setLevel(const std::string &contextKey, coral::monitor::Level level)
std::vector< coral::monitor::Event::Record > EventStream
The raw stream of recorder monitoring events.
virtual const coral::IMonitoringReporter & reporter() const
The session related book-keeping of monitored events.
virtual void enable(const std::string &contextKey)
Repository m_events
The all events repository classified by the sessions' keys.
void reportForSession(Repository::const_iterator &it, std::ostream &os) const
char data[epos_bytes_allocation]
virtual coral::monitor::Level level(const std::string &contextKey) const
virtual bool active(const std::string &contextKey) const
std::set< std::string > m_monitoredDS
static std::string const source
std::map< std::string, SessionMonitor > Repository
coral::monitor::Level level