Index: third_party/WebKit/Source/core/fetch/Resource.cpp |
diff --git a/third_party/WebKit/Source/core/fetch/Resource.cpp b/third_party/WebKit/Source/core/fetch/Resource.cpp |
index 20b69e38de6bd385ea801e11c98a8aafe177faef..33e8680dd830ab2671ae4c7521e9fd11162fa6b1 100644 |
--- a/third_party/WebKit/Source/core/fetch/Resource.cpp |
+++ b/third_party/WebKit/Source/core/fetch/Resource.cpp |
@@ -564,6 +564,9 @@ bool Resource::unlock() |
if (RuntimeEnabledFeatures::doNotUnlockSharedBufferEnabled()) |
return false; |
+ DEFINE_THREAD_SAFE_STATIC_LOCAL(EnumerationHistogram, unlockHistogram, new EnumerationHistogram("Blink.SharedBuffer.Unlock", kLastResourceType)); |
+ unlockHistogram.count(getType()); |
+ |
m_data->unlock(); |
return true; |
} |
@@ -986,11 +989,18 @@ bool Resource::lock() |
// If locking fails, our buffer has been purged. There's no point |
// in leaving a purged resource in MemoryCache. |
if (!m_data->lock()) { |
+ DEFINE_THREAD_SAFE_STATIC_LOCAL(EnumerationHistogram, failedLockHistogram, new EnumerationHistogram("Blink.SharedBuffer.FailedLock", kLastResourceType)); |
+ failedLockHistogram.count(getType()); |
+ |
m_data.clear(); |
setEncodedSize(0); |
memoryCache()->remove(this); |
return false; |
} |
+ |
+ DEFINE_THREAD_SAFE_STATIC_LOCAL(EnumerationHistogram, successfulLockHistogram, new EnumerationHistogram("Blink.SharedBuffer.SuccessfulLock", kLastResourceType)); |
+ successfulLockHistogram.count(getType()); |
+ |
return true; |
} |