Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef NET_REPORTING_REPORTING_METRICS_H_ | |
| 6 #define NET_REPORTING_REPORTING_METRICS_H_ | |
| 7 | |
| 8 #include "base/time/time.h" | |
| 9 | |
| 10 namespace net { | |
| 11 | |
| 12 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
| |
| 13 ENABLED_STATE_DISABLED_DEFAULT, | |
| 14 ENABLED_STATE_ENABLED_DEFAULT, | |
| 15 ENABLED_STATE_DISABLED_FIELD_TRIAL, | |
| 16 ENABLED_STATE_ENABLED_FIELD_TRIAL, | |
| 17 ENABLED_STATE_DISABLED_COMMAND_LINE, | |
| 18 ENABLED_STATE_ENABLED_COMMAND_LINE, | |
| 19 ENABLED_STATE_MAX | |
| 20 }; | |
| 21 | |
| 22 enum HeaderFate { | |
| 23 HEADER_FATE_DROPPED_NO_SERVICE, | |
| 24 HEADER_FATE_REJECTED_INSECURE_ORIGIN, | |
| 25 HEADER_FATE_REJECTED_INVALID_JSON, | |
| 26 HEADER_FATE_ACCEPTED_WITH_INVALID_ENDPOINT, | |
| 27 HEADER_FATE_ACCEPTED, | |
| 28 HEADER_FATE_MAX, | |
| 29 }; | |
| 30 | |
| 31 enum HeaderEndpointFate { | |
| 32 HEADER_ENDPOINT_FATE_SET_ENDPOINT_CREATED, | |
| 33 HEADER_ENDPOINT_FATE_SET_CLIENT_CREATED, | |
| 34 HEADER_ENDPOINT_FATE_SET_CLIENT_UPDATED, | |
| 35 HEADER_ENDPOINT_FATE_CLEAR_NO_ENDPOINT, | |
| 36 HEADER_ENDPOINT_FATE_CLEAR_NO_CLIENT, | |
| 37 HEADER_ENDPOINT_FATE_CLEAR_CLIENT_REMOVED, | |
| 38 HEADER_ENDPOINT_FATE_MAX, | |
| 39 }; | |
| 40 | |
| 41 enum ReportFate { | |
| 42 REPORT_FATE_DELIVERED, | |
| 43 REPORT_FATE_FAILED, | |
| 44 REPORT_FATE_EXPIRED, | |
| 45 REPORT_FATE_EVICTED, | |
| 46 REPORT_FATE_SHUTDOWN, | |
| 47 REPORT_FATE_MAX, | |
| 48 }; | |
| 49 | |
| 50 enum DeliveryFate { | |
| 51 DELIVERY_FATE_SUCCESS, | |
| 52 DELIVERY_FATE_FAILURE, | |
| 53 DELIVERY_FATE_SHUTDOWN, | |
| 54 DELIVERY_FATE_MAX | |
| 55 }; | |
| 56 | |
| 57 enum EndpointFate { | |
| 58 ENDPOINT_FATE_REQUESTED_REMOVAL, | |
| 59 ENDPOINT_FATE_EXPIRED, | |
| 60 ENDPOINT_FATE_UNUSED, | |
| 61 ENDPOINT_FATE_FAILED, | |
| 62 ENDPOINT_FATE_EVICTED, | |
| 63 ENDPOINT_FATE_SHUTDOWN, | |
| 64 ENDPOINT_FATE_MAX, | |
| 65 }; | |
| 66 | |
| 67 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'
| |
| 68 void HistogramHeader(HeaderFate fate); | |
| 69 void HistogramHeaderEndpoint(HeaderEndpointFate fate, base::TimeDelta ttl); | |
| 70 void HistogramClient(base::TimeDelta ttl); | |
| 71 void HistogramReport(ReportFate fate, base::TimeDelta latency, int attempts); | |
| 72 void HistogramDeliveryContent(int report_count, int byte_count); | |
| 73 void HistogramDeliveryOutcome(DeliveryFate fate, | |
| 74 int net_error, | |
| 75 int http_response_code); | |
| 76 void HistogramEndpoint(EndpointFate fate); | |
| 77 | |
| 78 } // namespace net | |
| 79 | |
| 80 #endif // NET_REPORTING_REPORTING_METRICS_H_ | |
| OLD | NEW |