| Index: Source/core/fetch/ResourceFetcher.cpp
|
| diff --git a/Source/core/fetch/ResourceFetcher.cpp b/Source/core/fetch/ResourceFetcher.cpp
|
| index ea44911232428333aea6d34d69eedae383194cb6..4e974f06854b9b92f5515fb42b8a3cb495d1cc67 100644
|
| --- a/Source/core/fetch/ResourceFetcher.cpp
|
| +++ b/Source/core/fetch/ResourceFetcher.cpp
|
| @@ -635,6 +635,9 @@ ResourcePtr<Resource> ResourceFetcher::requestResource(Resource::Type type, Fetc
|
| if (!resource)
|
| return 0;
|
|
|
| + if (!resource->hasClients())
|
| + m_deadStatsRecorder.update(policy);
|
| +
|
| if (policy != Use)
|
| resource->setIdentifier(createUniqueIdentifier());
|
|
|
| @@ -1373,4 +1376,37 @@ const ResourceLoaderOptions& ResourceFetcher::defaultResourceOptions()
|
| return options;
|
| }
|
|
|
| +ResourceFetcher::DeadResourceStatsRecorder::DeadResourceStatsRecorder()
|
| + : m_useCount(0)
|
| + , m_revalidateCount(0)
|
| + , m_loadCount(0)
|
| +{
|
| +}
|
| +
|
| +ResourceFetcher::DeadResourceStatsRecorder::~DeadResourceStatsRecorder()
|
| +{
|
| + blink::Platform::current()->histogramCustomCounts(
|
| + "WebCore.ResourceFetcher.HitCount", m_useCount, 0, 1000, 50);
|
| + blink::Platform::current()->histogramCustomCounts(
|
| + "WebCore.ResourceFetcher.RevalidateCount", m_revalidateCount, 0, 1000, 50);
|
| + blink::Platform::current()->histogramCustomCounts(
|
| + "WebCore.ResourceFetcher.LoadCount", m_loadCount, 0, 1000, 50);
|
| +}
|
| +
|
| +void ResourceFetcher::DeadResourceStatsRecorder::update(RevalidationPolicy policy)
|
| +{
|
| + switch (policy) {
|
| + case Reload:
|
| + case Load:
|
| + ++m_loadCount;
|
| + return;
|
| + case Revalidate:
|
| + ++m_revalidateCount;
|
| + return;
|
| + case Use:
|
| + ++m_useCount;
|
| + return;
|
| + }
|
| +}
|
| +
|
| }
|
|
|