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

Unified Diff: components/metrics/net/net_metrics_log_uploader.cc

Issue 2703363002: Network traffic annotation added to NetMetricsLogUploader. (Closed)
Patch Set: Comment addressed. Created 3 years, 9 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 | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/metrics/net/net_metrics_log_uploader.cc
diff --git a/components/metrics/net/net_metrics_log_uploader.cc b/components/metrics/net/net_metrics_log_uploader.cc
index ee1af76a6c9a63d3fc753aaf3856553f1f9199f8..05d1f5c9894db453e76d3addb33fe8d7540d8fbd 100644
--- a/components/metrics/net/net_metrics_log_uploader.cc
+++ b/components/metrics/net/net_metrics_log_uploader.cc
@@ -8,9 +8,93 @@
#include "components/data_use_measurement/core/data_use_user_data.h"
#include "components/metrics/metrics_log_uploader.h"
#include "net/base/load_flags.h"
+#include "net/traffic_annotation/network_traffic_annotation.h"
#include "net/url_request/url_fetcher.h"
#include "url/gurl.h"
+namespace {
+
+net::NetworkTrafficAnnotationTag GetNetworkTrafficAnnotation(
+ const metrics::MetricsLogUploader::MetricServiceType& service_type) {
+ // The code in this function should remain so that we won't need a default
+ // case that does not have meaningful annotation.
+ if (service_type == metrics::MetricsLogUploader::UMA) {
+ return net::DefineNetworkTrafficAnnotation("metrics_report_uma", R"(
+ semantics {
+ sender: "Metrics UMA Log Uploader"
+ description:
+ "Report of usage statistics and crash-related data about Chromium. "
+ "Usage statistics contain information such as preferences, button "
+ "clicks, and memory usage and do not include web page URLs or "
+ "personal information. See more at "
+ "https://www.google.com/chrome/browser/privacy/ under 'Usage "
+ "statistics and crash reports'. Usage statistics are tied to a "
+ "pseudonymous machine identifier and not to your email address."
+ trigger:
+ "Reports are automatically generated on startup and at intervals "
+ "while Chromium is running."
+ data:
+ "A protocol buffer with usage statistics and crash related data."
+ destination: GOOGLE_OWNED_SERVICE
+ }
+ policy {
+ cookies_allowed: false
+ setting:
+ "Users can enable or disable this feature by disabling "
+ "'Automatically send usage statistics and crash reports to Google' "
+ "in Chromium's settings under Advanced Settings, Privacy. The "
+ "feature is enabled by default."
+ chrome_policy {
+ MetricsReportingEnabled {
+ policy_options {mode: MANDATORY}
+ MetricsReportingEnabled: false
+ }
+ }
+ })");
+ } else {
+ DCHECK_EQ(service_type, metrics::MetricsLogUploader::UKM);
+ return net::DefineNetworkTrafficAnnotation("metrics_report_ukm", R"(
+ semantics {
+ sender: "Metrics UKM Log Uploader"
+ description:
+ "Report of usage statistics that are keyed by URLs to Chromium, "
+ "sent only if the profile has History Sync. This includes "
+ "information about the web pages you visit and your usage of them, "
+ "such as page load speed. This will also include URLs and "
+ "statistics related to downloaded files. If Extension Sync is "
+ "enabled, these statistics will also include information about "
+ "the extensions that have been installed from Chrome Web Store. "
+ "Google only stores usage statistics associated with published "
+ "extensions, and URLs that are known by Google’s search index. "
+ "Usage statistics are tied to a pseudonymous machine identifier "
+ "and not to your email address."
+ trigger:
+ "Reports are automatically generated on startup and at intervals "
+ "while Chromium is running with Sync enabled."
+ data:
+ "A protocol buffer with usage statistics and associated URLs."
+ destination: GOOGLE_OWNED_SERVICE
+ }
+ policy {
+ cookies_allowed: false
+ setting:
+ "Users can enable or disable this feature by disabling "
+ "'Automatically send usage statistics and crash reports to Google' "
+ "in Chromium's settings under Advanced Settings, Privacy. This is "
+ "only enabled if all active profiles have History/Extension Sync "
+ "enabled without a Sync passphrase."
+ chrome_policy {
+ MetricsReportingEnabled {
+ policy_options {mode: MANDATORY}
+ MetricsReportingEnabled: false
+ }
+ }
+ })");
+ }
+}
+
+} // namespace
+
namespace metrics {
NetMetricsLogUploader::NetMetricsLogUploader(
@@ -31,7 +115,8 @@ NetMetricsLogUploader::~NetMetricsLogUploader() {
void NetMetricsLogUploader::UploadLog(const std::string& compressed_log_data,
const std::string& log_hash) {
current_fetch_ =
- net::URLFetcher::Create(GURL(server_url_), net::URLFetcher::POST, this);
+ net::URLFetcher::Create(GURL(server_url_), net::URLFetcher::POST, this,
+ GetNetworkTrafficAnnotation(service_type_));
auto service = data_use_measurement::DataUseUserData::UMA;
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698