diff options
author | rvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-12 23:57:07 +0000 |
---|---|---|
committer | rvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-08-12 23:57:07 +0000 |
commit | ef114cb3f0cbe105dc999b391c79f4e7d8964d93 (patch) | |
tree | 984c420208ad30e9bf7f847b6dc235f1910d68e4 /net/disk_cache/entry_impl.cc | |
parent | 8fd8de981b580be7513e7e8be16d4f0249f56ff3 (diff) | |
download | chromium_src-ef114cb3f0cbe105dc999b391c79f4e7d8964d93.zip chromium_src-ef114cb3f0cbe105dc999b391c79f4e7d8964d93.tar.gz chromium_src-ef114cb3f0cbe105dc999b391c79f4e7d8964d93.tar.bz2 |
Re submitting the histograms change (735)
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@763 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/disk_cache/entry_impl.cc')
-rw-r--r-- | net/disk_cache/entry_impl.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/net/disk_cache/entry_impl.cc b/net/disk_cache/entry_impl.cc index 58509c1..3d3ada2 100644 --- a/net/disk_cache/entry_impl.cc +++ b/net/disk_cache/entry_impl.cc @@ -29,6 +29,7 @@ #include "net/disk_cache/entry_impl.h" +#include "base/histogram.h" #include "base/message_loop.h" #include "base/string_util.h" #include "net/base/net_errors.h" @@ -122,6 +123,8 @@ EntryImpl::EntryImpl(BackendImpl* backend, Addr address) // written before). EntryImpl::~EntryImpl() { if (doomed_) { + UMA_HISTOGRAM_COUNTS(L"DiskCache.DeleteHeader", GetDataSize(0)); + UMA_HISTOGRAM_COUNTS(L"DiskCache.DeleteData", GetDataSize(1)); for (int index = 0; index < kKeyFileIndex; index++) { Addr address(entry_.Data()->data_addr[index]); if (address.is_initialized()) { @@ -239,6 +242,11 @@ int EntryImpl::ReadData(int index, int offset, char* buf, int buf_len, if (buf_len < 0) return net::ERR_INVALID_ARGUMENT; + Time start = Time::Now(); + static Histogram stats(L"DiskCache.ReadTime", TimeDelta::FromMilliseconds(1), + TimeDelta::FromSeconds(10), 50); + stats.SetFlags(kUmaTargetedHistogramFlag); + if (offset + buf_len > entry_size) buf_len = entry_size - offset; @@ -250,6 +258,7 @@ int EntryImpl::ReadData(int index, int offset, char* buf, int buf_len, // Complete the operation locally. DCHECK(kMaxBlockSize >= offset + buf_len); memcpy(buf , user_buffers_[index].get() + offset, buf_len); + stats.AddTime(Time::Now() - start); return buf_len; } @@ -281,6 +290,7 @@ int EntryImpl::ReadData(int index, int offset, char* buf, int buf_len, if (io_callback && completed) io_callback->Discard(); + stats.AddTime(Time::Now() - start); return (completed || !completion_callback) ? buf_len : net::ERR_IO_PENDING; } @@ -306,6 +316,11 @@ int EntryImpl::WriteData(int index, int offset, const char* buf, int buf_len, return net::ERR_FAILED; } + Time start = Time::Now(); + static Histogram stats(L"DiskCache.WriteTime", TimeDelta::FromMilliseconds(1), + TimeDelta::FromSeconds(10), 50); + stats.SetFlags(kUmaTargetedHistogramFlag); + // Read the size at this point (it may change inside prepare). int entry_size = entry_.Data()->data_size[index]; if (!PrepareTarget(index, offset, buf_len, truncate)) @@ -337,6 +352,7 @@ int EntryImpl::WriteData(int index, int offset, const char* buf, int buf_len, // Complete the operation locally. DCHECK(kMaxBlockSize >= offset + buf_len); memcpy(user_buffers_[index].get() + offset, buf, buf_len); + stats.AddTime(Time::Now() - start); return buf_len; } @@ -371,6 +387,7 @@ int EntryImpl::WriteData(int index, int offset, const char* buf, int buf_len, if (io_callback && completed) io_callback->Discard(); + stats.AddTime(Time::Now() - start); return (completed || !completion_callback) ? buf_len : net::ERR_IO_PENDING; } |