summaryrefslogtreecommitdiffstats
path: root/net/disk_cache/entry_impl.cc
diff options
context:
space:
mode:
authorrvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-12 23:57:07 +0000
committerrvargas@google.com <rvargas@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-12 23:57:07 +0000
commitef114cb3f0cbe105dc999b391c79f4e7d8964d93 (patch)
tree984c420208ad30e9bf7f847b6dc235f1910d68e4 /net/disk_cache/entry_impl.cc
parent8fd8de981b580be7513e7e8be16d4f0249f56ff3 (diff)
downloadchromium_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.cc17
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;
}