diff --git a/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc b/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc index 99ea596638bf30..f491887447b287 100644 --- a/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc +++ b/chrome/browser/extensions/api/media_galleries/media_galleries_api.cc @@ -326,6 +326,7 @@ void MediaGalleriesEventRouter::OnScanCancelled( void MediaGalleriesEventRouter::OnScanFinished( const std::string& extension_id, int gallery_count, const MediaGalleryScanResult& file_counts) { + media_galleries::UsageCount(media_galleries::SCAN_FINISHED); MediaGalleries::ScanProgressDetails details; details.type = MediaGalleries::SCAN_PROGRESS_TYPE_FINISH; details.gallery_count.reset(new int(gallery_count)); diff --git a/chrome/browser/media_galleries/media_galleries_dialog_controller.cc b/chrome/browser/media_galleries/media_galleries_dialog_controller.cc index bdac43a15f71db..033aa5e500c854 100644 --- a/chrome/browser/media_galleries/media_galleries_dialog_controller.cc +++ b/chrome/browser/media_galleries/media_galleries_dialog_controller.cc @@ -259,6 +259,7 @@ void MediaGalleriesDialogController::DidForgetGallery( // TODO(scr): remove from new_galleries_ if it's in there. Should // new_galleries be a set? Why don't new_galleries allow context clicking? DCHECK(ContainsKey(known_galleries_, pref_id)); + media_galleries::UsageCount(media_galleries::DIALOG_FORGET_GALLERY); forgotten_gallery_ids_.insert(pref_id); dialog_->UpdateGalleries(); } diff --git a/chrome/browser/media_galleries/media_galleries_histograms.h b/chrome/browser/media_galleries/media_galleries_histograms.h index a5b7d9d3f2f0c9..a13ad5ef688b6e 100644 --- a/chrome/browser/media_galleries/media_galleries_histograms.h +++ b/chrome/browser/media_galleries/media_galleries_histograms.h @@ -25,6 +25,11 @@ enum MediaGalleriesUsages { START_MEDIA_SCAN, CANCEL_MEDIA_SCAN, ADD_SCAN_RESULTS, + SCAN_FINISHED, + ADD_SCAN_RESULTS_CANCELLED, + ADD_SCAN_RESULTS_ACCEPTED, + ADD_SCAN_RESULTS_FORGET_GALLERY, + DIALOG_FORGET_GALLERY, MEDIA_GALLERIES_NUM_USAGES }; diff --git a/chrome/browser/media_galleries/media_galleries_scan_result_dialog_controller.cc b/chrome/browser/media_galleries/media_galleries_scan_result_dialog_controller.cc index 1cdc5bb12b665a..dc252c91d7afae 100644 --- a/chrome/browser/media_galleries/media_galleries_scan_result_dialog_controller.cc +++ b/chrome/browser/media_galleries/media_galleries_scan_result_dialog_controller.cc @@ -9,6 +9,7 @@ #include "base/bind.h" #include "base/logging.h" +#include "base/metrics/histogram.h" #include "base/stl_util.h" #include "base/strings/utf_string_conversions.h" #include "chrome/browser/browser_process.h" @@ -171,6 +172,7 @@ void MediaGalleriesScanResultDialogController::DidClickOpenFolderViewer( void MediaGalleriesScanResultDialogController::DidForgetGallery( MediaGalleryPrefId pref_id) { + media_galleries::UsageCount(media_galleries::ADD_SCAN_RESULTS_FORGET_GALLERY); results_to_remove_.insert(pref_id); scan_results_.erase(pref_id); dialog_->UpdateResults(); @@ -185,6 +187,9 @@ void MediaGalleriesScanResultDialogController::DialogFinished(bool accepted) { if (accepted) { DCHECK(preferences_); + media_galleries::UsageCount(media_galleries::ADD_SCAN_RESULTS_ACCEPTED); + int granted = 0; + int total = 0; for (ScanResults::const_iterator it = scan_results_.begin(); it != scan_results_.end(); ++it) { @@ -192,13 +197,21 @@ void MediaGalleriesScanResultDialogController::DialogFinished(bool accepted) { bool changed = preferences_->SetGalleryPermissionForExtension( *extension_, it->first, true); DCHECK(changed); + granted++; } + total++; + } + if (total > 0) { + UMA_HISTOGRAM_PERCENTAGE("MediaGalleries.ScanGalleriesGranted", + (granted * 100 / total)); } for (MediaGalleryPrefIdSet::const_iterator it = results_to_remove_.begin(); it != results_to_remove_.end(); ++it) { preferences_->ForgetGalleryById(*it); } + } else { + media_galleries::UsageCount(media_galleries::ADD_SCAN_RESULTS_CANCELLED); } on_finish_.Run(); diff --git a/chrome/browser/media_galleries/media_scan_manager.cc b/chrome/browser/media_galleries/media_scan_manager.cc index 005a15dca7a7fb..b3020d34942a5f 100644 --- a/chrome/browser/media_galleries/media_scan_manager.cc +++ b/chrome/browser/media_galleries/media_scan_manager.cc @@ -7,6 +7,7 @@ #include "base/file_util.h" #include "base/files/file_enumerator.h" #include "base/logging.h" +#include "base/metrics/histogram.h" #include "base/time/time.h" #include "chrome/browser/chrome_notification_types.h" #include "chrome/browser/extensions/extension_service.h" @@ -205,6 +206,8 @@ void AddScanResultsForProfile( gallery.last_attach_time, file_counts.audio_count, file_counts.image_count, file_counts.video_count); } + UMA_HISTOGRAM_COUNTS_10000("MediaGalleries.ScanGalleriesPopulated", + unique_found_folders.size() + to_update.size()); } // A single directory may contain many folders with media in them, without @@ -461,6 +464,8 @@ void MediaScanManager::OnScanCompleted( return; } + UMA_HISTOGRAM_COUNTS_10000("MediaGalleries.ScanDirectoriesFound", + found_folders.size()); content::BrowserThread::PostTaskAndReplyWithResult( content::BrowserThread::FILE, FROM_HERE, base::Bind(FindContainerScanResults, diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml index 668bf1496e76eb..2ff86f7ad18d4e 100644 --- a/tools/metrics/histograms/histograms.xml +++ b/tools/metrics/histograms/histograms.xml @@ -7398,6 +7398,25 @@ other types of suffix sets. + + + The number of directories with media files found during a scan. + + + + + + The percentage of galleries accepted (not deselected) from the scan result + dialog. + + + + + + The number of galleries added or updated in preferences after a scan. + + + Various usage counts for media galleries. @@ -29057,9 +29076,9 @@ other types of suffix sets. - - - + + + @@ -29069,7 +29088,16 @@ other types of suffix sets. - + + + + + + + + + +