#include <StorageAccount.h>
Definition at line 9 of file StorageAccount.h.
StorageAccount::Counter & StorageAccount::counter |
( |
const std::string & |
storageClass, |
|
|
const std::string & |
operation |
|
) |
| |
|
static |
Definition at line 97 of file StorageAccount.cc.
References CommonMethods::lock(), s_mutex, s_stats, and x.
Referenced by StorageFactory::check(), StorageAccountProxy::close(), StorageAccountProxy::flush(), StorageFactory::open(), StorageAccountProxy::resize(), StorageFactory::stagein(), StorageAccountProxy::StorageAccountProxy(), storageCounter(), and StorageAccountProxy::~StorageAccountProxy().
99 boost::shared_ptr<OperationStats> &opstats =
s_stats [storageClass];
102 OperationStats::iterator pos = opstats->find (operation);
103 if (pos == opstats->end ()) {
104 Counter x = { 0, 0, 0, 0, 0, 0, 0 };
static std::mutex s_mutex
std::map< std::string, Counter > OperationStats
StorageAccount::StorageStats s_stats
unsigned int(* Counter)(align::ID, const TrackerTopology *)
Container::value_type value_type
void StorageAccount::fillSummary |
( |
std::map< std::string, std::string > & |
summary | ) |
|
|
static |
Definition at line 75 of file StorageAccount.cc.
References d2str(), i, i2str(), j, and s_stats.
Referenced by TFileAdaptor::statsXML().
76 int const oneM = 1000 * 1000;
77 int const oneMeg = 1024 * 1024;
79 for (OperationStats::iterator
j =
i->second->begin();
j !=
i->second->end(); ++
j) {
80 std::ostringstream os;
81 os <<
"Timing-" <<
i->first <<
"-" <<
j->first <<
"-";
82 summary.insert(std::make_pair(os.str() +
"numOperations",
i2str(
j->second.attempts)));
83 summary.insert(std::make_pair(os.str() +
"numSuccessfulOperations",
i2str(
j->second.successes)));
84 summary.insert(std::make_pair(os.str() +
"totalMegabytes",
d2str(
j->second.amount / oneMeg)));
85 summary.insert(std::make_pair(os.str() +
"totalMsecs",
d2str(
j->second.timeTotal / oneM)));
86 summary.insert(std::make_pair(os.str() +
"minMsecs",
d2str(
j->second.timeMin / oneM)));
87 summary.insert(std::make_pair(os.str() +
"maxMsecs",
d2str(
j->second.timeMax / oneM)));
static const StorageStats & summary(void)
StorageAccount::StorageStats s_stats
static std::string d2str(double d)
static std::string i2str(int i)
std::string StorageAccount::summaryText |
( |
bool |
banner = false | ) |
|
|
static |
Definition at line 36 of file StorageAccount.cc.
References plotBeamSpotDB::first, i, j, and s_stats.
Referenced by TFileAdaptor::stats().
38 std::ostringstream os;
40 os <<
"stats: class/operation/attempts/successes/amount/time-total/time-min/time-max\n";
42 for (OperationStats::iterator
j =
i->second->begin ();
j !=
i->second->end (); ++
j, first =
false)
43 os << (first ?
"" :
"; ")
46 <<
j->second.attempts <<
'/'
47 <<
j->second.successes <<
'/'
48 << (
j->second.amount / 1024 / 1024) <<
"MB/"
49 << (
j->second.timeTotal / 1000 / 1000) <<
"ms/"
50 << (
j->second.timeMin / 1000 / 1000) <<
"ms/"
51 << (
j->second.timeMax / 1000 / 1000) <<
"ms";
StorageAccount::StorageStats s_stats
std::string StorageAccount::summaryXML |
( |
void |
| ) |
|
|
static |
Definition at line 57 of file StorageAccount.cc.
References i, j, and s_stats.
58 std::ostringstream os;
59 os <<
"<storage-timing-summary>\n";
61 for (OperationStats::iterator
j =
i->second->begin ();
j !=
i->second->end (); ++
j)
62 os <<
" <counter-value subsystem='" <<
i->first
63 <<
"' counter-name='" <<
j->first
64 <<
"' num-operations='" <<
j->second.attempts
65 <<
"' num-successful-operations='" <<
j->second.successes
66 <<
"' total-megabytes='" << (
j->second.amount / 1024 / 1024)
67 <<
"' total-msecs='" << (
j->second.timeTotal / 1000 / 1000)
68 <<
"' min-msecs='" << (
j->second.timeMin / 1000 / 1000)
69 <<
"' max-msecs='" << (
j->second.timeMax / 1000 / 1000) <<
"'/>\n";
70 os <<
"</storage-timing-summary>";
StorageAccount::StorageStats s_stats