10 #include <tbb/concurrent_vector.h>
16 #define MAXUPDATES 0xffffffff
48 for (
unsigned int i = 0;
i <
data_.size();
i++)
57 for (
unsigned int i = 0;
i <
size;
i++) {
71 tracked_ = (
void const *)monitorable;
72 if (dynamic_cast<IntJ const *>(monitorable))
74 else if (dynamic_cast<DoubleJ const *>(monitorable))
76 else if (dynamic_cast<StringJ const *>(monitorable))
84 std::vector<unsigned int>
const *monvec,
85 bool NAifZeroUpdates) {
95 std::vector<AtomicMonUInt *>
const *monvec,
96 bool NAifZeroUpdates) {
107 for (
unsigned int i = 0;
i <
size;
i++) {
133 (
static_cast<std::vector<AtomicMonUInt *>
const *
>(
tracked_))->at(
i)->load(std::memory_order_relaxed);
136 monVal = *((
static_cast<std::vector<AtomicMonUInt *>
const *
>(
tracked_))->at(
i));
139 monVal = (
static_cast<std::vector<unsigned int>
const *
>(
tracked_))->at(
i);
160 *(static_cast<IntJ *>(itr->second.get())) = monVal;
193 static_cast<IntJ *>(itr->second.get())->
update((static_cast<IntJ const *>(
tracked_))->value());
195 static_cast<DoubleJ *>(itr->second.get())->
update((static_cast<DoubleJ const *>(
tracked_))->value());
197 static_cast<StringJ *>(itr->second.get())->concatenate((static_cast<StringJ const *>(
tracked_))->value());
210 (
static_cast<std::vector<AtomicMonUInt *>
const *
>(
tracked_))->at(streamID)->load(std::memory_order_relaxed);
213 monVal = *((
static_cast<std::vector<AtomicMonUInt *>
const *
>(
tracked_))->at(streamID));
216 monVal = (
static_cast<std::vector<unsigned int>
const *
>(
tracked_))->at(streamID);
239 *(static_cast<IntJ *>(itr->second.get())) = monVal;
248 std::stringstream
ss;
263 ss << (
unsigned int)*((
static_cast<std::vector<AtomicMonUInt *>
const *
>(
tracked_))->at(
unsigned(sid)));
265 ss << (
static_cast<std::vector<unsigned int>
const *
>(
tracked_))->at(
unsigned(sid));
269 return (static_cast<JsonMonitorable const *>(
tracked_))->toString();
280 newJ->
add(static_cast<IntJ *>(itr->second.get())->
value());
301 root[
DATA].append(itr->second.get()->toString());
314 std::stringstream
ss;
320 std::stringstream
ss;
321 unsigned int updates = 0;
322 unsigned int sum = 0;
327 sum += static_cast<IntJ *>(itr->second.get())->
value();
334 sum += static_cast<IntJ *>(itr->second.get())->
value();
356 unsigned int updates = 0;
363 auto &hvec = monObj->
value();
364 for (
unsigned int j = 0;
j < hvec.size();
j++) {
365 unsigned int thisbin = (
unsigned int)hvec[
j];
377 auto &hvec = monObj->
value();
378 for (
unsigned int j = 0;
j < hvec.size();
j++) {
379 unsigned int thisbin = (
unsigned int)hvec[
j];
386 std::stringstream
ss;