Chromium Code Reviews| Index: components/favicon/core/favicon_driver_impl.cc |
| diff --git a/components/favicon/core/favicon_driver_impl.cc b/components/favicon/core/favicon_driver_impl.cc |
| index 2aecafd35a1afc42dd4fdb252f426db2eec242dc..4a38ec3a161a693ea3b10dd9bd61573caded2d88 100644 |
| --- a/components/favicon/core/favicon_driver_impl.cc |
| +++ b/components/favicon/core/favicon_driver_impl.cc |
| @@ -5,12 +5,14 @@ |
| #include "components/favicon/core/favicon_driver_impl.h" |
| #include "base/logging.h" |
| +#include "base/metrics/histogram_macros.h" |
| #include "base/strings/string_util.h" |
| #include "build/build_config.h" |
| #include "components/bookmarks/browser/bookmark_model.h" |
| #include "components/favicon/core/favicon_driver_observer.h" |
| #include "components/favicon/core/favicon_handler.h" |
| #include "components/favicon/core/favicon_service.h" |
| +#include "components/favicon/core/favicon_url.h" |
| #include "components/history/core/browser/history_service.h" |
| namespace favicon { |
| @@ -22,6 +24,26 @@ const bool kEnableTouchIcon = true; |
| const bool kEnableTouchIcon = false; |
| #endif |
| +void RecordCandidateMetrics(const std::vector<FaviconURL>& candidates) { |
| + UMA_HISTOGRAM_COUNTS_100("Favicons.CandidatesCount", candidates.size()); |
|
pkotwicz
2017/02/27 18:54:57
Nit: Put this metric together with the other metri
fhorschig
2017/03/01 20:56:01
Done.
|
| + size_t with_defined_touch_icons = 0; |
| + size_t with_defined_sizes = 0; |
| + for (const auto& candidate : candidates) { |
| + if (!candidate.icon_sizes.empty()) { |
| + with_defined_sizes++; |
| + } |
| + if (candidate.icon_type & |
| + (favicon_base::IconType::TOUCH_ICON | |
| + favicon_base::IconType::TOUCH_PRECOMPOSED_ICON)) { |
| + with_defined_touch_icons++; |
| + } |
| + } |
| + UMA_HISTOGRAM_COUNTS_100("Favicons.CandidatesWithDefinedSizesCount", |
| + with_defined_sizes); |
| + UMA_HISTOGRAM_COUNTS_100("Favicons.CandidatesWithLargeIconsCount", |
|
pkotwicz
2017/02/27 18:54:57
Nit: Maybe rename to CandidatesWithTouchIconsCount
fhorschig
2017/03/01 20:56:01
Done.
|
| + with_defined_touch_icons); |
| +} |
| + |
| } // namespace |
| FaviconDriverImpl::FaviconDriverImpl(FaviconService* favicon_service, |
| @@ -98,6 +120,7 @@ void FaviconDriverImpl::OnUpdateFaviconURL( |
| const GURL& page_url, |
| const std::vector<FaviconURL>& candidates) { |
| DCHECK(!candidates.empty()); |
| + RecordCandidateMetrics(candidates); |
| favicon_handler_->OnUpdateFaviconURL(page_url, candidates); |
| if (touch_icon_handler_.get()) |
| touch_icon_handler_->OnUpdateFaviconURL(page_url, candidates); |