51 ssize_t read_single_operations = 0;
52 ssize_t read_single_bytes = 0;
53 ssize_t read_single_square = 0;
54 ssize_t read_vector_operations = 0;
55 ssize_t read_vector_bytes = 0;
56 ssize_t read_vector_square = 0;
57 ssize_t read_vector_count_sum = 0;
58 ssize_t read_vector_count_square = 0;
60 for (StorageAccount::StorageStats::const_iterator
i = stats.begin ();
i != stats.end(); ++
i) {
61 if (
i->first == token.value()) {
64 for (StorageAccount::OperationStats::const_iterator
j =
i->second.begin();
j !=
i->second.end(); ++
j) {
66 read_vector_operations +=
j->second.attempts;
67 read_vector_bytes +=
j->second.amount;
68 read_vector_count_square +=
j->second.vector_square;
69 read_vector_square +=
j->second.amount_square;
70 read_vector_count_sum +=
j->second.vector_count;
72 read_single_operations +=
j->second.attempts;
73 read_single_bytes +=
j->second.amount;
74 read_single_square +=
j->second.amount_square;
79 if (single_op_count > 0) {
81 double single_average = single_sum/
static_cast<double>(single_op_count);
82 os <<
"\"read_single_sigma\":" <<
sqrt((static_cast<double>(read_single_square-
m_read_single_square) - single_average*single_average*single_op_count)/static_cast<double>(single_op_count)) <<
", ";
83 os <<
"\"read_single_average\":" << single_average <<
", ";
87 if (vector_op_count > 0) {
88 double vector_average =
static_cast<double>(read_vector_bytes-
m_read_vector_bytes)/static_cast<double>(vector_op_count);
89 os <<
"\"read_vector_average\":" << vector_average <<
", ";
90 os <<
"\"read_vector_sigma\":" <<
sqrt((static_cast<double>(read_vector_square-
m_read_vector_square) - vector_average*vector_average*vector_op_count)/static_cast<double>(vector_op_count)) <<
", ";
91 double vector_count_average =
static_cast<double>(read_vector_count_sum-
m_read_vector_count_sum)/static_cast<double>(vector_op_count);
92 os <<
"\"read_vector_count_average\":" << vector_count_average <<
", ";
93 os <<
"\"read_vector_count_sigma\":" <<
sqrt((static_cast<double>(read_vector_count_square-
m_read_vector_count_square) - vector_count_average*vector_count_average*vector_op_count)/static_cast<double>(vector_op_count)) <<
", ";
111 os << "\"end_time\":" << m_start_time;
ssize_t m_read_single_operations
ssize_t m_read_vector_bytes
ssize_t m_read_single_bytes
static const StorageStats & summary(void)
tbb::concurrent_unordered_map< int, OperationStats > StorageStats
static StorageClassToken tokenForStorageClassName(std::string const &iName)
ssize_t m_read_vector_count_sum
ssize_t m_read_vector_square
ssize_t m_read_single_square
ssize_t m_read_vector_operations
ssize_t m_read_vector_count_square
#define UPDATE_AND_OUTPUT_STATISTIC(x)