Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(160)

Unified Diff: webkit/quota/quota_temporary_storage_evictor.h

Issue 7582027: Refine UMA stats of QuotaTemporaryStorageEvictor (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: '' Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | webkit/quota/quota_temporary_storage_evictor.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/quota/quota_temporary_storage_evictor.h
diff --git a/webkit/quota/quota_temporary_storage_evictor.h b/webkit/quota/quota_temporary_storage_evictor.h
index 8db1eda88009efbf3640bd3cfd9ed44ce63ff488..ccaeaae1f98f89d16f690d759fa77b0d3bd9b560 100644
--- a/webkit/quota/quota_temporary_storage_evictor.h
+++ b/webkit/quota/quota_temporary_storage_evictor.h
@@ -38,6 +38,53 @@ class QuotaTemporaryStorageEvictor : public base::NonThreadSafe {
int64 num_evicted_origins;
int64 num_eviction_rounds;
int64 num_skipped_eviction_rounds;
+
+ Statistics& operator -=(const Statistics& rhs) {
kinuko 2011/08/12 03:57:45 As we chatted locally, unfortunately operator over
tzik 2011/08/12 07:12:06 Done.
+ num_errors_on_evicting_origin -= rhs.num_errors_on_evicting_origin;
+ num_errors_on_getting_usage_and_quota -=
+ rhs.num_errors_on_getting_usage_and_quota;
+ num_evicted_origins -= rhs.num_evicted_origins;
+ num_eviction_rounds -= rhs.num_eviction_rounds;
+ num_skipped_eviction_rounds -= rhs.num_skipped_eviction_rounds;
+ return *this;
+ }
+ };
+
+ struct EvictionRoundStatistics {
+ EvictionRoundStatistics()
+ : started(false),
+ amount_of_usage_overage(-1),
+ amount_of_diskspace_shortage(-1),
+ usage_on_beginning_of_round(-1),
+ usage_on_end_of_round(-1),
+ num_evicted_origins(0) {
+ }
+
+ void put_usage_overage(int64 overage) {
Dai Mikurube (NOT FULLTIME) 2011/08/12 04:19:03 Maybe "set" looks better?
tzik 2011/08/12 07:12:06 As we chatted, I added |is_initialized| flag. So w
+ if (amount_of_usage_overage < 0)
+ amount_of_usage_overage = overage;
+ }
+
+ void put_diskspace_shortage(int64 diskspace_shortage) {
+ if (amount_of_diskspace_shortage < 0)
+ amount_of_diskspace_shortage = diskspace_shortage;
+ }
+
+ void put_usage(int64 usage) {
+ if (usage_on_beginning_of_round < 0)
+ usage_on_beginning_of_round = usage;
+ usage_on_end_of_round = usage;
+ }
+
+ bool started;
+
+ base::Time start_time;
+ int64 amount_of_usage_overage;
+ int64 amount_of_diskspace_shortage;
Dai Mikurube (NOT FULLTIME) 2011/08/12 04:19:03 In my understanding, overage and shortage include
tzik 2011/08/12 07:12:06 Done. I feel, "in this round" sounds as if the sho
Dai Mikurube (NOT FULLTIME) 2011/08/12 07:32:39 Sounds good.
+
+ int64 usage_on_beginning_of_round;
+ int64 usage_on_end_of_round;
+ int64 num_evicted_origins;
Dai Mikurube (NOT FULLTIME) 2011/08/12 04:19:03 Adding "in_round" could be better though it looks
tzik 2011/08/12 07:12:06 Done.
};
QuotaTemporaryStorageEvictor(
@@ -46,7 +93,8 @@ class QuotaTemporaryStorageEvictor : public base::NonThreadSafe {
virtual ~QuotaTemporaryStorageEvictor();
void GetStatistics(std::map<std::string, int64>* statistics);
- void ReportHistogram();
+ void ReportPerRoundHistogram();
+ void ReportPerHourHistogram();
void Start();
private:
@@ -63,6 +111,9 @@ class QuotaTemporaryStorageEvictor : public base::NonThreadSafe {
void OnGotLRUOrigin(const GURL& origin);
void OnEvictionComplete(QuotaStatusCode status);
+ void OnEvictionRoundStarted();
+ void OnEvictionRoundFinished();
+
// This is only used for tests.
void set_repeated_eviction(bool repeated_eviction) {
repeated_eviction_ = repeated_eviction;
@@ -78,15 +129,13 @@ class QuotaTemporaryStorageEvictor : public base::NonThreadSafe {
// Not owned; quota_eviction_handler owns us.
QuotaEvictionHandler* quota_eviction_handler_;
- Statistics statistics_;
+ Statistics statistics_, reported_hourly_statistics_;
Dai Mikurube (NOT FULLTIME) 2011/08/12 04:19:03 Declare them in two lines. Does reported_hourly_s
tzik 2011/08/12 07:12:06 Done.
+ EvictionRoundStatistics round_statistics_;
+ base::Time time_of_last_nonskipped_round_;
Dai Mikurube (NOT FULLTIME) 2011/08/12 04:19:03 Does this "time" point the beginning of last non-s
tzik 2011/08/12 07:12:06 Done.
+ base::Time time_of_end_of_last_round_;
int64 interval_ms_;
bool repeated_eviction_;
- int num_evicted_origins_in_round_;
-
- int64 usage_on_beginning_of_round_;
- base::Time time_of_beginning_of_round_;
- base::Time time_of_end_of_last_round_;
base::OneShotTimer<QuotaTemporaryStorageEvictor> eviction_timer_;
base::RepeatingTimer<QuotaTemporaryStorageEvictor> histogram_timer_;
« no previous file with comments | « no previous file | webkit/quota/quota_temporary_storage_evictor.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698