7 #include "classlib/utils/Error.h"
12 #include "TBufferFile.h"
26 : store_(&*edm::
Service<
DQMStore>()), net_(nullptr), lastFlush_(0), publishFrequency_(5.0) {
35 if (!host.empty() && port > 0) {
51 double vtime = version * 1
e-9;
58 std::set<std::string>
seen;
67 auto fullpath =
me->getFullname();
68 seen.insert(fullpath);
69 if (!
me->wasUpdated())
76 o.
dirname =
me->data_.dirname.substr(0,
me->data_.dirname.size() - 1);
91 TBufferFile
buffer(TBufferFile::kWrite);
92 buffer.WriteObject(
me->getTH1());
94 buffer.WriteObjectAny(
nullptr,
nullptr);
95 o.
rawdata.resize(buffer.Length());
96 memcpy(&o.
rawdata[0], buffer.Buffer(), buffer.Length());
121 lastFlush_ = lat::Time::current().ns() * 1e-9;
T getUntrackedParameter(std::string const &, T const &) const
static std::recursive_mutex s_mutex
void lock()
Acquire a lock on the DQM net layer.
void watchPostEvent(PostEvent::slot_type const &iSlot)
void watchPostStreamEndLumi(PostStreamEndLumi::slot_type const &iSlot)
~DQMScope()
Release access lock to the DQM core.
void shutdown()
Stop the network layer and wait it to finish.
virtual std::vector< dqm::harvesting::MonitorElement * > getAllContents(std::string const &path) const
static constexpr int verbose
void flush(edm::StreamContext const &sc)
static size_t dqmhash(const void *key, size_t keylen)
unsigned long long uint64_t
bool removeLocalExcept(const std::set< std::string > &known)
static void packQualityData(std::string &into, const QReports &qr)
DQMService(const edm::ParameterSet &pset, edm::ActivityRegistry &ar)
void unlock()
Release the lock on the DQM net layer.
void updateLocalObject(Object &o)
void updateToCollector(const std::string &host, int port)
std::vector< unsigned char > DataBlob