Commit 10f6d504 authored by Ramin Halavati's avatar Ramin Halavati Committed by Commit Bot

Add UKM metrics for FileSystemAPI web requests.

kRequestedFileSystemTemporary is recently removed from UseCounters in
crrev.com/c/2414917 along with a number of other highly used metrics.
This metric and kRequestedFileSystemPersistent are now replaced with
dedicated UKMs.

Bug: 990731, 1129061
Change-Id: Iba8be6a1fe4063388843f2a54f95827fefd3a42f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2421746Reviewed-by: default avatarAlexei Svitkine <asvitkine@chromium.org>
Reviewed-by: default avatarMarijn Kruisselbrink <mek@chromium.org>
Commit-Queue: Ramin Halavati <rhalavati@chromium.org>
Cr-Commit-Position: refs/heads/master@{#812579}
parent 7c787404
...@@ -121,7 +121,6 @@ UseCounterPageLoadMetricsObserver::GetAllowedUkmFeatures() { ...@@ -121,7 +121,6 @@ UseCounterPageLoadMetricsObserver::GetAllowedUkmFeatures() {
WebFeature::kLazyLoadFrameLoadingAttributeEager, WebFeature::kLazyLoadFrameLoadingAttributeEager,
WebFeature::kLazyLoadImageLoadingAttributeLazy, WebFeature::kLazyLoadImageLoadingAttributeLazy,
WebFeature::kLazyLoadImageLoadingAttributeEager, WebFeature::kLazyLoadImageLoadingAttributeEager,
WebFeature::kRequestedFileSystemPersistent,
WebFeature::kWebOTP, WebFeature::kWebOTP,
WebFeature::kBaseWithCrossOriginHref, WebFeature::kBaseWithCrossOriginHref,
WebFeature::kWakeLockAcquireScreenLock, WebFeature::kWakeLockAcquireScreenLock,
......
...@@ -66,6 +66,7 @@ blink_modules_sources("filesystem") { ...@@ -66,6 +66,7 @@ blink_modules_sources("filesystem") {
deps = [ deps = [
"//components/services/filesystem/public/mojom:mojom_blink", "//components/services/filesystem/public/mojom:mojom_blink",
"//services/metrics/public/cpp:ukm_builders",
"//third_party/blink/renderer/platform", "//third_party/blink/renderer/platform",
] ]
} }
include_rules = [ include_rules = [
"+base/files/file.h", "+base/files/file.h",
"+services/metrics/public/cpp",
"-third_party/blink/renderer/modules", "-third_party/blink/renderer/modules",
"+third_party/blink/renderer/modules/event_target_modules.h", "+third_party/blink/renderer/modules/event_target_modules.h",
"+third_party/blink/renderer/modules/filesystem", "+third_party/blink/renderer/modules/filesystem",
......
...@@ -25,6 +25,9 @@ ...@@ -25,6 +25,9 @@
#include "third_party/blink/renderer/modules/filesystem/dom_window_file_system.h" #include "third_party/blink/renderer/modules/filesystem/dom_window_file_system.h"
#include "services/metrics/public/cpp/mojo_ukm_recorder.h"
#include "services/metrics/public/cpp/ukm_builders.h"
#include "services/metrics/public/cpp/ukm_source_id.h"
#include "third_party/blink/public/mojom/filesystem/file_system.mojom-blink.h" #include "third_party/blink/public/mojom/filesystem/file_system.mojom-blink.h"
#include "third_party/blink/renderer/core/dom/dom_exception.h" #include "third_party/blink/renderer/core/dom/dom_exception.h"
#include "third_party/blink/renderer/core/fileapi/file_error.h" #include "third_party/blink/renderer/core/fileapi/file_error.h"
...@@ -74,10 +77,19 @@ void DOMWindowFileSystem::webkitRequestFileSystem( ...@@ -74,10 +77,19 @@ void DOMWindowFileSystem::webkitRequestFileSystem(
return; return;
} }
auto* ukm_recorder = window.document()->UkmRecorder();
const ukm::SourceId source_id = window.document()->UkmSourceID();
if (file_system_type == mojom::blink::FileSystemType::kTemporary) { if (file_system_type == mojom::blink::FileSystemType::kTemporary) {
UseCounter::Count(window, WebFeature::kRequestedFileSystemTemporary); UseCounter::Count(window, WebFeature::kRequestedFileSystemTemporary);
ukm::builders::FileSystemAPI_WebRequest(source_id)
.SetTemporary(true)
.Record(ukm_recorder->Get());
} else if (file_system_type == mojom::blink::FileSystemType::kPersistent) { } else if (file_system_type == mojom::blink::FileSystemType::kPersistent) {
UseCounter::Count(window, WebFeature::kRequestedFileSystemPersistent); UseCounter::Count(window, WebFeature::kRequestedFileSystemPersistent);
ukm::builders::FileSystemAPI_WebRequest(source_id)
.SetPersistent(true)
.Record(ukm_recorder->Get());
} }
auto success_callback_wrapper = auto success_callback_wrapper =
......
...@@ -4047,6 +4047,24 @@ be describing additional metrics about the same event. ...@@ -4047,6 +4047,24 @@ be describing additional metrics about the same event.
</metric> </metric>
</event> </event>
<event name="FileSystemAPI.WebRequest">
<owner>mek@chromium.org</owner>
<owner>rhalavatigit@chromium.org</owner>
<summary>
Logged when a website requests accessing FileSystem API.
</summary>
<metric name="Persistent">
<summary>
Marks a request for a Persistent FileSystem.
</summary>
</metric>
<metric name="Temporary">
<summary>
Marks a request for a Temporary FileSystem.
</summary>
</metric>
</event>
<event name="FontMatchAttempts"> <event name="FontMatchAttempts">
<owner>caraitto@chromium.org</owner> <owner>caraitto@chromium.org</owner>
<owner>pauljensen@chromium.org</owner> <owner>pauljensen@chromium.org</owner>
......
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