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

Side by Side Diff: net/disk_cache/backend_impl.cc

Issue 146129: Disk Cache: Split some time histograms in groups based... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 6 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/disk_cache/backend_impl.h ('k') | net/disk_cache/entry_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/disk_cache/backend_impl.h" 5 #include "net/disk_cache/backend_impl.h"
6 6
7 #include "base/file_path.h" 7 #include "base/file_path.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/histogram.h" 9 #include "base/histogram.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 // The entry was already evicted. 354 // The entry was already evicted.
355 cache_entry->Release(); 355 cache_entry->Release();
356 stats_.OnEvent(Stats::OPEN_MISS); 356 stats_.OnEvent(Stats::OPEN_MISS);
357 return false; 357 return false;
358 } 358 }
359 359
360 eviction_.OnOpenEntry(cache_entry); 360 eviction_.OnOpenEntry(cache_entry);
361 DCHECK(entry); 361 DCHECK(entry);
362 *entry = cache_entry; 362 *entry = cache_entry;
363 363
364 CACHE_UMA(AGE_MS, "OpenTime", 0, start); 364 CACHE_UMA(AGE_MS, "OpenTime", GetSizeGroup(), start);
365 stats_.OnEvent(Stats::OPEN_HIT); 365 stats_.OnEvent(Stats::OPEN_HIT);
366 return true; 366 return true;
367 } 367 }
368 368
369 bool BackendImpl::CreateEntry(const std::string& key, Entry** entry) { 369 bool BackendImpl::CreateEntry(const std::string& key, Entry** entry) {
370 if (disabled_ || key.empty()) 370 if (disabled_ || key.empty())
371 return false; 371 return false;
372 372
373 DCHECK(entry); 373 DCHECK(entry);
374 *entry = NULL; 374 *entry = NULL;
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
432 block_files_.GetFile(entry_address)->Store(cache_entry->entry()); 432 block_files_.GetFile(entry_address)->Store(cache_entry->entry());
433 block_files_.GetFile(node_address)->Store(cache_entry->rankings()); 433 block_files_.GetFile(node_address)->Store(cache_entry->rankings());
434 434
435 IncreaseNumEntries(); 435 IncreaseNumEntries();
436 eviction_.OnCreateEntry(cache_entry); 436 eviction_.OnCreateEntry(cache_entry);
437 if (!parent.get()) 437 if (!parent.get())
438 data_->table[hash & mask_] = entry_address.value(); 438 data_->table[hash & mask_] = entry_address.value();
439 439
440 cache_entry.swap(reinterpret_cast<EntryImpl**>(entry)); 440 cache_entry.swap(reinterpret_cast<EntryImpl**>(entry));
441 441
442 CACHE_UMA(AGE_MS, "CreateTime", 0, start); 442 CACHE_UMA(AGE_MS, "CreateTime", GetSizeGroup(), start);
443 stats_.OnEvent(Stats::CREATE_HIT); 443 stats_.OnEvent(Stats::CREATE_HIT);
444 Trace("create entry hit "); 444 Trace("create entry hit ");
445 return true; 445 return true;
446 } 446 }
447 447
448 bool BackendImpl::DoomEntry(const std::string& key) { 448 bool BackendImpl::DoomEntry(const std::string& key) {
449 if (disabled_) 449 if (disabled_)
450 return false; 450 return false;
451 451
452 Entry* entry; 452 Entry* entry;
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
743 void BackendImpl::TooMuchStorageRequested(int32 size) { 743 void BackendImpl::TooMuchStorageRequested(int32 size) {
744 stats_.ModifyStorageStats(0, size); 744 stats_.ModifyStorageStats(0, size);
745 } 745 }
746 746
747 std::string BackendImpl::HistogramName(const char* name, int experiment) { 747 std::string BackendImpl::HistogramName(const char* name, int experiment) {
748 if (!experiment) 748 if (!experiment)
749 return StringPrintf("DiskCache.%d.%s", cache_type_, name); 749 return StringPrintf("DiskCache.%d.%s", cache_type_, name);
750 return StringPrintf("DiskCache.%d.%s_%d", cache_type_, name, experiment); 750 return StringPrintf("DiskCache.%d.%s_%d", cache_type_, name, experiment);
751 } 751 }
752 752
753 int BackendImpl::GetSizeGroup() {
754 if (disabled_)
755 return 0;
756
757 // We want to report times grouped by the current cache size (50 MB groups).
758 int group = data_->header.num_bytes / (50 * 1024 * 1024);
759 if (group > 6)
760 group = 6; // Limit the number of groups, just in case.
761 return group;
762 }
763
753 // We want to remove biases from some histograms so we only send data once per 764 // We want to remove biases from some histograms so we only send data once per
754 // week. 765 // week.
755 bool BackendImpl::ShouldReportAgain() { 766 bool BackendImpl::ShouldReportAgain() {
756 if (uma_report_) 767 if (uma_report_)
757 return uma_report_ == 2; 768 return uma_report_ == 2;
758 769
759 uma_report_++; 770 uma_report_++;
760 int64 last_report = stats_.GetCounter(Stats::LAST_REPORT); 771 int64 last_report = stats_.GetCounter(Stats::LAST_REPORT);
761 Time last_time = Time::FromInternalValue(last_report); 772 Time last_time = Time::FromInternalValue(last_report);
762 if (!last_report || (Time::Now() - last_time).InDays() >= 7) { 773 if (!last_report || (Time::Now() - last_time).InDays() >= 7) {
(...skipping 755 matching lines...) Expand 10 before | Expand all | Expand 10 after
1518 1529
1519 return num_dirty; 1530 return num_dirty;
1520 } 1531 }
1521 1532
1522 bool BackendImpl::CheckEntry(EntryImpl* cache_entry) { 1533 bool BackendImpl::CheckEntry(EntryImpl* cache_entry) {
1523 RankingsNode* rankings = cache_entry->rankings()->Data(); 1534 RankingsNode* rankings = cache_entry->rankings()->Data();
1524 return !rankings->pointer; 1535 return !rankings->pointer;
1525 } 1536 }
1526 1537
1527 } // namespace disk_cache 1538 } // namespace disk_cache
OLDNEW
« no previous file with comments | « net/disk_cache/backend_impl.h ('k') | net/disk_cache/entry_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698