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

Unified Diff: net/http/http_cache_transaction.cc

Issue 2350183002: [HttpCache] Add cache metrics for audio/video behavior (Closed)
Patch Set: Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/http/http_cache_transaction.cc
diff --git a/net/http/http_cache_transaction.cc b/net/http/http_cache_transaction.cc
index 1727db15b7bce7e33df512d783a92a9b8a9e4e31..32ff161444332cf758b09fc04dbd6c5b8bdc4d96 100644
--- a/net/http/http_cache_transaction.cc
+++ b/net/http/http_cache_transaction.cc
@@ -82,6 +82,21 @@ enum ExternallyConditionalizedType {
} // namespace
+#define CACHE_STATUS_HISTOGRAMS(type) \
+ do { \
+ UMA_HISTOGRAM_ENUMERATION("HttpCache.Pattern" type, cache_entry_status_, \
+ CacheEntryStatus::ENTRY_MAX); \
+ if (validation_request) { \
+ UMA_HISTOGRAM_ENUMERATION("HttpCache.ValidationCause" type, \
+ validation_cause_, VALIDATION_CAUSE_MAX); \
+ } \
+ if (stale_request) { \
+ UMA_HISTOGRAM_COUNTS( \
+ "HttpCache.StaleEntry.FreshnessPeriodsSinceLastUsed" type, \
+ freshness_periods_since_last_used); \
+ } \
+ } while (0)
+
struct HeaderNameAndValue {
const char* name;
const char* value;
@@ -2797,9 +2812,6 @@ void HttpCache::Transaction::RecordHistograms() {
freshness_periods_since_last_used =
(time_since_use * 1000) / stale_entry_freshness_;
- UMA_HISTOGRAM_COUNTS("HttpCache.StaleEntry.FreshnessPeriodsSinceLastUsed",
- freshness_periods_since_last_used);
-
if (validation_request) {
int64_t age_in_freshness_periods =
(stale_entry_age_ * 100) / stale_entry_freshness_;
@@ -2828,123 +2840,37 @@ void HttpCache::Transaction::RecordHistograms() {
// estimate.
if (mime_type == "text/html" &&
(request_->load_flags & LOAD_MAIN_FRAME_DEPRECATED)) {
- UMA_HISTOGRAM_ENUMERATION("HttpCache.Pattern.MainFrameHTML",
- cache_entry_status_,
- CacheEntryStatus::ENTRY_MAX);
- if (validation_request) {
- UMA_HISTOGRAM_ENUMERATION("HttpCache.ValidationCause.MainFrameHTML",
- validation_cause_, VALIDATION_CAUSE_MAX);
- }
- if (stale_request) {
- UMA_HISTOGRAM_COUNTS(
- "HttpCache.StaleEntry.FreshnessPeriodsSinceLastUsed.MainFrameHTML",
- freshness_periods_since_last_used);
- }
+ CACHE_STATUS_HISTOGRAMS(".MainFrameHTML");
} else if (mime_type == "text/html") {
- UMA_HISTOGRAM_ENUMERATION("HttpCache.Pattern.NonMainFrameHTML",
- cache_entry_status_,
- CacheEntryStatus::ENTRY_MAX);
- if (validation_request) {
- UMA_HISTOGRAM_ENUMERATION("HttpCache.ValidationCause.NonMainFrameHTML",
- validation_cause_, VALIDATION_CAUSE_MAX);
- }
- if (stale_request) {
- UMA_HISTOGRAM_COUNTS(
- "HttpCache.StaleEntry.FreshnessPeriodsSinceLastUsed."
- "NonMainFrameHTML",
- freshness_periods_since_last_used);
- }
+ CACHE_STATUS_HISTOGRAMS(".NonMainFrameHTML");
} else if (mime_type == "text/css") {
- UMA_HISTOGRAM_ENUMERATION("HttpCache.Pattern.CSS", cache_entry_status_,
- CacheEntryStatus::ENTRY_MAX);
- if (validation_request) {
- UMA_HISTOGRAM_ENUMERATION("HttpCache.ValidationCause.CSS",
- validation_cause_, VALIDATION_CAUSE_MAX);
- }
- if (stale_request) {
- UMA_HISTOGRAM_COUNTS(
- "HttpCache.StaleEntry.FreshnessPeriodsSinceLastUsed.CSS",
- freshness_periods_since_last_used);
- }
+ CACHE_STATUS_HISTOGRAMS(".CSS");
} else if (base::StartsWith(mime_type, "image/",
base::CompareCase::SENSITIVE)) {
int64_t content_length = response_headers->GetContentLength();
if (content_length >= 0 && content_length < 100) {
- UMA_HISTOGRAM_ENUMERATION("HttpCache.Pattern.TinyImage",
- cache_entry_status_,
- CacheEntryStatus::ENTRY_MAX);
- if (validation_request) {
- UMA_HISTOGRAM_ENUMERATION("HttpCache.ValidationCause.TinyImage",
- validation_cause_, VALIDATION_CAUSE_MAX);
- }
- if (stale_request) {
- UMA_HISTOGRAM_COUNTS(
- "HttpCache.StaleEntry.FreshnessPeriodsSinceLastUsed.TinyImage",
- freshness_periods_since_last_used);
- }
+ CACHE_STATUS_HISTOGRAMS(".TinyImage");
} else if (content_length >= 100) {
- UMA_HISTOGRAM_ENUMERATION("HttpCache.Pattern.NonTinyImage",
- cache_entry_status_,
- CacheEntryStatus::ENTRY_MAX);
- if (validation_request) {
- UMA_HISTOGRAM_ENUMERATION("HttpCache.ValidationCause.NonTinyImage",
- validation_cause_, VALIDATION_CAUSE_MAX);
- }
- if (stale_request) {
- UMA_HISTOGRAM_COUNTS(
- "HttpCache.StaleEntry.FreshnessPeriodsSinceLastUsed.NonTinyImage",
- freshness_periods_since_last_used);
- }
- }
- UMA_HISTOGRAM_ENUMERATION("HttpCache.Pattern.Image", cache_entry_status_,
- CacheEntryStatus::ENTRY_MAX);
- if (validation_request) {
- UMA_HISTOGRAM_ENUMERATION("HttpCache.ValidationCause.Image",
- validation_cause_, VALIDATION_CAUSE_MAX);
- }
- if (stale_request) {
- UMA_HISTOGRAM_COUNTS(
- "HttpCache.StaleEntry.FreshnessPeriodsSinceLastUsed.Image",
- freshness_periods_since_last_used);
+ CACHE_STATUS_HISTOGRAMS(".NonTinyImage");
}
+ CACHE_STATUS_HISTOGRAMS(".Image");
} else if (base::EndsWith(mime_type, "javascript",
base::CompareCase::SENSITIVE) ||
base::EndsWith(mime_type, "ecmascript",
base::CompareCase::SENSITIVE)) {
- UMA_HISTOGRAM_ENUMERATION("HttpCache.Pattern.JavaScript",
- cache_entry_status_,
- CacheEntryStatus::ENTRY_MAX);
- if (validation_request) {
- UMA_HISTOGRAM_ENUMERATION("HttpCache.ValidationCause.JavaScript",
- validation_cause_, VALIDATION_CAUSE_MAX);
- }
- if (stale_request) {
- UMA_HISTOGRAM_COUNTS(
- "HttpCache.StaleEntry.FreshnessPeriodsSinceLastUsed.JavaScript",
- freshness_periods_since_last_used);
- }
+ CACHE_STATUS_HISTOGRAMS(".JavaScript");
} else if (mime_type.find("font") != std::string::npos) {
- UMA_HISTOGRAM_ENUMERATION("HttpCache.Pattern.Font", cache_entry_status_,
- CacheEntryStatus::ENTRY_MAX);
- if (validation_request) {
- UMA_HISTOGRAM_ENUMERATION("HttpCache.ValidationCause.Font",
- validation_cause_, VALIDATION_CAUSE_MAX);
- }
- if (stale_request) {
- UMA_HISTOGRAM_COUNTS(
- "HttpCache.StaleEntry.FreshnessPeriodsSinceLastUsed.Font",
- freshness_periods_since_last_used);
- }
+ CACHE_STATUS_HISTOGRAMS(".Font");
+ } else if (base::StartsWith(mime_type, "audio/",
+ base::CompareCase::SENSITIVE)) {
+ CACHE_STATUS_HISTOGRAMS(".Audio");
+ } else if (base::StartsWith(mime_type, "video/",
+ base::CompareCase::SENSITIVE)) {
+ CACHE_STATUS_HISTOGRAMS(".Video");
}
}
- UMA_HISTOGRAM_ENUMERATION("HttpCache.Pattern", cache_entry_status_,
- CacheEntryStatus::ENTRY_MAX);
-
- if (validation_request) {
- UMA_HISTOGRAM_ENUMERATION("HttpCache.ValidationCause", validation_cause_,
- VALIDATION_CAUSE_MAX);
- }
+ CACHE_STATUS_HISTOGRAMS("");
gavinp 2016/09/23 15:41:49 Does this have to be "", or would () work too? I b
jkarlin 2016/09/23 15:53:02 () works. WIll commit with that.
jkarlin 2016/09/23 17:05:22 Nope, Windows doesn't like it. Reverting.
if (cache_entry_status_ == CacheEntryStatus::ENTRY_CANT_CONDITIONALIZE) {
UMA_HISTOGRAM_ENUMERATION("HttpCache.CantConditionalizeCause",
« no previous file with comments | « no previous file | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698