4#ifndef TRIGSTEERMONITOR_SCHEDULERMONSVC_H
5#define TRIGSTEERMONITOR_SCHEDULERMONSVC_H
15#include "GaudiKernel/SmartIF.h"
16#include "GaudiKernel/IScheduler.h"
30 using ClockType =
decltype(IScheduler::OccupancySnapshot::time)::clock;
47 this,
"SchedulerName",
"AvalancheSchedulerSvc",
"Name of the scheduler"};
49 this,
"MonIntervalMillisec", 100,
"Monitoring snapshot interval in milliseconds"};
51 this,
"MonTool",
"",
"Monitoring tool"};
Header file to be included by clients of the Monitored infrastructure.
std::atomic_size_t m_lastSnapCounter
std::atomic_bool m_running
virtual StatusCode initialize() override
virtual StatusCode stopMonitoring() override
Stop querying and monitoring Scheduler status.
ClockType::time_point m_startTime
SmartIF< IScheduler > m_scheduler
SchedulerMonSvc(const std::string &name, ISvcLocator *svcLoc)
virtual StatusCode startMonitoring() override
Start querying and monitoring Scheduler status.
Gaudi::Property< unsigned int > m_monIntervalMillisec
ToolHandle< GenericMonitoringTool > m_monTool
virtual ~SchedulerMonSvc() override=default
decltype(IScheduler::OccupancySnapshot::time)::clock ClockType
Gaudi::Property< std::string > m_schedulerName