363
CumulativeUserStatsTool::CumulativeUserStatsTool(LoggingStats *logging_stats) :
364
plugin::TableFunction("DATA_DICTIONARY", "CUMULATIVE_USER_STATS")
366
outer_logging_stats= logging_stats;
369
add_field("BYTES_RECEIVED");
370
add_field("BYTES_SENT");
371
add_field("DENIED_CONNECTIONS");
372
add_field("LOST_CONNECTIONS");
373
add_field("ACCESS_DENIED");
374
add_field("CONNECTED_TIME_SEC");
375
add_field("EXECUTION_TIME_NSEC");
378
CumulativeUserStatsTool::Generator::Generator(Field **arg, LoggingStats *logging_stats) :
379
plugin::TableFunction::Generator(arg)
381
inner_logging_stats= logging_stats;
384
if (inner_logging_stats->isEnabled())
386
last_valid_index= inner_logging_stats->getCumulativeStats()->getCumulativeStatsLastValidIndex();
390
last_valid_index= INVALID_INDEX;
394
bool CumulativeUserStatsTool::Generator::populate()
396
if ((record_number > last_valid_index) || (last_valid_index == INVALID_INDEX))
401
while (record_number <= last_valid_index)
403
ScoreboardSlot *cumulative_scoreboard_slot=
404
inner_logging_stats->getCumulativeStats()->getCumulativeStatsByUserVector()->at(record_number);
406
if (cumulative_scoreboard_slot->isInUse())
408
StatusVars *status_vars= cumulative_scoreboard_slot->getStatusVars();
409
push(cumulative_scoreboard_slot->getUser());
411
push(status_vars->getStatusVarCounters()->bytes_received);
412
push(status_vars->getStatusVarCounters()->bytes_sent);
413
push(status_vars->getStatusVarCounters()->aborted_connects);
414
push(status_vars->getStatusVarCounters()->aborted_threads);
415
push(status_vars->getStatusVarCounters()->access_denied);
416
push(status_vars->getStatusVarCounters()->connection_time);
417
push(status_vars->getStatusVarCounters()->execution_time_nsec);