1 #if !WITHOUT_CMS_FRAMEWORK 8 # include "classlib/utils/Regexp.h" 9 # include "classlib/utils/Error.h" 14 #include "TBufferFile.h" 34 publishFrequency_(5.0)
45 if (host !=
"" && port > 0)
49 net_->updateToCollector(host, port);
57 filter_ =
new lat::Regexp(filter);
60 <<
"Invalid 'filter' parameter value '" << filter <<
"':" 61 <<
" bad regular expression syntax at character " 68 <<
"Invalid regular expression 'filter' parameter value '" 69 << filter <<
"': " << e.explain();
86 double vtime = version * 1
e-9;
94 std::set<std::string> seen;
102 DQMStore::MEMap::iterator
i,
e;
116 seen.insert(fullpath);
129 assert(o.
qdata.empty());
142 TBufferFile
buffer(TBufferFile::kWrite);
143 buffer.WriteObject(me.
object_);
147 buffer.WriteObjectAny(
nullptr,
nullptr);
148 o.
rawdata.resize(buffer.Length());
149 memcpy(&o.
rawdata[0], buffer.Buffer(), buffer.Length());
156 net_->updateLocalObject(o);
164 if (
net_->removeLocalExcept(seen))
172 net_->sendLocalChanges();
176 lastFlush_ = lat::Time::current().ns() * 1e-9;
196 #endif // !WITHOUT_CMS_FRAMEWORK edm::ErrorSummaryEntry Error
T getUntrackedParameter(std::string const &, T const &) const
static std::recursive_mutex s_mutex
void watchPostEvent(PostEvent::slot_type const &iSlot)
void watchPostStreamEndLumi(PostStreamEndLumi::slot_type const &iSlot)
~DQMScope()
Release access lock to the DQM core.
const std::string * dirname
void packScalarData(std::string &into, const char *prefix) const
convert scalar data into a string.
bool wasUpdated() const
true if ME was updated in last monitoring cycle
void flush(edm::StreamContext const &sc)
static size_t dqmhash(const void *key, size_t keylen)
unsigned long long uint64_t
static void packQualityData(std::string &into, const QReports &qr)
DQMService(const edm::ParameterSet &pset, edm::ActivityRegistry &ar)
std::vector< unsigned char > DataBlob
Kind kind() const
Get the type of the monitor element.