Commit 25839fd0 authored by Anna Maria's avatar Anna Maria Committed by Commit Bot

[Local Media Casting] Adding a metric to log the casted file's size

Bug: 721802
Change-Id: I592898445b73c36ed4744f7025e4613843b0c586
Reviewed-on: https://chromium-review.googlesource.com/570490
Commit-Queue: Anna Maria <paezagon@chromium.org>
Reviewed-by: default avatarJennifer Apacible <apacible@chromium.org>
Reviewed-by: default avatarIlya Sherman <isherman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#487284}
parent e624241a
......@@ -28,7 +28,9 @@ const char MediaRouterMetrics::kHistogramIconClickLocation[] =
const char MediaRouterMetrics::kHistogramMediaRouterCastingSource[] =
"MediaRouter.Source.CastingSource";
const char MediaRouterMetrics::kHistogramMediaRouterFileFormat[] =
"MediaRouter.Source.FileFormat";
"MediaRouter.Source.LocalFileFormat";
const char MediaRouterMetrics::kHistogramMediaRouterFileSize[] =
"MediaRouter.Source.LocalFileSize";
const char MediaRouterMetrics::kHistogramRouteCreationOutcome[] =
"MediaRouter.Route.CreationOutcome";
const char MediaRouterMetrics::kHistogramUiDialogPaint[] =
......@@ -91,6 +93,10 @@ void MediaRouterMetrics::RecordMediaRouterFileFormat(
media::container_names::CONTAINER_MAX);
}
void MediaRouterMetrics::RecordMediaRouterFileSize(int64_t size) {
UMA_HISTOGRAM_MEMORY_LARGE_MB(kHistogramMediaRouterFileSize, size);
}
void MediaRouterMetrics::RecordDialDeviceCounts(size_t available_device_count,
size_t known_device_count) {
if (clock_->Now() - device_count_metrics_record_time_ <
......
......@@ -68,6 +68,7 @@ class MediaRouterMetrics {
static const char kHistogramIconClickLocation[];
static const char kHistogramMediaRouterCastingSource[];
static const char kHistogramMediaRouterFileFormat[];
static const char kHistogramMediaRouterFileSize[];
static const char kHistogramRouteCreationOutcome[];
static const char kHistogramUiDialogPaint[];
static const char kHistogramUiDialogLoadedWithData[];
......@@ -103,6 +104,9 @@ class MediaRouterMetrics {
static void RecordMediaRouterFileFormat(
media::container_names::MediaContainerName format);
// Records the size of a cast file.
static void RecordMediaRouterFileSize(int64_t size);
// Records device counts.
// TODO(zhaobin): Move device count specific metrics and state into its own
// class eventually.
......
......@@ -154,7 +154,10 @@ void MediaRouterFileDialog::MaybeReportLastSelectedFileInformation() {
base::BindOnce(&MediaRouterFileDialog::ReportFileFormat,
base::Unretained(this), selected_file_->local_path));
// TODO(paezagon): Report file media length.
cancelable_task_tracker_.PostTask(
task_runner_.get(), FROM_HERE,
base::BindOnce(&MediaRouterFileDialog::ReportFileSize,
base::Unretained(this), selected_file_->local_path));
} else {
VLOG(1) << "MediaRouterFileDialog did not report file information; no file "
"to report.";
......@@ -187,6 +190,16 @@ void MediaRouterFileDialog::ReportFileFormat(const base::FilePath& filename) {
reinterpret_cast<const uint8_t*>(buffer), read));
}
void MediaRouterFileDialog::ReportFileSize(const base::FilePath& filename) {
int64_t size;
if (base::GetFileSize(filename, &size)) {
MediaRouterMetrics::RecordMediaRouterFileSize(size);
} else {
VLOG(1) << "Can't get file size for file: " << filename.LossyDisplayName()
<< ".";
}
}
void MediaRouterFileDialog::FileSelected(const base::FilePath& path,
int index,
void* params) {
......
......@@ -114,6 +114,9 @@ class MediaRouterFileDialog : public ui::SelectFileDialog::Listener {
// Reports the format of a file to the UMA stats.
void ReportFileFormat(const base::FilePath& filename);
// Reports the size of a file to the UMA stats.
void ReportFileSize(const base::FilePath& filename);
// Overridden from SelectFileDialog::Listener:
void FileSelected(const base::FilePath& path,
int index,
......
......@@ -31686,7 +31686,7 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries.
</summary>
</histogram>
<histogram name="MediaRouter.Source.FileFormat" enum="MediaContainers">
<histogram name="MediaRouter.Source.LocalFileFormat" enum="MediaContainers">
<owner>paezagon@chromium.org</owner>
<summary>
The file format of a local media Media Router session. This is recorded when
......@@ -31695,6 +31695,16 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries.
</summary>
</histogram>
<histogram name="MediaRouter.Source.LocalFileSize" units="MB">
<owner>paezagon@chromium.org</owner>
<summary>
The file size of a local media Media Router session. This is recorded when a
casting session begins to keep track of what kind of media is being
streamed, specifically, whether it is a clip or a song, or a full length
film or podcast.
</summary>
</histogram>
<histogram name="MediaRouter.Ui.Action.CloseLatency" units="ms">
<owner>apacible@chromium.org</owner>
<summary>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment