15 #define MAXUPDATES 0xffffffff 47 for (
unsigned int i = 0;
i <
data_.size();
i++)
55 unsigned int size =
root.get(
DATA,
"").size();
56 for (
unsigned int i = 0;
i < size;
i++) {
70 tracked_ = (
void const *)monitorable;
71 if (dynamic_cast<IntJ const *>(monitorable))
73 else if (dynamic_cast<DoubleJ const *>(monitorable))
75 else if (dynamic_cast<StringJ const *>(monitorable))
83 std::vector<unsigned int>
const *monvec,
84 bool NAifZeroUpdates) {
94 std::vector<AtomicMonUInt *>
const *monvec,
95 bool NAifZeroUpdates) {
106 for (
unsigned int i = 0;
i < size;
i++) {
132 (
static_cast<std::vector<AtomicMonUInt *>
const *
>(
tracked_))->at(
i)->load(std::memory_order_relaxed);
135 monVal = *((
static_cast<std::vector<AtomicMonUInt *>
const *
>(
tracked_))->at(
i));
138 monVal = (
static_cast<std::vector<unsigned int>
const *
>(
tracked_))->at(
i);
159 *(
static_cast<IntJ *
>(itr->second.get())) = monVal;
192 static_cast<IntJ *
>(itr->second.get())->
update((static_cast<IntJ const *>(
tracked_))->value());
194 static_cast<DoubleJ *
>(itr->second.get())->
update((static_cast<DoubleJ const *>(
tracked_))->value());
209 (
static_cast<std::vector<AtomicMonUInt *>
const *
>(
tracked_))->at(streamID)->load(std::memory_order_relaxed);
212 monVal = *((
static_cast<std::vector<AtomicMonUInt *>
const *
>(
tracked_))->at(streamID));
215 monVal = (
static_cast<std::vector<unsigned int>
const *
>(
tracked_))->at(streamID);
238 *(
static_cast<IntJ *
>(itr->second.get())) = monVal;
247 std::stringstream
ss;
253 ss << (unsigned int)*((static_cast<std::vector<AtomicMonUInt *>
const *>(
tracked_))->at(
fastIndex_));
262 ss << (unsigned int)*((static_cast<std::vector<AtomicMonUInt *>
const *>(
tracked_))->at(
unsigned(sid)));
264 ss << (static_cast<std::vector<unsigned int>
const *>(
tracked_))->at(
unsigned(sid));
268 return (static_cast<JsonMonitorable const *>(
tracked_))->toString();
279 newJ->
add(static_cast<IntJ *>(itr->second.get())->
value());
300 root[
DATA].append(itr->second.get()->toString());
313 std::stringstream
ss;
319 std::stringstream
ss;
320 unsigned int updates = 0;
321 unsigned int sum = 0;
326 sum +=
static_cast<IntJ *
>(itr->second.get())->
value();
333 sum +=
static_cast<IntJ *
>(itr->second.get())->
value();
355 unsigned int updates = 0;
362 auto &hvec = monObj->
value();
363 for (
unsigned int j = 0;
j < hvec.size();
j++) {
364 unsigned int thisbin = (
unsigned int)hvec[
j];
376 auto &hvec = monObj->
value();
377 for (
unsigned int j = 0;
j < hvec.size();
j++) {
378 unsigned int thisbin = (
unsigned int)hvec[
j];
385 std::stringstream
ss;
void snap(unsigned int lumi)
std::vector< unsigned int > * streamLumisPtr_
void discardCollected(unsigned int forLumi)
static const std::string SOURCE
void update(std::string const &newStr)
unsigned int getUpdates()
std::map< unsigned int, JsonMonPtr > MonPtrMap
void trackMonitorable(JsonMonitorable const *monitorable, bool NAifZeroUpdates)
std::vector< T > & value()
static std::string const input
static const std::string DATA
std::vector< MonPtrMap > streamDataMaps_
void snapGlobal(unsigned int lumi)
void serialize(Json::Value &root) const override
std::vector< std::string > data_
JsonMonitorable * mergeAndRetrieveValue(unsigned int forLumi)
std::string fastOutCSV(int sid=-1)
void trackVectorUInt(std::string const &name, std::vector< unsigned int > const *monvec, bool NAifZeroUpdates)
void trackVectorUIntAtomic(std::string const &name, std::vector< AtomicMonUInt *> const *monvec, bool NAifZeroUpdates)
virtual std::string const & getName() const
void deserialize(Json::Value &root) override
std::enable_if_t< std::is_integral< T >::value > concatenate(std::ostream &os, T const t)
void mergeAndSerialize(Json::Value &jsonRoot, unsigned int lumi, bool initJsonValue, int sid)
void snapStreamAtomic(unsigned int lumi, unsigned int streamID)
void makeStreamLumiMap(unsigned int size)
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
static const std::string DEFINITION