Bug 716657 - add Telemetry::AutoCounter; r=taras

This commit is contained in:
Nathan Froyd 2012-01-09 18:21:28 -05:00
parent 31dd002a2e
commit 284d003e15

View File

@ -104,6 +104,34 @@ private:
MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER
};
template<ID id>
class AutoCounter {
public:
AutoCounter(PRUint32 counterStart = 0 MOZILLA_GUARD_OBJECT_NOTIFIER_PARAM)
: counter(counterStart)
{
MOZILLA_GUARD_OBJECT_NOTIFIER_INIT;
}
~AutoCounter() {
Accumulate(id, counter);
}
// Prefix increment only, to encourage good habits.
void operator++() {
++counter;
}
// Chaining doesn't make any sense, don't return anything.
void operator+=(int increment) {
counter += increment;
}
private:
PRUint32 counter;
MOZILLA_DECL_USE_GUARD_OBJECT_NOTIFIER
};
/**
* Records slow SQL statements for Telemetry reporting.
* For privacy reasons, only prepared statements are reported.