Chromium Code Reviews| 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_ |