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

Unified Diff: net/reporting/reporting_metrics.h

Issue 2249213002: [OBSOLETE] Reporting: Initial implementation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years 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
Index: net/reporting/reporting_metrics.h
diff --git a/net/reporting/reporting_metrics.h b/net/reporting/reporting_metrics.h
new file mode 100644
index 0000000000000000000000000000000000000000..5461009a9acfbdd4cae9fb3a30a937135d528149
--- /dev/null
+++ b/net/reporting/reporting_metrics.h
@@ -0,0 +1,80 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef NET_REPORTING_REPORTING_METRICS_H_
+#define NET_REPORTING_REPORTING_METRICS_H_
+
+#include "base/time/time.h"
+
+namespace net {
+
+enum EnabledState {
Ryan Sleevi 2017/01/03 21:28:13 1) Do all of these need to be in "public" headers?
Julia Tuttle 2017/01/25 20:27:45 They don't need to be visible outside //net, no. W
+ ENABLED_STATE_DISABLED_DEFAULT,
+ ENABLED_STATE_ENABLED_DEFAULT,
+ ENABLED_STATE_DISABLED_FIELD_TRIAL,
+ ENABLED_STATE_ENABLED_FIELD_TRIAL,
+ ENABLED_STATE_DISABLED_COMMAND_LINE,
+ ENABLED_STATE_ENABLED_COMMAND_LINE,
+ ENABLED_STATE_MAX
+};
+
+enum HeaderFate {
+ HEADER_FATE_DROPPED_NO_SERVICE,
+ HEADER_FATE_REJECTED_INSECURE_ORIGIN,
+ HEADER_FATE_REJECTED_INVALID_JSON,
+ HEADER_FATE_ACCEPTED_WITH_INVALID_ENDPOINT,
+ HEADER_FATE_ACCEPTED,
+ HEADER_FATE_MAX,
+};
+
+enum HeaderEndpointFate {
+ HEADER_ENDPOINT_FATE_SET_ENDPOINT_CREATED,
+ HEADER_ENDPOINT_FATE_SET_CLIENT_CREATED,
+ HEADER_ENDPOINT_FATE_SET_CLIENT_UPDATED,
+ HEADER_ENDPOINT_FATE_CLEAR_NO_ENDPOINT,
+ HEADER_ENDPOINT_FATE_CLEAR_NO_CLIENT,
+ HEADER_ENDPOINT_FATE_CLEAR_CLIENT_REMOVED,
+ HEADER_ENDPOINT_FATE_MAX,
+};
+
+enum ReportFate {
+ REPORT_FATE_DELIVERED,
+ REPORT_FATE_FAILED,
+ REPORT_FATE_EXPIRED,
+ REPORT_FATE_EVICTED,
+ REPORT_FATE_SHUTDOWN,
+ REPORT_FATE_MAX,
+};
+
+enum DeliveryFate {
+ DELIVERY_FATE_SUCCESS,
+ DELIVERY_FATE_FAILURE,
+ DELIVERY_FATE_SHUTDOWN,
+ DELIVERY_FATE_MAX
+};
+
+enum EndpointFate {
+ ENDPOINT_FATE_REQUESTED_REMOVAL,
+ ENDPOINT_FATE_EXPIRED,
+ ENDPOINT_FATE_UNUSED,
+ ENDPOINT_FATE_FAILED,
+ ENDPOINT_FATE_EVICTED,
+ ENDPOINT_FATE_SHUTDOWN,
+ ENDPOINT_FATE_MAX,
+};
+
+void HistogramEnabledState(EnabledState state);
Ryan Sleevi 2017/01/03 21:28:13 naming/design: It seems not at all self-obvious w
Julia Tuttle 2017/01/25 20:27:45 I think it totally would benefit from that, but I'
+void HistogramHeader(HeaderFate fate);
+void HistogramHeaderEndpoint(HeaderEndpointFate fate, base::TimeDelta ttl);
+void HistogramClient(base::TimeDelta ttl);
+void HistogramReport(ReportFate fate, base::TimeDelta latency, int attempts);
+void HistogramDeliveryContent(int report_count, int byte_count);
+void HistogramDeliveryOutcome(DeliveryFate fate,
+ int net_error,
+ int http_response_code);
+void HistogramEndpoint(EndpointFate fate);
+
+} // namespace net
+
+#endif // NET_REPORTING_REPORTING_METRICS_H_

Powered by Google App Engine
This is Rietveld 408576698