| <!-- |
| Copyright 2020 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. |
| --> |
| |
| <!-- |
| This file is used to generate a comprehensive list of Net histograms |
| along with a detailed description for each histogram. |
| |
| For best practices on writing histogram descriptions, see |
| https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md |
| |
| Please follow the instructions in the OWNERS file in this directory to find a |
| reviewer. If no OWNERS file exists, please consider signing up at |
| go/reviewing-metrics (Googlers only), as all subdirectories are expected to |
| have an OWNERS file. As a last resort you can send the CL to |
| chromium-metrics-reviews@google.com. |
| --> |
| |
| <histogram-configuration> |
| |
| <histograms> |
| |
| <variants name="URLLoaderThrottleStages"> |
| <variant name="BeforeWillProcessResponse"/> |
| <variant name="WillOnCompleteWithError"/> |
| <variant name="WillProcessResponse"/> |
| <variant name="WillRedirectRequest"/> |
| <variant name="WillStartRequest"/> |
| </variants> |
| |
| <variants name="WillProcessResponseThrottleNames"> |
| <variant name="MimeSniffingThrottle"/> |
| <variant name="SafeBrowsingBrowserThrottle"/> |
| <variant name="SafeBrowsingRendererThrottle"/> |
| </variants> |
| |
| <variants name="WillStartRequestThrottleNames"> |
| <variant name="FrameRequestBlockerThrottle"/> |
| <variant name="PrerenderThrottle"/> |
| <variant name="SubresourceRedirectThrottle"/> |
| </variants> |
| |
| <histogram name="HttpCache.AccessToDone" units="ms" expires_after="M104"> |
| <owner>morlovich@chromium.org</owner> |
| <owner>yhirano@chromium.org</owner> |
| <summary> |
| For every http cache transaction with a pattern (see HttpCache.Pattern), the |
| time from the first access to the disk cache until the transaction was done. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="HttpCache.AfterSend" units="ms" |
| expires_after="M81"> |
| <obsolete> |
| Expired in M82. |
| </obsolete> |
| <owner>morlovich@chromium.org</owner> |
| <summary> |
| For http cache transactions in which a network request was sent, the time |
| elapsed between sending it over the network until the transaction was done. |
| </summary> |
| </histogram> |
| |
| <histogram name="HttpCache.BeforeSend" units="ms" expires_after="M104"> |
| <owner>morlovich@chromium.org</owner> |
| <owner>yhirano@chromium.org</owner> |
| <summary> |
| For http cache transactions in which a network request was sent, the time |
| elapsed between beginning the request and sending it over the network; this |
| is the time spent accessing the disk cache. |
| </summary> |
| </histogram> |
| |
| <histogram name="HttpCache.CantConditionalizeCause" |
| enum="HttpCacheValidationCause" expires_after="M85"> |
| <obsolete> |
| Expired in M86. |
| </obsolete> |
| <owner>jkarlin@chromium.org</owner> |
| <summary> |
| For each request that results in an unconditionalizable network request, the |
| cause for the request. |
| </summary> |
| </histogram> |
| |
| <histogram name="HttpCache.CantConditionalizeZeroFreshnessFromMemHint" |
| enum="Boolean" expires_after="M81"> |
| <obsolete> |
| Expired in M82. |
| </obsolete> |
| <owner>morlovich@chromium.org</owner> |
| <summary> |
| For each request with HttpCache.CantConditionalizeCause == Zero Freshness, |
| this is true iff the zero freshness status was determined by looking at |
| in-memory hints in disk cache index, rather than by opening the entry and |
| looking at headers. |
| </summary> |
| </histogram> |
| |
| <histogram name="HttpCache.EntryLockWait" units="ms" expires_after="M87"> |
| <obsolete> |
| Expired in M88. |
| </obsolete> |
| <owner>jkarlin@chromium.org</owner> |
| <owner>morlovich@chromium.org</owner> |
| <summary> |
| The time spent waiting for write lock on a disk cache entry. |
| </summary> |
| </histogram> |
| |
| <histogram name="HttpCache.HardReset" enum="Boolean" expires_after="2021-06-15"> |
| <obsolete> |
| Expired in June 2021. |
| </obsolete> |
| <owner>shivanisha@chromium.org</owner> |
| <owner>jkarlin@chromium.org</owner> |
| <summary> |
| Whether the HttpCache was forced to reset upon creation, effectively |
| clearing out its previous content. This is recorded when the cache is |
| created for the browsing session. |
| </summary> |
| </histogram> |
| |
| <histogram name="HttpCache.MaxFileSizeOnInit" units="KB" |
| expires_after="2022-02-20"> |
| <owner>shivanisha@chromium.org</owner> |
| <owner>jkarlin@chromium.org</owner> |
| <summary> |
| Max file size allowed to be cached in the http cache. This is logged at the |
| time the backend is created. |
| </summary> |
| </histogram> |
| |
| <histogram name="HttpCache.NetworkIsolationKeyPresent2" |
| enum="NetworkIsolationKeyPresent" expires_after="2020-09-10"> |
| <obsolete> |
| Expired in June 2021. |
| </obsolete> |
| <owner>jkarlin@chromium.org</owner> |
| <owner>shivanisha@chromium.org</owner> |
| <summary> |
| Records whether a cache request has a network isolation key set or not, |
| which is used for double-keying. |
| </summary> |
| </histogram> |
| |
| <histogram name="HttpCache.ParallelWritingPattern" |
| enum="HttpCacheParallelWritingPattern" expires_after="M77"> |
| <obsolete> |
| Expired in M78. |
| </obsolete> |
| <owner>shivanisha@chromium.org</owner> |
| <summary> |
| Records whether a transaction either created a Writers object when one |
| didn't exist, or joined an existing Writers object, or why it failed to do |
| so (e.g., it's a range request, it's not a GET request, etc.). |
| </summary> |
| </histogram> |
| |
| <histogram name="HttpCache.Pattern" enum="HttpCachePattern" |
| expires_after="2022-06-26"> |
| <owner>morlovich@chromium.org</owner> |
| <owner>jkarlin@chromium.org</owner> |
| <summary>For each http cache transaction, the recorded pattern.</summary> |
| </histogram> |
| |
| <histogram name="HttpCache.ReadErrorNonRestartable" enum="NetErrorCodes" |
| expires_after="M85"> |
| <obsolete> |
| Expired in M86. |
| </obsolete> |
| <owner>morlovich@chromium.org</owner> |
| <summary>Net error results from non-restartable cache read errors.</summary> |
| </histogram> |
| |
| <histogram name="HttpCache.ReadErrorRestartable" enum="NetErrorCodes" |
| expires_after="M85"> |
| <obsolete> |
| Expired in M86. |
| </obsolete> |
| <owner>morlovich@chromium.org</owner> |
| <summary>Net error results from restartable cache read errors.</summary> |
| </histogram> |
| |
| <histogram name="HttpCache.ValidationCause" enum="HttpCacheValidationCause" |
| expires_after="M77"> |
| <obsolete> |
| Expired in M78. |
| </obsolete> |
| <owner>jkarlin@chromium.org</owner> |
| <summary>For each validation attempt, the cause for the validation.</summary> |
| </histogram> |
| |
| <histogram name="Net.AlternateProtocolBrokenLocation" |
| enum="BrokenAlternateProtocolLocation" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Breakdown of the locations when SetBrokenAlternateProtocol is called. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.AlternateProtocolUsage" enum="AlternateProtocolUsage" |
| expires_after="2022-07-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Breakdown of how requests which could potentially make use of an alternate |
| protocol use or don't use the protocol. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.AlternateProtocolUsageGoogle" |
| enum="AlternateProtocolUsage" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Breakdown of how requests which could potentially make use of an alternate |
| protocol use or don't use the protocol, for connections to Google servers. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.AlternateServiceFailed" enum="NetErrorCodes" |
| expires_after="2022-05-11"> |
| <owner>tbansal@chromium.org</owner> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Positive net error codes that failed alternative protocol requests end with. |
| Recorded only when an alternative job fails, and the main job succeeds. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.AlternativeServiceTypeForRequest" |
| enum="AlternativeServiceType" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Information about the AlternativeService used for each request. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Certificate.AndroidAIAFetchError" enum="NetErrorCodes" |
| expires_after="M77"> |
| <obsolete> |
| Expired in M77, code removed in M98 |
| </obsolete> |
| <owner>estark@chromium.org</owner> |
| <summary> |
| The net error code returned after attempting an AIA fetch on Android. |
| Recorded once per intermediate that Chrome attempts to fetch via AIA on |
| Android. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Certificate.IgnoreCertificateErrorsSPKIListPresent" |
| enum="BooleanPresent" expires_after="M77"> |
| <owner>martinkr@google.com</owner> |
| <summary> |
| Whether certificate validation was disabled for a set of public keys because |
| the --ignore-certificate-errors-spki-list switch was set on startup. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Certificate.IgnoreErrors" enum="BooleanEnabled" |
| expires_after="M77"> |
| <owner>martinkr@google.com</owner> |
| <summary> |
| Whether certificate validation was disabled because the |
| --ignore-certificate-errors switch was set on startup. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Certificate.TLSFeatureExtensionWithPrivateRoot" |
| enum="Boolean" expires_after="M77"> |
| <owner>estark@chromium.org</owner> |
| <summary> |
| This histogram is recorded every time Chrome successfully verifies a |
| certificate that chains to a private root. A value of true indicates that |
| the certificate contains the TLS Feature Extension, and false indicates that |
| it doesn't. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Certificate.TLSFeatureExtensionWithPrivateRootHasOCSP" |
| enum="Boolean" expires_after="M77"> |
| <owner>estark@chromium.org</owner> |
| <summary> |
| This histogram is recorded every time Chrome successfully verifies a |
| certificate that chains to a private root and the certificate contains the |
| TLS Feature Extension. A value of true indicates that the connection had an |
| OCSP response stapled, and a value of false indicates that it did not. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Certificate.TrustAnchor.Request" enum="NetTrustAnchors" |
| expires_after="never"> |
| <!-- expires-never: Used for CA risk assessment ( https://goto.google.com/chrome-root-ca-stats ) --> |
| |
| <owner>rsleevi@chromium.org</owner> |
| <summary> |
| The SHA-256 hash of the subjectPublicKeyInfo of the most-specific trust |
| anchor encountered in a successfully-verified certificate chain, during an |
| HTTP URL request. The associated root certificate can be looked up using |
| https://crt.sh/?spkisha256= . |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Certificate.TrustAnchor.Verify" enum="NetTrustAnchors" |
| expires_after="never"> |
| <!-- expires-never: Used for CA risk assessment ( https://goto.google.com/chrome-root-ca-stats ) --> |
| |
| <owner>rsleevi@chromium.org</owner> |
| <summary> |
| The SHA-256 hash of the subjectPublicKeyInfo of the most-specific trust |
| anchor encountered in a successfully-verified certificate chain, during |
| verification time. The associated root certificate can be looked up using |
| https://crt.sh/?spkisha256= . |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Certificate.TrustAnchor.VerifyOutOfDate" |
| enum="BooleanOutOfDate" expires_after="never"> |
| <!-- expires-never: Used for CA risk assessment ( https://goto.google.com/chrome-root-ca-stats ) --> |
| |
| <owner>rsleevi@chromium.org</owner> |
| <summary> |
| This histogram is recorded every time Chrome successfully validates a |
| certificate, but cannot determine a public trust anchor from the verified |
| chain. A value of true indicates that the trust anchor list is out of date, |
| as the OS believes a public trust anchor is being used, but the built-in |
| list does not know about this trust anchor, while a value of false indicates |
| that a public trust anchor was not used, thus there is no evidence that the |
| list is out of date. This histogram is temporary until the transition to a |
| unified root store (in source), at which point, the OS store will no longer |
| be consulted for known roots. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Certificate.VerificationSuccessAfterAIAFetchingNeeded" |
| enum="BooleanSuccess" expires_after="M77"> |
| <obsolete> |
| Expired in M77, code removed in M98 |
| </obsolete> |
| <owner>estark@chromium.org</owner> |
| <summary> |
| Whether or not certificate verification was successful after attempting AIA |
| fetching on Android. Recorded once per certificate verification on Android |
| that resulted in an untrusted-root error without AIA fetching. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" |
| name="Net.CertificateTransparency.ConnectionComplianceStatus2" |
| enum="CTComplianceStatus" expires_after="M85"> |
| <obsolete> |
| Expired in M85, code removed in M98 |
| </obsolete> |
| <!-- Name completed by histogram_suffixes name="CertificateTransparencyProtocol" --> |
| |
| <owner>estark@chromium.org</owner> |
| <summary> |
| The compliance of each connection with the Certificate Transparency policy, |
| recorded once on connection setup unless CT evaluation has been disabled for |
| that connection or the certificate is invalid. Connections can be compliant, |
| or they can be non-compliant for one of several reasons (not enough Signed |
| Certificate Timestamps [SCTs], not diverse enough SCTs, or the build was old |
| so CT compliance wasn't checked). Not recorded for certificates that chain |
| to locally-installed roots. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" |
| name="Net.CertificateTransparency.CTRequiredConnectionComplianceStatus2" |
| enum="CTComplianceStatus" expires_after="M85"> |
| <obsolete> |
| Expired in M85, code removed in M98 |
| </obsolete> |
| <!-- Name completed by histogram_suffixes name="CertificateTransparencyProtocol" --> |
| |
| <owner>estark@chromium.org</owner> |
| <summary> |
| The compliance of each connection with the Certificate Transparency policy, |
| for connections for which CT compliance is required for the connection to |
| succeed. (For example, CT compliance is required for certain Certificate |
| Authorities, or a site can opt in to having CT be required.) Recorded once |
| on connection setup for applicable connections unless CT evaluation has been |
| disabled for that connection or the certificate is otherwise invalid. Not |
| recorded for certificates that chain to locally-installed roots. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.CertificateTransparency.CTRequiredRequestComplianceStatus" |
| enum="CTComplianceStatus" expires_after="M77"> |
| <obsolete> |
| Expired in M77, code removed in M98 |
| </obsolete> |
| <owner>estark@chromium.org</owner> |
| <summary> |
| The compliance of each HTTP request with the Certificate Transparency |
| policy, for requests on connections for which CT compliance is required for |
| the connection to succeed. (For example, CT compliance is required for |
| certain Certificate Authorities, or a site can opt in to having CT be |
| required.) Recorded once on request completion for requests on applicable |
| connections, unless CT evaluation has been disabled for that connection or |
| the certificate is otherwise invalid. Not recorded when the request's |
| certificate chains to a locally-installed root. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Net.CertificateTransparency.EVCompliance2" |
| enum="CTComplianceStatus" expires_after="M85"> |
| <obsolete> |
| Expired in M85, code removed in M98 |
| </obsolete> |
| <!-- Name completed by histogram_suffixes name="CertificateTransparencyProtocol" --> |
| |
| <owner>estark@chromium.org</owner> |
| <summary> |
| The state of compliance with Certificate Transparency presence requirements |
| for each EV certificate. Recorded once on QUIC connection setup when the |
| connection uses an EV certificate unless CT evaluation has been disabled for |
| that connection or the certificate is invalid. Not recorded for certificates |
| that chain to locally-installed roots. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.CertificateTransparency.RequestComplianceStatus" |
| enum="CTComplianceStatus" expires_after="M77"> |
| <obsolete> |
| Expired in M77, code removed in M98 |
| </obsolete> |
| <owner>estark@chromium.org</owner> |
| <summary> |
| The compliance of each HTTP request with the Certificate Transparency |
| policy, recorded once on request completion unless CT evaluation has been |
| disabled for that request's connection or the certificate is otherwise |
| invalid. A request's connection can be compliant, or it can be non-compliant |
| for one of several reasons (not enough Signed Certificate Timestamps [SCTs], |
| not diverse enough SCTs, or the build was old so CT compliance wasn't |
| checked). Not recorded when the request's certificate chains to a |
| locally-installed root. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.CertificateTransparency.SCT.SingleVerificationTime" |
| units="microseconds" expires_after="M70"> |
| <obsolete> |
| Expired after M70. Removed from code 2021-11. |
| </obsolete> |
| <owner>estark@chromium.org</owner> |
| <owner>rsleevi@chromium.org</owner> |
| <summary> |
| Time to verify a single SCT (Signed Certificate Timestamps) when setting up |
| a TLS connection. Recorded each time a single SCT is verified. Includes not |
| just the signature verification but also other operations that are involved |
| in verifying an SCT, such as notifying observers and looking up the log that |
| issued the SCT. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.CertificateTransparency.SCT.VerificationTime" |
| units="microseconds" expires_after="2022-07-03"> |
| <owner>estark@chromium.org</owner> |
| <owner>rsleevi@chromium.org</owner> |
| <summary> |
| Time to verify the SCTs (Signed Certificate Timestamps) when setting up a |
| TLS connection. Recorded on each connection setup where at least one SCT is |
| verified. Histogram was expired between M70 and M97. Histogram is only |
| reported for clients with high resolution clocks. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.CertificateTransparency.SCTOrigin" enum="SCTOrigin" |
| expires_after="2022-07-03"> |
| <owner>estark@chromium.org</owner> |
| <owner>trusty-transport@chromium.org</owner> |
| <summary> |
| The origin breakdown of Signed Certificate Timestamps (SCTs). Emitted once |
| for every SCT when first validated, which means 0 or more times during every |
| SSL connection establishment. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.CertificateTransparency.SCTStatus" enum="SCTVerifyStatus" |
| expires_after="M85"> |
| <owner>estark@chromium.org</owner> |
| <owner>rsleevi@chromium.org</owner> |
| <summary> |
| Breakdown of Signed Certificate Timestamps (SCTs) validation status. Emitted |
| once for every SCT when first validated, which means 0 or more times during |
| every SSL connection establishment. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.CertVerifier.InvalidRsaPssParams" enum="Boolean" |
| expires_after="2022-06-12"> |
| <owner>bcb@chromium.org</owner> |
| <owner>rsleevi@chromium.org</owner> |
| <summary> |
| While parsing an RSASSA-PSS signature algorithm, whether any invalid |
| parameters were encountered that currently are not enforced as parsing |
| errors. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Net.CertVerifier.NameNormalizationPrivateRoots" |
| enum="NetCertificateNameNormalization" expires_after="2022-05-11"> |
| <owner>mattm@chromium.org</owner> |
| <owner>rsleevi@chromium.org</owner> |
| <summary> |
| Whether Name normalization was used in successfully validated certificate |
| chains, only recorded for chains ending in privately trusted roots. Suffixed |
| by the CertVerifyProc implementation. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.CertVerifier.PathBuilderIterationCount" units="units" |
| expires_after="2022-06-26"> |
| <owner>mattm@chromium.org</owner> |
| <owner>rsleevi@chromium.org</owner> |
| <summary> |
| When using the builtin cert verifier, records the number of iterations taken |
| during path building for each attempted verification. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.CertVerifier_First_Job_Latency" units="ms" |
| expires_after="never"> |
| <!-- expires-never: core cert verifier metric; monitored by Chirps --> |
| |
| <owner>mattm@chromium.org</owner> |
| <owner>rsleevi@chromium.org</owner> |
| <summary> |
| The actual amount of time spent verifying a certificate using the underlying |
| cryptographic APIs. Because parallel verifications for the same certificate |
| may be coalesced, histograms such as Net.SSLCertVerificationTime may be |
| skewed, due to later verifications taking less overall time. This records |
| the overall time spent verifying the first job to capture initialization |
| costs. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.CertVerifier_Job_Latency" units="ms" expires_after="never"> |
| <!-- expires-never: core cert verifier metric; monitored by Chirps --> |
| |
| <owner>rsleevi@chromium.org</owner> |
| <owner>mattm@chromium.org</owner> |
| <summary> |
| The actual amount of time spent verifying a certificate using the underlying |
| cryptographic APIs. Because parallel verifications for the same certificate |
| may be coalesced, histograms such as Net.SSLCertVerificationTime may be |
| skewed, due to later verifications taking less overall time. This records |
| the overall time spent verifying a single request, regardless of how many |
| parallel requests are being served by the verification. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.CertVerifier_TrialComparisonResult" |
| enum="CertVerifierTrialComparisonResult" expires_after="2022-05-11"> |
| <owner>mattm@chromium.org</owner> |
| <owner>rsleevi@chromium.org</owner> |
| <summary> |
| If the CertDualVerificationTrial is enabled, each certificate verification |
| associated with a (non-incognito) profile which is opted-in to SBER2(Scout) |
| will record the outcome of comparing the primary verifier and secondary |
| verifier results. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.ConnectionInfo.MainFrame" enum="ConnectionInfo" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Application protocol used for main frame resources. Logged by the renderer |
| only for request that accessed the network and have received response |
| headers. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.ConnectionInfo.SubResource" enum="ConnectionInfo" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Application protocol used for subresources (resources other than main |
| frame). Logged by the renderer only for request that accessed the network |
| and have received response headers. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.ContentDecodingFailed2" enum="NetFilterType2" |
| expires_after="M77"> |
| <owner>mef@chromium.org</owner> |
| <owner>pauljensen@chromium.org</owner> |
| <summary> |
| For each CONTENT_DECODING_FAILED, record the filter that failed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Cors.AccessCheckError" enum="CorsAccessCheckError" |
| expires_after="2022-05-01"> |
| <owner>toyoshim@chromium.org</owner> |
| <owner>yhirano@chromium.org</owner> |
| <summary> |
| The distribution of CORS error types on the original network requests. This |
| reports whenever CORS checks detect an error on the original network |
| requests. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Cors.AccessCheckResult" enum="CorsAccessCheckResult" |
| expires_after="M102"> |
| <owner>toyoshim@chromium.org</owner> |
| <owner>yhirano@chromium.org</owner> |
| <summary> |
| The distribution of CORS access check results. This reports whenever CORS |
| AccessCheck runs. This is recorded when a CORS enabled request receives a |
| response and completes CORS checks. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Cors.AccessCheckResult.NotSecureRequestor" |
| enum="CorsAccessCheckResult" expires_after="M102"> |
| <owner>carlosil@chromium.org</owner> |
| <owner>estark@chromium.org</owner> |
| <summary> |
| The distribution of CORS access check results for not potentially |
| trustworthy requestors. This reports whenever CORS AccessCheck runs and the |
| requesting site origin is not potentially trustworthy. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Cors.PreflightCacheKeySize" units="bytes" |
| expires_after="2022-07-03"> |
| <owner>toyoshim@chromium.org</owner> |
| <owner>yhirano@chromium.org</owner> |
| <summary> |
| The distribution of the key size in the CORS preflight cache. This counts |
| each key size when a new entry is added to the cache. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Cors.PreflightCacheResult" enum="CorsPreflightCacheResult" |
| expires_after="2022-06-26"> |
| <owner>toyoshim@chromium.org</owner> |
| <owner>yhirano@chromium.org</owner> |
| <summary> |
| The distribution of the CORS preflight cache query results. This counts on |
| each cache query. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Cors.PreflightCheckError" enum="CorsAccessCheckError" |
| expires_after="2022-05-01"> |
| <obsolete> |
| Superseded by Net.Cors.PreflightCheckError2 in 2021-12. |
| </obsolete> |
| <owner>toyoshim@chromium.org</owner> |
| <owner>yhirano@chromium.org</owner> |
| <summary> |
| The distribution of CORS error types on preflight requests. This reports |
| whenever CORS checks detect an error on a preflight request. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Cors.PreflightCheckError2" enum="CorsAccessCheckError" |
| expires_after="2022-05-01"> |
| <owner>toyoshim@chromium.org</owner> |
| <owner>yhirano@chromium.org</owner> |
| <summary> |
| The distribution of CORS error types on preflight requests. This reports |
| whenever CORS checks detect an error on a preflight request. The |
| InvalidResponse case corresponds to net errors for which there was no CORS |
| error, e.g. CONNECTION_REFUSED, NX_DOMAIN, etc. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Cors.PreflightCheckWarning" enum="CorsAccessCheckError" |
| expires_after="2022-05-01"> |
| <owner>titouan@chromium.org</owner> |
| <owner>clamy@chromium.org</owner> |
| <summary> |
| The distribution of CORS error types on preflight requests which are treated |
| as warnings. This reports whenever CORS checks detect an error on a |
| preflight request without failing the whole original network request, due to |
| being configured to ignore these failures. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.CountOfBrokenAlternativeServices" units="services" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| The number of broken alternative services loaded from the prefs file on |
| startup. Alternative services allow an origin server to specify additional |
| means of interacting with it on the network. A broken alternative service is |
| one whose most recent connection attempt failed and whose retry timeout |
| period has not yet expired. Recorded when broken alternative services are |
| loaded from the prefs file on startup. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.CountOfQuicServerInfos" units="configs" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| This counts the number of server configs persisted in prefs file. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.CountOfRecentlyBrokenAlternativeServices" units="services" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| The number of recently broken alternative services loaded from the prefs |
| file on startup. Alternative services allow an origin server to specify |
| additional means of interacting with it on the network. A recently broken |
| alternative service is one whose most recent connection attempt failed. |
| Recorded when broken alternative services are loaded from the prefs file on |
| startup. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DataPipeUseForUrlLoader.Max" units="count" |
| expires_after="M88"> |
| <obsolete> |
| Removed from code 2021-03. |
| </obsolete> |
| <owner>yhirano@chromium.org</owner> |
| <owner>kinuko@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| The maximum number of data pipes used for network::URLLoader in the network |
| service in every 20 minutes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DataPipeUseForUrlLoader.Min" units="count" |
| expires_after="M88"> |
| <obsolete> |
| Removed from code 2021-03. |
| </obsolete> |
| <owner>yhirano@chromium.org</owner> |
| <owner>kinuko@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| The minimum number of data pipes used for network::URLLoader in the network |
| service in every 20 minutes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DataPipeUseForWebSocket.Max" units="count" |
| expires_after="M88"> |
| <obsolete> |
| Removed from code 2021-03. |
| </obsolete> |
| <owner>yhirano@chromium.org</owner> |
| <owner>kinuko@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| The maximum number of data pipes used for network::WebSocket in the network |
| service in every 20 minutes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DataPipeUseForWebSocket.Min" units="count" |
| expires_after="M88"> |
| <obsolete> |
| Removed from code 2021-03. |
| </obsolete> |
| <owner>yhirano@chromium.org</owner> |
| <owner>kinuko@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| The minimum number of data pipes used for network::WebSocket in the network |
| service in every 20 minutes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsConfig.AdditionalDnsQueryTypesEnabled" |
| enum="BooleanEnabled" expires_after="2022-08-14"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>dmcardle@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Whether or not `prefs::kAdditionalDnsQueryTypesEnabled` is enabled. Recorded |
| at startup if disabled or whenever Chrome is believed to be |
| enterprise-managed (per the same detection as the default disabling of DoH). |
| Measures whether or not enterprise admins are setting the disable, |
| potentially due to issues encoutered with HTTPS/INTEGRITY query experiments. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsConfig.Nsswitch.Compatible" enum="BooleanValid" |
| expires_after="2022-06-26"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Whether or not the DNS configuration read from a nsswitch.conf file is |
| considered compatible with Chrome, that is that the configuration did not |
| contain any options that Chrome is unable to support using the built-in |
| resolver. Reported whenever a nsswitch.conf file is read by Chrome. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsConfig.Nsswitch.FileChange" enum="BooleanChanged" |
| expires_after="2022-06-26"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Counter enum recorded whenever `net::DnsConfigService` detects a change to |
| the nsswitch.conf DNS configuration file. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsConfig.Nsswitch.HostsFound" enum="BooleanFound" |
| expires_after="2022-06-26"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Whether or not the "hosts:" database was found in an nsswitch.conf |
| DNS configuration file. Reported whenever Chrome has successfully read the |
| nsswitch.conf file and is beginning to attempt to parse it. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsConfig.Nsswitch.IncompatibleReason" |
| enum="NsswitchIncompatibleReason" expires_after="2022-01-15"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Reason enumeration of why a read and parsed nsswitch.conf DNS configuration |
| file was considered incompatible with Chrome, leading to Chrome's built-in |
| DNS resolver being disabled. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsConfig.Nsswitch.IncompatibleService" |
| enum="NsswitchService" expires_after="2022-06-19"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Enumeration of the nsswitch.conf service that caused a compatibility issue, |
| leading to the nsswitch.conf DNS configuration being considered incompatible |
| with Chrome. Only emitted when a specific token is present in the |
| nsswitch.conf file, causing the incompatibility, e.g. because the service is |
| always incompatible with Chrome or because the service is configured with |
| incompatible actions. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsConfig.Nsswitch.NumServices" units="#services" |
| expires_after="2022-01-15"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Number of services parsed from the nsswitch.conf DNS configuration file. |
| Reported whenever the file is read and parsed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsConfig.Nsswitch.Read" enum="BooleanReceived" |
| expires_after="2022-06-19"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Whether or not an attempt to read nsswitch.conf succeeded. May fail due to |
| missing file or filesystem issues, but does not consider it a failure if the |
| file is larger than the size limit (see Net.DNS.DnsConfig.Nsswitch.TooLarge |
| for that case). Reported for all attempts to read nsswitch.conf. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsConfig.Nsswitch.TooLarge" enum="BooleanExceeded" |
| expires_after="2022-06-19"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Whether or not an attempt to read nsswitch.conf failed due to the file size |
| being unreasonably large. Reported for all attempts to read nsswitch.conf. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsConfig.Resolv.Compatible" enum="BooleanValid" |
| expires_after="2022-06-26"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Whether or not the DNS configuration read from a resolv.conf file is |
| considered compatible with Chrome, that is that the configuration did not |
| contain any options that Chrome is unable to support using the built-in |
| resolver. Reported whenever a resolv.conf file is successfully read by |
| Chrome. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsConfig.Resolv.FileChange" enum="BooleanChanged" |
| expires_after="2022-06-26"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Counter enum recorded whenever `net::DnsConfigService` detects a change to |
| the resolv.conf DNS configuration file. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsConfig.Resolv.Read" enum="BooleanReceived" |
| expires_after="2022-06-19"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Whether or not an attempt to read resolv.conf succeeded and produced a |
| `__res_state` struct for Chrome to attempt to use. Reported on all attempts |
| to read the configuration. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsConfig.Resolv.Valid" enum="BooleanValid" |
| expires_after="2022-06-26"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Whether or not the DNS configuration read from a resolv.conf file is |
| considered "valid", that is that it contains at least one DNS |
| server. Reported whenever a resolv.conf file is successfully read by Chrome. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsConfig.SecureDnsMode" enum="SecureDnsModeDetails" |
| expires_after="2022-05-11"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Records details of the secure DNS mode used to configure the host resolver |
| at construction of the network service. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsTask.AdditionalHttps.Requested" |
| enum="UnsolicitedHttpsRecordStatus" expires_after="2022-08-14"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>dmcardle@chromium.org</owner> |
| <summary> |
| Status of HTTPS DNS records received as additional records in a DnsTask |
| querying for HTTPS. This would represent a recurssive resolver that is |
| HTTPS-aware and performing followup queries on behalf of the client. |
| Recorded as DNS responses are parsed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsTask.AdditionalHttps.Unsolicited" |
| enum="UnsolicitedHttpsRecordStatus" expires_after="2022-08-14"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>dmcardle@chromium.org</owner> |
| <summary> |
| Status of HTTPS DNS records received as additional records in a DnsTask |
| querying for a type other than HTTPS. Recorded as DNS responses are parsed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsTask.ErrorBeforeFallback.Fast" enum="NetErrorCodes" |
| expires_after="M77"> |
| <obsolete> |
| Removed from code 2021-02. |
| </obsolete> |
| <owner>pauljensen@chromium.org</owner> |
| <owner>mef@chromium.org</owner> |
| <summary> |
| Counts of specific error codes returned by DnsTask. Only counts failures |
| that took less than 10ms, which are probably local failures. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsTask.ErrorBeforeFallback.Slow" enum="NetErrorCodes" |
| expires_after="M77"> |
| <obsolete> |
| Removed from code 2021-02. |
| </obsolete> |
| <owner>pauljensen@chromium.org</owner> |
| <owner>mef@chromium.org</owner> |
| <summary> |
| Counts of specific error codes returned by DnsTask. Only counts failures |
| that took at least 10ms, which are probably remote failures or connectivity |
| problems. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsTask.Errors" enum="NetErrorCodes" |
| expires_after="M77"> |
| <owner>pauljensen@chromium.org</owner> |
| <owner>mef@chromium.org</owner> |
| <summary> |
| Counts of specific error codes returned by DnsTask if a subsequent ProcTask |
| succeeded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsTask.HttpUpgrade" enum="DNS.HttpUpgradeResult" |
| expires_after="2022-08-14"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Enumeration of whether or not a DNS-based http->https upgrade is |
| triggered by HostResolver and the reason why. Recorded for all successfully |
| completed HTTPS record transactions. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsTask.SuccessTime" units="ms" |
| expires_after="2022-06-26"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Duration of time taken by DnsTask (the grouping of all individual DNS |
| queries for a single instance of resolving a name) in resolutions that |
| succeeded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsTask.SvcbHttpsTransactionError" |
| enum="DNS.SvcbHttpsTransactionError" expires_after="2022-08-14"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Enumeration of whether or not an HTTPS (SVCB) record transaction succeeded |
| and whether or not any failure is fatal to the DnsTask. Recorded for all |
| completed HTTPS record transactions. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsTransaction.AttemptType" enum="DNS.AttemptType" |
| expires_after="2022-08-14"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Enumeration of the logic path used (e.g. different protocols) for each |
| started DnsAttempt (the representation of an individual network request to a |
| DNS server). |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Net.DNS.DnsTransaction.Insecure.FailureTime" |
| units="ms" expires_after="2022-08-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" --> |
| |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Duration of time taken by an insecure DnsTransaction to fail. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Net.DNS.DnsTransaction.Insecure.SuccessTime" |
| units="ms" expires_after="2022-08-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" --> |
| |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Duration of time taken by an insecure DnsTransaction to succeed. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" |
| name="Net.DNS.DnsTransaction.SecureNotValidated.FailureError" |
| enum="NetErrorCodes" expires_after="2022-08-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" --> |
| |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Counts of specific error codes returned by secure DnsTransactions to a DoH |
| server that is unavailable or has unknown availability. These transactions |
| may be probe queries or queries issued in the secure DNS mode. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" |
| name="Net.DNS.DnsTransaction.SecureNotValidated.FailureTime" units="ms" |
| expires_after="2022-08-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" --> |
| |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Duration of time taken by a secure DnsTransaction to a DoH server that is |
| unavailable or has unknown availability to fail. These transactions may be |
| probe queries or queries issued in the secure DNS mode. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" |
| name="Net.DNS.DnsTransaction.SecureNotValidated.SuccessTime" units="ms" |
| expires_after="2022-08-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" --> |
| |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Duration of time taken by a secure DnsTransaction to a DoH server that is |
| unavailable or has unknown availability to succeed. These transactions may |
| be probe queries or queries issued in the secure DNS mode. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" |
| name="Net.DNS.DnsTransaction.SecureValidated.FailureError" |
| enum="NetErrorCodes" expires_after="2022-08-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" --> |
| |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Counts of specific error codes returned by secure DnsTransactions to an |
| available DoH server. A DoH server is available if a probe has been |
| successfully completed and fewer than a threshold amount of failures have |
| occurred. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" |
| name="Net.DNS.DnsTransaction.SecureValidated.FailureTime" units="ms" |
| expires_after="2022-08-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" --> |
| |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Duration of time taken by a secure DnsTransaction to an available DoH server |
| to fail. A DoH server is available if a probe has been successfully |
| completed and fewer than a threshold amount of failures have occurred. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" |
| name="Net.DNS.DnsTransaction.SecureValidated.SuccessTime" units="ms" |
| expires_after="2022-08-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" --> |
| |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Duration of time taken by a secure DnsTransaction to an available DoH server |
| to succeed. A DoH server is available if a probe has been successfully |
| completed and fewer than a threshold amount of failures have occurred. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsTransaction.SecureValidated.SuccessTimeoutRatio" |
| units="10*ratio" expires_after="2020-12-20"> |
| <obsolete> |
| Removed from code 2021-02. |
| </obsolete> |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Ratio (scaled up by 10) between the time taken by a successful secure |
| DnsTransaction attempt and the current dynamically-determined base timeout |
| in use for the DoH server that accomplished the resolve. Only recorded when |
| the DoH server is already known to be "available" (successful |
| probe request and failure thresholds not exceeded). |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsTransaction.UDP.IdMismatch" |
| enum="DNS.UdpIdMismatchStatus" expires_after="2021-06-06"> |
| <obsolete> |
| Removed from code 2021-01. |
| </obsolete> |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Enumerated status of whether a DNS over UDP response ID matched the expected |
| query ID and whether a mismatched ID is recognized as a recently-queried |
| one. Logged for every DNS over UDP response received with a parsable ID. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsTransaction.UDP.IdMismatch.OldestMatchTime" |
| units="ms" expires_after="2021-04-04"> |
| <obsolete> |
| Removed from code 2021-01. |
| </obsolete> |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Time between receiving a mismatched DNS ID (when a DNS response contains an |
| ID that does not match the ID sent in the query) via UDP and the oldest |
| known use of the same ID in a query. Logged for every DNS over UDP response |
| receivied with a mismatched DNS ID. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsTransaction.UDP.LowEntropyReason" |
| enum="DNS.UdpLowEntropyReason" expires_after="never"> |
| <!-- expires-never: Core network stack health metric --> |
| |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Enumerated status of the reason why the built-in DNS resolver has detected a |
| "low entropy" situation for DNS over UDP and has switched to DNS |
| over TCP. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsTransaction.UDP.ReusedPort.Count" |
| units="num recent uses" expires_after="2021-04-04"> |
| <obsolete> |
| Removed from code 2021-01. |
| </obsolete> |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Number of recent uses found of a local port number used for DNS over UDP. |
| Logged for every DNS over UDP query sent. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsTransaction.UDP.ReusedPort.MostRecentAge" |
| units="ms" expires_after="2021-04-04"> |
| <obsolete> |
| Removed from code 2021-01. |
| </obsolete> |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Time between use of a local port number for DNS over UDP and the most recent |
| DNS over UDP use of the same port. Logged for every DNS over UDP query sent |
| with at least 1 recognized previous use of the local port. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.DNS.HTTPSSVC.RecordHttps.AnyProvider.ExpectNoerror.Parsable" |
| enum="BooleanValid" expires_after="2022-02-14"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>dmcardle@chromium.org</owner> |
| <summary> |
| Indicates whether the result of an HTTPS query was validly parsable or |
| mangled. Only recorded when DnsRcode indicates NoError. Histograms are |
| emitted at the completion of a DnsTask's final transaction. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.DNS.HTTPSSVC.RecordHttps.AnyProvider.ExpectNoerror.RecordWithError" |
| enum="Boolean" expires_after="2022-02-14"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>dmcardle@chromium.org</owner> |
| <summary> |
| Records true when we receive an HTTPS record and an error RCODE at the same |
| time. Only recorded for true. Histograms are emitted at the completion of a |
| DnsTask's final transaction. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Net.DNS.HTTPSSVC.RecordHttps.DnsRcode" |
| enum="HttpssvcDnsRcode" expires_after="2022-08-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" and name="HttpssvcIntegrityExpectation" --> |
| |
| <owner>ericorth@chromium.org</owner> |
| <owner>dmcardle@chromium.org</owner> |
| <summary> |
| Records which RCODE the DNS server specified when it responded to our HTTPS |
| query. If the query timed out before getting a response, |
| "TimedOut" is recorded instead of an RCODE value. Histograms are |
| emitted at the completion of a DnsTask's final transaction. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" |
| name="Net.DNS.HTTPSSVC.RecordHttps.ExpectIntact.Parsable" |
| enum="BooleanValid" expires_after="2022-02-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" --> |
| |
| <owner>ericorth@chromium.org</owner> |
| <owner>dmcardle@chromium.org</owner> |
| <summary> |
| Indicates whether the result of an HTTPS query was validly parsable or |
| mangled. Only recorded when DnsRcode indicates NoError. Histograms are |
| emitted at the completion of a DnsTask's final transaction. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" |
| name="Net.DNS.HTTPSSVC.RecordHttps.ExpectIntact.RecordWithError" |
| units="records" expires_after="2022-02-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" --> |
| |
| <owner>ericorth@chromium.org</owner> |
| <owner>dmcardle@chromium.org</owner> |
| <summary> |
| Records a sample of one when we receive an HTTPS record and an error RCODE |
| at the same time. Histograms are emitted at the completion of a DnsTask's |
| final transaction. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" |
| name="Net.DNS.HTTPSSVC.RecordHttps.ResolveTimeHttpsRecord" units="ms" |
| expires_after="2022-08-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" and name="HttpssvcIntegrityExpectation" --> |
| |
| <owner>ericorth@chromium.org</owner> |
| <owner>dmcardle@chromium.org</owner> |
| <summary> |
| Records how many ms the DNS server took to respond to an HTTPS query. |
| Histograms are emitted at the completion of a DnsTask's final transaction. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Net.DNS.HTTPSSVC.RecordHttps.ResolveTimeRatio" |
| units="scaled ratio (% / 10)" expires_after="2022-08-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" and name="HttpssvcIntegrityExpectation" --> |
| |
| <owner>ericorth@chromium.org</owner> |
| <owner>dmcardle@chromium.org</owner> |
| <summary> |
| Records a ratio indicating the relative HTTPS resolve time compared to the |
| slower A or AAAA resolve time, where A/AAAA/HTTPS belong to the same |
| DnsTask. Multiply this value by 10 to obtain a percentage P. The HTTPS query |
| completed in roughly P% of the slower A/AAAA resolve time. Values smaller |
| than 10 indicate that HTTPS query was faster than A/AAAA. Values larger than |
| 10 indicate that the HTTPS query was slower than A/AAAA. Histograms are |
| emitted at the completion of a DnsTask's final transaction. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Net.DNS.HTTPSSVC.RecordIntegrity.DnsRcode" |
| enum="HttpssvcDnsRcode" expires_after="2022-02-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" and name="HttpssvcIntegrityExpectation" --> |
| |
| <owner>dmcardle@chromium.org</owner> |
| <owner>ericorth@chromium.org</owner> |
| <summary> |
| Records which RCODE the DNS server specified when it responded to our |
| INTEGRITY query. If the query timed out before getting a response, |
| "TimedOut" is recorded instead of an RCODE value. Histograms are |
| emitted at the completion of a DnsTask's final transaction. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" |
| name="Net.DNS.HTTPSSVC.RecordIntegrity.ExpectIntact.Integrity" |
| enum="HttpssvcIntegrityJudgment" expires_after="2022-02-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" --> |
| |
| <owner>dmcardle@chromium.org</owner> |
| <owner>ericorth@chromium.org</owner> |
| <summary> |
| Indicates whether the result of an INTEGRITY query was intact (true) or |
| mangled (false). Only recorded when DnsRcode indicates NoError. Histograms |
| are emitted at the completion of a DnsTask's final transaction. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" |
| name="Net.DNS.HTTPSSVC.RecordIntegrity.ExpectIntact.RecordWithError" |
| units="records" expires_after="2022-02-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" --> |
| |
| <owner>dmcardle@chromium.org</owner> |
| <owner>ericorth@chromium.org</owner> |
| <summary> |
| Records a sample of one when we receive an INTEGRITY record and an error |
| RCODE at the same time. Histograms are emitted at the completion of a |
| DnsTask's final transaction. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" |
| name="Net.DNS.HTTPSSVC.RecordIntegrity.ExpectNoerror.RecordReceived" |
| units="records" expires_after="2022-02-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" --> |
| |
| <owner>dmcardle@chromium.org</owner> |
| <owner>ericorth@chromium.org</owner> |
| <summary> |
| Counts the number of records received when we get any INTEGRITY record |
| (Intact or Mangled) for a non-experimental domain. Any INTEGRITY record in |
| the response would be a surprise! Histograms are emitted at the completion |
| of a DnsTask's final transaction. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" |
| name="Net.DNS.HTTPSSVC.RecordIntegrity.ResolveTimeIntegrityRecord" |
| units="ms" expires_after="2022-02-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" and name="HttpssvcIntegrityExpectation" --> |
| |
| <owner>dmcardle@chromium.org</owner> |
| <owner>ericorth@chromium.org</owner> |
| <summary> |
| Records how many ms the DNS server took to respond to an INTEGRITY query. |
| Histograms are emitted at the completion of a DnsTask's final transaction. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" |
| name="Net.DNS.HTTPSSVC.RecordIntegrity.ResolveTimeNonIntegrityRecord" |
| units="ms" expires_after="2022-02-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" and name="HttpssvcIntegrityExpectation" --> |
| |
| <owner>dmcardle@chromium.org</owner> |
| <owner>ericorth@chromium.org</owner> |
| <summary> |
| Records how many ms the DNS server took to respond to any query other than |
| an INTEGRITY query. Histograms are emitted at the completion of a DnsTask's |
| final transaction. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Net.DNS.HTTPSSVC.RecordIntegrity.ResolveTimeRatio" |
| units="%" expires_after="2022-02-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" and name="HttpssvcIntegrityExpectation" --> |
| |
| <owner>dmcardle@chromium.org</owner> |
| <owner>ericorth@chromium.org</owner> |
| <summary> |
| Records a ratio indicating the relative INTEGRITY resolve time compared to |
| the slower A or AAAA resolve time, where A/AAAA/INTEGRITY belong to the same |
| DnsTask. Multiply this value by 10 to obtain a percentage P. The INTEGRITY |
| query completed in roughly P% of the slower A/AAAA resolve time. Values |
| smaller than 10 indicate that INTEGRITY query was faster than A/AAAA. Values |
| larger than 10 indicate that the INTEGRITY query was slower than A/AAAA. |
| Histograms are emitted at the completion of a DnsTask's final transaction. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.InsecureDnsTask.FailureTime" units="ms" |
| expires_after="2022-05-15"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Duration of time taken by an insecure DnsTask in resolutions that failed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.JobQueueTime.Failure" units="ms" |
| expires_after="2022-06-26"> |
| <owner>dmcardle@chromium.org</owner> |
| <owner>ericorth@chromium.org</owner> |
| <summary> |
| The duration of time DnsTransactions spend waiting to be started by a |
| DnsTask, aggregated by HostResolverManager::Job. This metric is only |
| recorded when the Job failed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.JobQueueTime.PerTransaction" units="ms" |
| expires_after="2022-06-26"> |
| <owner>dmcardle@chromium.org</owner> |
| <owner>ericorth@chromium.org</owner> |
| <summary> |
| The duration of time a DnsTransaction spends waiting to be started by a |
| DnsTask. The dominant factor is likely the time spent waiting for other |
| DnsTransactions to complete, i.e. waiting for DnsTask::StartNextTransaction |
| to be invoked by the dispatcher. If there were no limit on the number of |
| concurrent DNS queries, we would expect this metric to be near zero. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.JobQueueTime.Success" units="ms" |
| expires_after="2022-06-19"> |
| <owner>dmcardle@chromium.org</owner> |
| <owner>ericorth@chromium.org</owner> |
| <summary> |
| The duration of time DnsTransactions spend waiting to be started by a |
| DnsTask, aggregated by HostResolverManager::Job. This metric is only |
| recorded when the Job succeeded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.ProbeSequence.ConfigChange.Failure.AttemptTime" |
| units="ms" expires_after="2022-05-11"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Duration of time taken by a probe attempt to fail. The time is measured |
| since the probe sequence was initiated due to a DNS config change. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.ProbeSequence.ConfigChange.Success.AttemptTime" |
| units="ms" expires_after="2022-05-11"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Duration of time taken by a probe attempt to succeed. The time is measured |
| since the probe sequence was initiated due to a DNS config change. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.ProbeSequence.NetworkChange.Failure.AttemptTime" |
| units="ms" expires_after="2022-06-26"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Duration of time taken by a probe attempt to fail. The time is measured |
| since the probe sequence was initiated due to a network change. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.ProbeSequence.NetworkChange.Success.AttemptTime" |
| units="ms" expires_after="2022-06-26"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Duration of time taken by a probe attempt to succeed. The time is measured |
| since the probe sequence was initiated due to a network change. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.Request.Failure.HostSafetyStatus" |
| enum="HostSafetyStatus" expires_after="2021-08-30"> |
| <obsolete> |
| Removed from code 2021-07. |
| </obsolete> |
| <owner>mmenke@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Logged each time a DNS lookup fails. Records how often the TLDs of queried |
| hostnames are numeric for non-IPv4 hostnames. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.Request.Success.HostSafetyStatus" |
| enum="HostSafetyStatus" expires_after="2021-08-30"> |
| <obsolete> |
| Removed from code 2021-07. |
| </obsolete> |
| <owner>mmenke@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Logged each time a DNS lookup succeeds. Records how often the TLDs of |
| queried hostnames are numeric for non-IPv4 hostnames. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.Request.TotalTime" units="ms" expires_after="never"> |
| <!-- expires-never: Core network stack health metric --> |
| |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Duration of HostResolver requests from Start() until completion. Includes |
| requests resolved synchronously using fast local sources, e.g. from cache, |
| recorded as 0. Excludes speculative requests. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.Request.TotalTimeAsync" units="ms" |
| expires_after="never"> |
| <!-- expires-never: Core network stack health metric --> |
| |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Duration of HostResolver requests from Start() until completion. Excludes |
| speculative requests and requests resolved using fast local sources, e.g. |
| from cache. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.ResolveCategory" enum="ResolutionCategory" |
| expires_after="never"> |
| <!-- expires-never: Core network stack health metric --> |
| |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Whether a HostResolverManager::Job (the basic internal unit of work for |
| non-local host resolutions, potentially merging redundant requests from |
| Chrome) succeeded or failed, and whether it was speculative. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.ResolveError.Fast" enum="NetErrorCodes" |
| expires_after="never"> |
| <!-- expires-never: Core network stack health metric --> |
| |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| For DNS resolutions that failed after less than 10 ms, which are probably |
| local failures, what error code the jobs failed with. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.ResolveError.Slow" enum="NetErrorCodes" |
| expires_after="never"> |
| <!-- expires-never: Core network stack health metric --> |
| |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| For DNS resolutions that failed after at least 10 ms, which are probably |
| remote failures or connectivity problems, what error code the jobs failed |
| with. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.ResolveFailureTime" units="ms" expires_after="never"> |
| <!-- expires-never: Core network stack health metric --> |
| |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Duration of time taken by HostResolverManager::Job (the basic internal unit |
| of work for non-local host resolutions, potentially merging redundant |
| requests from Chrome) in resolutions that failed. This is the time to |
| resolve a hostname from start to finish. Excludes jobs where all requests |
| are speculative. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.ResolveSuccessTime" units="ms" expires_after="never"> |
| <!-- expires-never: Core network stack health metric --> |
| |
| <owner>ericorth@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Duration of time taken by HostResolverManager::Job (the basic internal unit |
| of work for non-local host resolutions, potentially merging redundant |
| requests from Chrome) in resolutions that succeeded. This is the time to |
| resolve a hostname from start to finish. Excludes jobs where all requests |
| are speculative. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.SecureDnsMode.Automatic.ResolveTime" units="ms" |
| expires_after="2022-08-14"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Duration of time taken by HostResolverManager::Job (the basic internal unit |
| of work for non-local host resolutions, potentially merging redundant |
| requests from Chrome) in resolutions for in AUTOMATIC secure DNS mode. |
| Excludes jobs where all requests are speculative. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.SecureDnsMode.Off.ResolveTime" units="ms" |
| expires_after="2022-08-14"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Duration of time taken by HostResolverManager::Job (the basic internal unit |
| of work for non-local host resolutions, potentially merging redundant |
| requests from Chrome) in resolutions for in OFF secure DNS mode. Excludes |
| jobs where all requests are speculative. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.SecureDnsMode.Secure.ResolveTime" units="ms" |
| expires_after="2022-08-14"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Duration of time taken by HostResolverManager::Job (the basic internal unit |
| of work for non-local host resolutions, potentially merging redundant |
| requests from Chrome) in resolutions for in SECURE secure DNS mode. Excludes |
| jobs where all requests are speculative. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.SecureDnsTask.DnsModeAutomatic.FailureTime" units="ms" |
| expires_after="2022-08-14"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Duration of time taken by a secure DnsTask in resolutions that failed that |
| were issued in AUTOMATIC mode. Excludes time spent in the subsequent |
| fallback. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.SecureDnsTask.DnsModeSecure.FailureTime" units="ms" |
| expires_after="2022-08-14"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Duration of time taken by a secure DnsTask in resolutions that failed that |
| were issued in SECURE mode. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.SecureDnsTaskFailure.FallbackDnsTask.Error" |
| enum="NetErrorCodes" expires_after="2021-01-31"> |
| <obsolete> |
| Removed from code 2021-01. |
| </obsolete> |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Counts of specific error codes returned by insecure DnsTasks after a secure |
| DnsTask failed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.SecureDnsTaskFailure.FallbackProcTask.Error" |
| enum="NetErrorCodes" expires_after="2021-01-31"> |
| <obsolete> |
| Removed from code 2021-01. |
| </obsolete> |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Counts of specific error codes returned by a ProcTask after a secure DnsTask |
| failed. Only records instances where there was no intermediary insecure |
| DnsTask. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Net.DNS.UI.DropdownSelectionEvent" |
| enum="DohProviderId" expires_after="2022-08-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DnsDropdownSelectionEvent" --> |
| |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Provider in a user-initiated dropdown change event that occured when this |
| provider was one of the dropown options. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.UI.ProbeAttemptSuccess" enum="Boolean" |
| expires_after="2022-08-14"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Records the outcome of a DoH probe attempt on the first valid entry in the |
| custom text field. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.UI.ValidationAttemptSuccess" enum="Boolean" |
| expires_after="2022-08-14"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| Records the outcome of a formatting validation attempt on the custom text |
| field. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.UpgradeConfig.DotUpgradeSucceeded" enum="Boolean" |
| expires_after="2022-08-14"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| True if upgrade to DoH from a DoT hostname was attempted and succeeded. |
| False if it was attempted and failed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.UpgradeConfig.HasPublicInsecureNameserver" |
| enum="Boolean" expires_after="2022-08-14"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| True if there was at least one public nameserver during an attempt to |
| upgrade to DoH from insecure DNS. False if there were no public nameservers |
| during an attempt to upgrade to DoH from insecure DNS. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.UpgradeConfig.Ineligible.DohSpecified" enum="Boolean" |
| expires_after="2022-08-14"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| True if upgrade to DoH was not attempted because the DoH config was already |
| specified. False if upgrade to DoH was not attempted for some other reason. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.UpgradeConfig.Ineligible.UnhandledOptions" |
| enum="Boolean" expires_after="2022-08-14"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| True if upgrade to DoH was not attempted because of unhandled options in the |
| system config. False if upgrade to DoH was not attempted for some other |
| reason. Emitted each time the DnsConfig is updated. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.UpgradeConfig.InsecureUpgradeSucceeded" enum="Boolean" |
| expires_after="2022-08-14"> |
| <owner>ericorth@chromium.org</owner> |
| <owner>doh-core@google.com</owner> |
| <summary> |
| True if upgrade to DoH from insecure DNS was attempted and succeeded. False |
| if it was attempted and failed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS_Resolution_And_TCP_Connection_Latency2" units="ms" |
| expires_after="never"> |
| <!-- expires-never: Core network stack health metric --> |
| |
| <owner>mmenke@chromium.org</owner> |
| <summary> |
| The time measured before starting DNS lookup until after the connection is |
| complete. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DomainReliability.BeaconOutcome" |
| enum="DomainReliabilityBeaconOutcome" expires_after="2022-07-03"> |
| <owner>mmenke@chromium.org</owner> |
| <owner>src/net/network_error_logging/OWNERS</owner> |
| <summary> |
| The outcome of a Domain Reliability beacon, logged upon destruction of the |
| beacon. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.ErrAborted.CountPerUpload2" units="aborts" |
| expires_after="M85"> |
| <owner>csharrison@chromium.org</owner> |
| <summary> |
| The count of the ABORTED bucket in Net.ErrorCodesForMainFrame3 at the time |
| histograms are being uploaded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.ErrAborted.ProportionPerUpload" units="%" |
| expires_after="M85"> |
| <owner>csharrison@chromium.org</owner> |
| <summary> |
| The bucket proportion of the ABORTED bucket in Net.ErrorCodesForMainFrame3 |
| at the time histograms are being uploaded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.ErrorCodesForHTTPSGoogleMainFrame3" enum="NetErrorCodes" |
| expires_after="never"> |
| <!-- expires-never: Core network stack health metric --> |
| |
| <owner>mmenke@chromium.org</owner> |
| <summary> |
| Positive net error codes that requests for pages end with, including net::OK |
| and net::ERR_ABORTED. This only counts loads in "main frames" for |
| https://www.google.com (it does not for example count the error codes for |
| subresoures on a page). It excludes main frame navigations that are |
| converted to downloads (unless they fail / are aborted before it's known |
| that they would be a download), and requests handled externally (like mailto |
| links). |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.ErrorCodesForImages2" enum="NetErrorCodes" |
| expires_after="M85"> |
| <owner>skonig@chromium.org</owner> |
| <owner>hbengali@chromium.org</owner> |
| <summary> |
| Net error codes that requests for images end with, including net::OK and |
| net:ERR_ABORTED. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.ErrorCodesForMainFrame4" enum="NetErrorCodes" |
| expires_after="never"> |
| <!-- expires-never: Core network stack health metric --> |
| |
| <owner>mmenke@chromium.org</owner> |
| <summary> |
| Positive net error codes that requests for pages end with, including net::OK |
| and net::ERR_ABORTED. This only counts loads in "main frames" (it |
| does not for example count the error codes for subresoures on a page). It |
| excludes main frame navigations that are converted to downloads (unless they |
| fail / are aborted before it's known that they would be a download), and |
| requests handled externally (like mailto links). |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.ErrorCodesForSubresources3" enum="NetErrorCodes" |
| expires_after="never"> |
| <!-- expires-never: Core network stack health metric --> |
| |
| <owner>mmenke@chromium.org</owner> |
| <summary> |
| Net error codes that requests for "subresources" end with, |
| including net::OK and net::ERR_ABORTED. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.ErrorCodesForTLS13ExperimentMainFrame2" |
| enum="NetErrorCodes" expires_after="M78"> |
| <obsolete> |
| Removed April 2021 |
| </obsolete> |
| <owner>svaldez@chromium.org</owner> |
| <summary> |
| Positive net error codes that requests for pages end with, including net::OK |
| and net::ERR_ABORTED. This only counts loads in "main frames" for |
| endpoints used in the initial TLS 1.3 deployment. Subresources or main frame |
| navigations to other origins are not included. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.ErrorPageCounts" enum="NetErrorPageEvents" |
| expires_after="2022-06-12"> |
| <owner>edwardjung@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Counts of various events that can occur on the network error page. Note that |
| this histogram enum buckets are not mutually exclusive and so a single error |
| page load might report samples into multiple ones. Each bucket has |
| descriptions that further explain the context of their samples. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.ErrorPageCounts.SuggestionClicked" |
| enum="NetErrorOfflineSuggestionType" expires_after="2021-12-19"> |
| <owner>sclittle@chromium.org</owner> |
| <owner>offline-dev@chromium.org</owner> |
| <summary> |
| Counts of the type of offline content suggestions clicked on the network |
| error page. Reported upon click. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.ErrorPageCounts.SuggestionPresented" |
| enum="NetErrorOfflineSuggestionType" expires_after="2021-12-05"> |
| <owner>sclittle@chromium.org</owner> |
| <owner>offline-dev@chromium.org</owner> |
| <summary> |
| Counts of the type of offline content suggestions shown on the network error |
| page. Multiple suggestions can be shown at the same time. Reported when the |
| suggestions are presented. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.ExpectCT.EntriesOnLoad" units="entries" |
| expires_after="2021-08-07"> |
| <obsolete> |
| Removed from code 2021-07. |
| </obsolete> |
| <owner>mmenke@chromium.org</owner> |
| <owner>estark@chromium.org</owner> |
| <summary> |
| The number of entries loaded from the Expect-CT database when Chrome starts |
| up. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.ExpectCT.HeaderPresentOnResponse" units="BooleanPresent" |
| expires_after="2022-07-03"> |
| <owner>estark@chromium.org</owner> |
| <owner>trusty-transport@chromium.org</owner> |
| <summary> |
| Recorded whenever headers are received on an HTTP response. True if an |
| Expect-CT header was present on the response, and false otherwise. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.ExpectCTHeader.ParseSuccess" enum="BooleanSuccess" |
| expires_after="M77"> |
| <obsolete> |
| Expired in M77, code removed in M98 |
| </obsolete> |
| <owner>estark@chromium.org</owner> |
| <summary> |
| Sites can send an Expect-CT header to Chrome to indicate that they intend |
| their sites to comply with Chrome's Certificate Transparency policy. This |
| histogram is recorded whenever an Expect-CT header is processed on a |
| connection. True indicates that the header parsed successfully, and false |
| indicates that there was a parse failure. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.ExpectCTHeader.PolicyComplianceOnConnectionSetup" |
| enum="CTComplianceStatus" expires_after="M77"> |
| <obsolete> |
| Expired in M77, code removed in M98 |
| </obsolete> |
| <owner>estark@chromium.org</owner> |
| <summary> |
| Sites can send an Expect-CT header to Chrome to indicate that they intend |
| their sites to comply with Chrome's Certificate Transparency policy. This |
| histogram is recorded on connection setup, whenever Chrome connects to an |
| Expect-CT site using a publicly trusted root. The histogram records the CT |
| policy compliance status of the connection. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.ExpectCTHeader.PolicyComplianceOnHeaderProcessing" |
| enum="CTComplianceStatus" expires_after="M77"> |
| <obsolete> |
| Expired in M77, code removed in M98 |
| </obsolete> |
| <owner>estark@chromium.org</owner> |
| <summary> |
| Sites can send an Expect-CT header to Chrome to indicate that they intend |
| their sites to comply with Chrome's Certificate Transparency policy. This |
| histogram is recorded whenever an Expect-CT header is successfully parsed on |
| a connection that chains to a publicly trusted root. The histogram records |
| the CT policy compliance status of the connection on which the header was |
| received. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Fetch.UploadStreamingProtocolAllowH1" |
| enum="HttpProtocolScheme" expires_after="2021-10-19"> |
| <owner>yoichio@chromium.org</owner> |
| <owner>ricea@chromium.org</owner> |
| <owner>yhirano@chromium.org</owner> |
| <summary> |
| Protocol used to fetch upload streaming with allowHTTP1ForStreamingUpload: |
| true property. This is recorded per fetch attempt regardless of result. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Fetch.UploadStreamingProtocolNotAllowH1" |
| enum="HttpProtocolScheme" expires_after="2021-10-19"> |
| <owner>yoichio@chromium.org</owner> |
| <owner>ricea@chromium.org</owner> |
| <owner>yhirano@chromium.org</owner> |
| <summary> |
| Protocol used to fetch upload streaming with allowHTTP1ForStreamingUpload: |
| false property. This is recorded per fetch attempt regardless of result. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.File.Request.Failure.HostSafetyStatus" |
| enum="HostSafetyStatus" expires_after="2021-08-30"> |
| <obsolete> |
| Removed from code 2021-07. |
| </obsolete> |
| <owner>mmenke@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Logged each time a file URL request fails. Records how often the TLDs of |
| queried hostnames are numeric for non-IPv4 hostnames. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.File.Request.Success.HostSafetyStatus" |
| enum="HostSafetyStatus" expires_after="2021-08-30"> |
| <obsolete> |
| Removed from code 2021-07. |
| </obsolete> |
| <owner>mmenke@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Logged each time a file URL request succeeds. Records how often the TLDs of |
| queried hostnames are numeric for non-IPv4 hostnames. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.FTP.StartResult" enum="FTPStartResult" expires_after="M79"> |
| <owner>tervay@google.com</owner> |
| <owner>asanka@chromium.org</owner> |
| <summary> |
| Each bucket is the result of whether or not the initiated FTP transaction. |
| Successful transactions are recorded as either authenticated or |
| unauthenticated. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HasBrokenNEON" enum="BooleanBroken" |
| expires_after="2022-05-01"> |
| <owner>davidben@chromium.org</owner> |
| <summary> |
| Records, on startup, for ARM devices running Android, whether the CPU is |
| known to have a broken NEON unit. See https://crbug.com/341598. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpAuthCount" enum="HttpAuthCount" |
| expires_after="2022-06-19"> |
| <owner>asanka@chromium.org</owner> |
| <owner>mmenke@chromium.org</owner> |
| <summary> |
| Per-authentication-scheme counts of authentication attempts and rejections. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpAuthNtlmV2Usage" enum="HttpAuthNtlmV2Usage" |
| expires_after="M79"> |
| <owner>asanka@chromium.org</owner> |
| <owner>mmenke@chromium.org</owner> |
| <summary> |
| Whether NTLMv2 was enabled for an authentication handshake. For a given data |
| set the number of samples here is expected to be equivalent to the |
| "NTLM Start" count in the "Net.HttpAuthCount" histogram. |
| Note that NTLMv2 being enabled makes the client behavior equivalent to |
| setting LmCompatibilityLevel to 3 or higher. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpAuthPromptType" enum="HttpAuthPromptType" |
| expires_after="2021-12-26"> |
| <owner>meacer@chromium.org</owner> |
| <owner>src/chrome/browser/ui/login/OWNERS</owner> |
| <summary>Type of the HTTP auth prompt displayed.</summary> |
| </histogram> |
| |
| <histogram name="Net.HttpAuthTarget" enum="HttpAuthTarget" |
| expires_after="2022-04-17"> |
| <owner>asanka@chromium.org</owner> |
| <owner>mmenke@chromium.org</owner> |
| <summary> |
| Per-authentication-scheme counts of authentication targets, such as secure |
| servers or proxies. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpContentFreshnessLifetime" units="seconds" |
| expires_after="M85"> |
| <owner>Please list the metric's owners. Add more owner tags as needed.</owner> |
| <summary>Length of time that a received resource will be cacheable.</summary> |
| </histogram> |
| |
| <histogram name="Net.HttpContentLengthDifferenceWithValidOCL" units="bytes" |
| expires_after="M85"> |
| <owner>bengr@chromium.org</owner> |
| <summary> |
| The difference between the size specified in the X-Original-Content-Length |
| header and the size of the response body. Only includes resources that have |
| the X-Original-Content-Length header. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpContentLengthV2" units="bytes" expires_after="never"> |
| <!-- expires-never: Input to Lingo pipelines. --> |
| |
| <owner>bengr@chromium.org</owner> |
| <summary> |
| Size of the response body. This is the actual number of bytes received, |
| which usually agrees with but is not necessarily the same as the size |
| specified by the Content-Length header. Replaces Net.HttpContentLength, |
| recording non-DRP Http traffic as "Http.Direct" instead of |
| "Http.Other". |
| </summary> |
| </histogram> |
| |
| <histogram name="net.HttpIdentSrcURL" units="requests" expires_after="M85"> |
| <owner>tsepez@chromium.org</owner> |
| <summary> |
| Count of requests which contained a basic auth username and password |
| embedded in the URL itself. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpJob.PrefilterBytesRead" units="bytes" |
| expires_after="2022-07-03"> |
| <owner>jkarlin@chromium.org</owner> |
| <owner>shivanisha@chromium.org</owner> |
| <summary> |
| Total prefilter (e.g., before decompression) bytes read for an HttpJob |
| request. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpJob.ProxyTypeFailed" enum="ProxyScheme" |
| expires_after="2022-05-11"> |
| <owner>rch@chromium.org</owner> |
| <summary> |
| Scheme of the proxy server used by an HTTP job that failed, or SCHEME_DIRECT |
| if not proxy was used. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpJob.ProxyTypeSuccess" enum="ProxyScheme" |
| expires_after="2022-05-11"> |
| <owner>rch@chromium.org</owner> |
| <summary> |
| Scheme of the proxy server used by an HTTP job that succeeded, or |
| SCHEME_DIRECT if not proxy was used. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpJob.TotalTime" units="ms" expires_after="never"> |
| <!-- expires-never: Core network stack health metric --> |
| |
| <owner>mmenke@chromium.org</owner> |
| <summary> |
| Time it takes to complete an HttpJob, from starting the transaction until we |
| are done reading. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpJob.TotalTime.TLS13" units="ms" |
| expires_after="2022-06-19"> |
| <owner>davidben@chromium.org</owner> |
| <owner>trusty-transport@chromium.org</owner> |
| <summary> |
| Time it takes to complete an HttpJob, from starting the transaction until we |
| are done reading, if the response was received over TLS 1.3 and TCP. This is |
| recorded to measure the impact of 0-RTT. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpJob.TotalTime.TLS13.Google" units="ms" |
| expires_after="2022-06-19"> |
| <owner>davidben@chromium.org</owner> |
| <owner>trusty-transport@chromium.org</owner> |
| <summary> |
| Time it takes to complete an HttpJob to a Google host, from starting the |
| transaction until we are done reading, if the response was received over TLS |
| 1.3 and TCP. This is recorded to measure the impact of 0-RTT. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpJob.TotalTimeCached" units="ms" expires_after="never"> |
| <!-- expires-never: Core network stack health metric --> |
| |
| <owner>mmenke@chromium.org</owner> |
| <summary> |
| Time it takes to complete an HttpJob, from starting the transaction until we |
| are done reading, for jobs served from the cache. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpJob.TotalTimeCancel" units="ms" expires_after="never"> |
| <!-- expires-never: Core network stack health metric --> |
| |
| <owner>mmenke@chromium.org</owner> |
| <summary> |
| Time it takes to complete an HttpJob, from starting the transaction until |
| the job is killed. Note that we didn't detect the end of the data for this |
| job. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpJob.TotalTimeNotCached" units="ms" |
| expires_after="never"> |
| <!-- expires-never: Core network stack health metric --> |
| |
| <owner>mmenke@chromium.org</owner> |
| <summary> |
| Time it takes to complete an HttpJob, from starting the transaction until we |
| are done reading, for jobs not served from the cache. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpJob.TotalTimeSuccess" units="ms" expires_after="never"> |
| <!-- expires-never: Core network stack health metric --> |
| |
| <owner>mmenke@chromium.org</owner> |
| <summary> |
| Time it takes to complete an HttpJob, from starting the transaction until we |
| are done reading, for jobs when we read until no more data is available. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpOriginalContentLengthV2" units="bytes" |
| expires_after="never"> |
| <!-- expires-never: Input to Lingo pipelines. --> |
| |
| <owner>bengr@chromium.org</owner> |
| <summary> |
| Net.HttpOriginalContentLength with non-data reduction proxy traffic properly |
| labeled with the "Direct" suffix. |
| |
| Size specified in the X-Original-Content-Length header. If this header is |
| not present in the response, the size of the response body is used. Replaces |
| Net.HttpOriginalContentLength, breaking down traffic by Direct, ViaDRP, |
| Bypassed, and Other. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpOriginalContentLengthWithValidOCL" units="bytes" |
| expires_after="M85"> |
| <owner>bengr@chromium.org</owner> |
| <summary> |
| Size specified in the X-Original-Content-Length header. Only includes |
| resources that have the X-Original-Content-Length header. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpProxy.ConnectLatency" units="ms" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>tbansal@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Time taken to establish the connection to the HTTP proxy. Note that the |
| histogram expired briefly for M-86 and M-87 non-stable versions. Exact |
| counts during that period may not be meaningful. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpResponseCode" enum="HttpResponseCode" |
| expires_after="never"> |
| <!-- expires-never: Core network stack health metric --> |
| |
| <owner>mmenke@chromium.org</owner> |
| <summary>The count of HTTP Response codes encountered.</summary> |
| </histogram> |
| |
| <histogram name="Net.HttpResponseCode.CustomHttpClient" enum="HttpResponseCode" |
| expires_after="2022-06-01"> |
| <owner>wenyufu@chromium.org</owner> |
| <owner>xingliu@chromium.org</owner> |
| <owner>twellington@chromium.org</owner> |
| <summary> |
| Http response code accepted by the request sent from a custom HttpClient, if |
| a valid response code is received. Recorded when a http response is received |
| by the custom HttpClient. Android Only. The source of traffic of the |
| targeted services is added as suffix to this histogram. |
| </summary> |
| </histogram> |
| |
| <!-- Name completed by histogram_suffixes name="CustomHttpClientType" --> |
| |
| <histogram name="Net.HttpServerProperties.CountOfServers" units="units" |
| expires_after="M85"> |
| <owner>mmenke@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| The total number of ServerInfo structs written to the network service's |
| prefs file, recorded each time the HttpServerProperties are serialized to |
| update the copy stored on disk. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpTimeToFirstByte" units="ms" expires_after="never"> |
| <!-- expires-never: Core network stack health metric --> |
| |
| <owner>mmenke@chromium.org</owner> |
| <summary> |
| Time from when an HTTP request is issued to when the first byte is |
| processed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpTimeToFirstByte.TLS13" units="ms" |
| expires_after="2022-05-11"> |
| <owner>davidben@chromium.org</owner> |
| <owner>trusty-transport@chromium.org</owner> |
| <summary> |
| Time from when an HTTP request is issued to when the first byte is |
| processed, if the response was not cached and received over TLS 1.3 and TCP. |
| This is recorded to measure the impact of 0-RTT. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpTimeToFirstByte.TLS13.Google" units="ms" |
| expires_after="2022-06-12"> |
| <owner>davidben@chromium.org</owner> |
| <owner>trusty-transport@chromium.org</owner> |
| <summary> |
| Time from when an HTTP request to a Google host is issued to when the first |
| byte is processed, if the response was not cached and received over TLS 1.3 |
| and TCP. This is recorded to measure the impact of 0-RTT. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.KeepaliveRequest.BlockStatus" |
| enum="KeepaliveRequestBlockStatus" expires_after="2020-06-30"> |
| <obsolete> |
| Removed from code 2021-03. |
| </obsolete> |
| <owner>yhirano@chromium.org</owner> |
| <owner>kinuko@chromium.org</owner> |
| <summary> |
| Whether and how keepalive requests are blocked. There is a similar histgoram |
| "Extensions.WebRequest.KeepaliveRequestState": This histogram |
| supports platforms where extensions are not supported. |
| "Extensions.WebRequest.KeepaliveRequestState" includes requests |
| rejected by WebRequest.onBeforeRequest() which are not counted in this |
| histogram. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.KeepaliveRequest.HeadersSize" units="bytes" |
| expires_after="2020-06-30"> |
| <obsolete> |
| Removed from code 2021-03. |
| </obsolete> |
| <owner>yhirano@chromium.org</owner> |
| <owner>panicker@chromium.org</owner> |
| <summary> |
| The size of the request headers for each request with keepalive specified. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.KeepaliveRequest.Result" enum="KeepaliveRequestResult" |
| expires_after="2020-06-30"> |
| <obsolete> |
| Removed from code 2021-03. |
| </obsolete> |
| <owner>yhirano@chromium.org</owner> |
| <owner>kinuko@chromium.org</owner> |
| <summary>The end state of keepalive request.</summary> |
| </histogram> |
| |
| <histogram name="Net.KeepaliveRequest.UrlPlusHeadersSize" units="bytes" |
| expires_after="2020-06-30"> |
| <obsolete> |
| Removed from code 2021-03. |
| </obsolete> |
| <owner>yhirano@chromium.org</owner> |
| <owner>panicker@chromium.org</owner> |
| <summary> |
| The sum of the size of the request headers and destination URL for each |
| request with keepalive specified. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.KeepaliveRequest.UrlSize" units="bytes" |
| expires_after="2020-06-30"> |
| <obsolete> |
| Removed from code 2021-03. |
| </obsolete> |
| <owner>yhirano@chromium.org</owner> |
| <owner>panicker@chromium.org</owner> |
| <summary> |
| The size of the destination URL for each request with keepalive specified. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.KeepaliveStatisticsRecorder.PeakInflightRequests2" |
| units="requests" expires_after="2020-06-30"> |
| <obsolete> |
| Removed from code 2021-03. |
| </obsolete> |
| <owner>yhirano@chromium.org</owner> |
| <summary> |
| The peak number of concurrent outstanding requests with keepalive specified. |
| This histogram is reported whenever the peak number is updated. For example, |
| if the inflight number of requests were 0 => 1 => 2 => 1 => 2 |
| => 3 => 2, then 0, 1, 2, and 3 would be reported. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.KeepaliveStatisticsRecorder.PeakInflightRequestsPerProcess" |
| units="requests" expires_after="2020-06-30"> |
| <obsolete> |
| Removed from code 2019-12. |
| </obsolete> |
| <owner>yhirano@chromium.org</owner> |
| <summary> |
| The peak number of concurrent outstanding requests with keepalive specified |
| per render process. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.KeepaliveStatisticsRecorder.PeakInflightRequestsPerProcess2" |
| units="requests" expires_after="2020-06-30"> |
| <obsolete> |
| Removed from code 2019-12. |
| </obsolete> |
| <owner>yhirano@chromium.org</owner> |
| <summary> |
| The peak number of concurrent outstanding requests with keepalive specified |
| per render process. This histogram is reported whenever the peak number is |
| updated. For example, if the inflight number of requests were 0 => 1 |
| => 2 => 1 => 2 => 3 => 2, then 0, 1, 2, and 3 would be |
| reported. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.MainFrameNoStore" enum="MainFrameStorable" |
| expires_after="M87"> |
| <owner>jkarlin@chromium.org</owner> |
| <summary> |
| The distribution of storable vs "cache-control: no-store" |
| main-frame resources. |
| |
| Counted after response headers have completed and before the content has |
| completed. Redirects are counted. All HTTP cache transactions are counted, |
| not just those that require the network. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.MediaCache.Response.EnabledOrDisabled" |
| enum="MediaResponseCacheType" expires_after="2020-12-31"> |
| <owner>morlovich@chromium.org</owner> |
| <owner>wicarr@microsoft.com</owner> |
| <owner>webmedia@microsoft.com</owner> |
| <summary> |
| Records decision points on whether response-side media content will be |
| cached or not. This is determined after receiving the HTTP response headers |
| and before attempting to write the the cache. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.NeedsHWCAP2Workaround" enum="BooleanBroken" |
| expires_after="2022-06-01"> |
| <owner>davidben@chromium.org</owner> |
| <summary> |
| Records, on startup, for ARM devices running Android, whether the kernel is |
| missing AT_HWCAP2 from the ELF auxv and /proc/cpuinfo reports support for |
| ARMv8 features. Those features should also be reported in AT_HWCAP2. This is |
| to measure the workaround in https://crbug.com/boringssl/46. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.NetworkChangeNotifier.NewConnectionType" |
| enum="NetworkConnectionType" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| The new network connection type any time a change to the device's active |
| default network is observed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.NetworkChangeNotifierMac.GetCurrentConnectionTypeWaitTime" |
| units="ms" expires_after="2022-05-01"> |
| <owner>ajuma@chromium.org</owner> |
| <owner>pauljensen@chromium.org</owner> |
| <summary> |
| The amount of time (ms) spent waiting for the connection type to be |
| determined in NetworkChangeNotifierMac::GetCurrentConnectionType. This is |
| recorded the first time GetCurrentConnectionType is called, before the |
| connection type has been determined; it is not recorded again on subsequent |
| calls to this function. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.NetworkConfigWatcherMac.SCDynamicStore.Create" |
| enum="SCStatusCode" expires_after="M85"> |
| <owner>mef@chromium.org</owner> |
| <owner>pauljensen@chromium.org</owner> |
| <summary> |
| This is logged when SCDynamicStoreCreate fails in |
| network_config_watcher_mac.cc. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.NetworkConfigWatcherMac.SCDynamicStore.Create.RunLoopSource" |
| enum="SCStatusCode" expires_after="M85"> |
| <owner>mef@chromium.org</owner> |
| <owner>pauljensen@chromium.org</owner> |
| <summary> |
| This is logged when SCDynamicStoreCreateRunLoopSource fails in |
| network_config_watcher_mac.cc. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.NetworkConfigWatcherMac.SCDynamicStore.NumRetry" |
| units="retries" expires_after="M85"> |
| <owner>mef@chromium.org</owner> |
| <owner>pauljensen@chromium.org</owner> |
| <summary> |
| This is logged when retrying SCDynamicStore has stopped after either |
| receiving a success or hitting the maximum number of retries in |
| network_config_watcher_mac.cc. The 0 bucket is where no retry is performed, |
| and the maximal bucket is where all retries have failed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.NetworkErrorLogging.SignedExchangeRequestOutcome" |
| enum="NetNetworkErrorLoggingRequestOutcome" expires_after="2022-05-17"> |
| <owner>ksakamoto@chromium.org</owner> |
| <owner>webpackage-dev@chromium.org</owner> |
| <summary> |
| When Network Error Logging observes a completed request of signed exchange |
| that might generate a report, what happens to it. NEL observes all requests, |
| both successful and unsuccessful. It sends reports for successful and |
| unsuccessful requests at specified sampling rates so that error rates can be |
| calculated. Insecure requests are discarded for having an insecure origin |
| regardless of existence of a policy for the origin. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.NotifyAddrChangeFailures" units="units" |
| expires_after="2018-08-30"> |
| <obsolete> |
| Deprecated as of 2021/03. The code to emit the metric is removed. |
| </obsolete> |
| <owner>pauljensen@chromium.org</owner> |
| <summary> |
| On Windows, NetworkChangeNotifierWin calls NotifyAddrChange, which can fail |
| for unknown reasons. This records the number of times it fails in a row |
| before a successful call. If it never succeeds, or takes over 100 tries, a |
| value of 100 is recorded. See http://crbug.com/69198 |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Ntlm.HashDependsOnLocale" enum="Boolean" |
| expires_after="2021-10-25"> |
| <obsolete> |
| Removed in 2021/09. |
| </obsolete> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Whether the NTLM hash depends on the user's current locale. More |
| specifically, this measures whether a locale-sensitive uppercasing of the |
| username gives a different result from an ASCII-only uppercasing. The spec |
| doesn't define uppercasing rules for NTLM. This histogram is intended to |
| inform https://crbug.com/1051924 on how often an ambiguity would arise |
| should we switch to an ASCII-only approach. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.NumQuicSessionsAtShutdown" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of QUIC sessions when the QuicStreamFactory is destroyed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Port.Alpaca" enum="AlpacaPort" expires_after="2022-06-19"> |
| <owner>ricea@chromium.org</owner> |
| <owner>yhirano@chromium.org</owner> |
| <summary> |
| Ports which may be restricted to mitigate the NAT Slipstream 2.0 |
| vulnerability. Logged only for affected ports which are passed to |
| net::IsPortAllowedForScheme(). |
| |
| A top-level navigation will be counted 4 times, whereas a subresource will |
| only be counted once. This is not intentional, but may be useful to estimate |
| the level of breakage. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Port.SlipstreamRestricted" enum="SlipstreamPort" |
| expires_after="2021-10-31"> |
| <obsolete> |
| Removed June 2021. |
| </obsolete> |
| <owner>ricea@chromium.org</owner> |
| <owner>yhirano@chromium.org</owner> |
| <summary> |
| Ports which may be restricted due to the NAT Slipstream 2.0 vulnerability. |
| Logged for every valid port passed to net::IsPortAllowedForScheme(). Almost |
| all lookups will end up in the kOther bucket. |
| |
| A top-level navigation will be counted 4 times, whereas a subresource will |
| only be counted once. This is not intentional, but may be useful to estimate |
| the level of breakage. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Prefetch.HitBytes" units="bytes" expires_after="M87"> |
| <owner>jkarlin@chromium.org</owner> |
| <summary> |
| Bytes read for requests that were served from a cache entry whose |
| unused_since_prefetch bit is true. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Prefetch.PrefilterBytesReadFromNetwork" units="bytes" |
| expires_after="M85"> |
| <owner>jkarlin@chromium.org</owner> |
| <summary> |
| Number of bytes read from the network on behalf of prefetch requests. This |
| is prefilter, so before any decompression. |
| |
| This applies to requests with RESOURCE_TYPE_PREFETCH. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.ProxyScriptFetcher.FirstByteDuration" units="ms" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <summary> |
| The time taken from requesting a PAC script to receiving the first byte of |
| the response body on successful fetches. This does not include time spent |
| doing proxy auto-discovery, or failed attempts at retrieving PAC scripts. If |
| the response body was empty, this measures the total time to fetch the |
| (empty) response body. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.ProxyScriptFetcher.SuccessDuration" units="ms" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <summary> |
| The time taken to successfully fetch a PAC script. This does not include |
| time spent doing proxy auto-discovery, or failed attempts at retrieving PAC |
| scripts. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.PublicKeyPinReportSendingFailure2" enum="NetErrorCodes" |
| expires_after="M77"> |
| <owner>estark@chromium.org</owner> |
| <summary> |
| A validated certificate chain may be subject to additional pinning |
| requirements on a per-domain basis. When pinning requirements are violated, |
| Chrome attempts to send a report about the incident. This records the net |
| error code when sending a pinning violation report fails. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.PublicKeyPinSuccess" enum="BooleanSuccess" |
| expires_after="M77"> |
| <owner>agl@chromium.org</owner> |
| <summary> |
| A validated certificate chain may be subject to additional |
| "pinning" requirements on a per-domain basis. This records the |
| fraction of successful matches between a certificate chain and a pin list. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.PushedStreamVaryResponseHeader" |
| enum="PushedStreamVaryResponseHeaderValues" expires_after="2022-05-11"> |
| <owner>bnc@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Information about the value of the Vary response header in HTTP/2 pushed |
| streams. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicActiveSessions" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of active QUIC sessions before we activate a new QUIC session. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicAltSvcFormat" enum="QuicAltSvcFormat" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Tracks the number of QUIC alt-svc advertisements parsed by Chrome in Google |
| format vs in IETF format. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicChromiumClientStream.HandleOnCloseConnectionError" |
| enum="QuicErrorCodes" expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Log the connection error code when QUIC stream handle closes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicChromiumClientStream.HandleOnCloseNetError" |
| enum="NetErrorCodes" expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary>Log the net error code when QUIC stream handle closes.</summary> |
| </histogram> |
| |
| <histogram name="Net.QuicChromiumClientStream.HandleOnCloseStreamError" |
| enum="QuicRstStreamErrorCodes" expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary>Log the stream error code when QUIC stream handle closes.</summary> |
| </histogram> |
| |
| <histogram name="Net.QuicChromiumClientStream.TrailingHeadersProcessSuccess" |
| enum="BooleanSuccess" expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary>Log success rate of processing trailing headers.</summary> |
| </histogram> |
| |
| <histogram name="Net.QuicClientHelloRejectReasons" enum="QuicRejectReasons" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The reject reasons for QUIC's CHLO (client hello) message from server |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicConnection.WritePacketStatus" enum="QuicWriteStatus" |
| expires_after="2022-05-11"> |
| <owner>wub@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The write result returned by the packet writer when the connection attempts |
| to write a packet. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicConnectivityMonitor.NumActiveDegradingSessions" |
| units="sessions" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of active sessions that are degrading on network changes. The |
| suffix specifies the network change. Emitted when there are more than one |
| active sessions. |
| |
| The histogram is emitted when a network change happens which could affect |
| the current default network, which includes the default network being |
| changed, alternate networks being connected. It, however, doesn't emit when |
| disconnecting an alternate network because that does not affect the current |
| default network. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.QuicConnectivityMonitor.NumActiveQuicSessionsAtNetworkChange" |
| units="sessions" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of active QUIC sessions when a network change is detected. The |
| suffix specifies the network change. |
| |
| The histogram is emitted when a network change happens which could affect |
| the current default network, which includes the default network being |
| changed, alternate networks being connected. It, however, doesn't emit when |
| disconnecting an alternate network because that does not affect the current |
| default network. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicConnectivityMonitor.NumAllDegradedSessions" |
| units="sessions" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of all sessions that detectes path degradation until a network |
| change happens, including both active sessions and closed sessions. The |
| suffix specifies the network change. |
| |
| The histogram is emitted when a network change happens which could affect |
| the current default network, which includes the default network being |
| changed, alternate networks being connected. It, however, doesn't emit when |
| disconnecting an alternate network because that does not affect the current |
| default network. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.QuicConnectivityMonitor.NumAllSessionsDegradedAtNetworkChange" |
| units="sessions" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The total number of sessions that reports path degradation before a network |
| change happens, including both still active sessions and closed sessions. |
| |
| The histogram is emitted when a network change happens which could affect |
| the current default network, which includes the default network being |
| changed, alternate networks being connected. It, however, doesn't emit when |
| disconnecting an alternate network because that does not affect the current |
| default network. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.QuicConnectivityMonitor.NumSessionsTrackedSinceSpeculativeError" |
| units="sessions" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of total sessions that has been tracked since the first |
| speculative error, including both active and closed sessions. Only recorded |
| if non-zero. |
| |
| The histogram is emitted when a network change happens which could affect |
| the current default network, which includes the default network being |
| changed, alternate networks being connected. It, however, doesn't emit when |
| disconnecting an alternate network because that does not affect the current |
| default network. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.QuicConnectivityMonitor.NumWriteErrorsSeenBeforeDegradation" |
| units="errors" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of total sessions that has been closed due to |
| QUIC_PACKET_WRITE_ERROR before first path degradation detection. |
| |
| The histogram is emitted when session path degrading is detected for the |
| first time on the current network and there was a session closed with a |
| speculative signal (QUIC_PACKET_WRITE_ERROR). |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicConnectivityMonitor.PercentageActiveDegradingSessions" |
| units="%" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The percentage of active sessions that are degrading on network changes. The |
| suffix specifies the network change. Emitted when there are at least two |
| active sessions. |
| |
| The histogram is emitted when a network change happens which could affect |
| the current default network, which includes the default network being |
| changed, alternate networks being connected. It, however, doesn't emit when |
| disconnecting an alternate network because that does not affect the current |
| default network. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicConnectivityMonitor.PercentageAllDegradedSessions" |
| units="%" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The percentage of all sessions that detectes path degradation until a |
| network change happens, including both active sessions and closed sessions. |
| Always emit 0 when there is no session reporting path degrading to speculate |
| a connectivity failure on the current network. The suffix specifies the |
| network change. |
| |
| The histogram is emitted when a network change happens which could affect |
| the current default network, which includes the default network being |
| changed, alternate networks being connected. It, however, doesn't emit when |
| disconnecting an alternate network because that does not affect the current |
| default network. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicConnectivityMonitor.SessionDegradedBeforeWriteError" |
| enum="BooleanDetected" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| When a packet write error is detected by the session, if path degradation |
| has been detected already on the same session. |
| |
| The histogram is emitted when a session encounters a QUIC_PACKET_WRITE_ERROR |
| and is soon to be closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicDiskCache.FailureReason" |
| enum="QuicDiskCacheFailureReason" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Tracks failure reasons to read/load/write of QuicServerInfo to and from disk |
| cache. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicDroppedPacketReason" enum="QuicDroppedPacketReason" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The reason a QUIC packet could not be processed, logged for each dropped |
| packet. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicHandshakeNotConfirmedNumPacketsReceived" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of QUIC packets received by a QUIC connection whose handshake was |
| not confirmed when that connection is closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicHandshakeState" enum="QuicHandshakeState" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The state of a QUIC connection's crypto hanshake as it progresses from |
| starting to confirmation or failure. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicHpackCompressionPercentage" units="%" |
| expires_after="2022-05-11"> |
| <obsolete> |
| Removed in M58. |
| </obsolete> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The compression percentage, logged for each sent HPACK compressed header |
| frame. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicHpackDecoder.IndexedEntryAge" units="ms" |
| expires_after="2022-05-11"> |
| <obsolete> |
| Removed in M91. This experiment has concluded, header compression algorithm |
| for HTTP/3 has been standardized. |
| </obsolete> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| For each indexed representation decoded, records the time since the |
| corresponding entry was added to the dynamic table. This data is being |
| collected to help analyze a proposed solution to HPACK induced head of line |
| blocking. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicHpackDecompressionPercentage" units="%" |
| expires_after="2022-05-11"> |
| <obsolete> |
| Removed in M53. |
| </obsolete> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The decompression percentage, logged for each received HPACK compressed |
| header frame. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicHpackEncoder.IndexedEntryAge" units="ms" |
| expires_after="2022-05-11"> |
| <obsolete> |
| Removed in M91. This experiment has concluded, header compression algorithm |
| for HTTP/3 has been standardized. |
| </obsolete> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| For each indexed representation encoded, records the time since the |
| corresponding entry was added to the dynamic table. This data is being |
| collected to help analyze a proposed solution to HPACK induced head of line |
| blocking. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicHttpStream.ProcessResponseHeaderSuccess" |
| enum="BooleanSuccess" expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Log the success rate of HTTP layer reading QUIC response headers, for |
| investigating b/177893733. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicHttpStream.ResponseStatus" |
| enum="QuicRstStreamErrorCodes" expires_after="2022-05-11"> |
| <owner>bnc@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Stream error of QuicSpdyStream when QuicHttpStream::ComputeResponseStatus() |
| returns ERR_QUIC_PROTOCOL_ERROR, for investigating b/177893733. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicNetworkDegradingDurationTillConnected" units="ms" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Time from when QUIC detects performance degradation on the current network |
| to when QUIC notices a new network is connected. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicNetworkDegradingDurationTillDisconnected" units="ms" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Time from when QUIC detects performance degradation on the current network |
| to when QUIC notices the current network is disconnected. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicNetworkDegradingDurationTillNewNetworkMadeDefault" |
| units="ms" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The time from QUIC detecting network performance degradation to an |
| alternative network becoming default. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicNetworkDisconnectionDuration" units="ms" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The time from network disconnection to an alternative network becoming |
| default. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicNumSentClientHellos" units="units" |
| expires_after="2022-07-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary>The number of client hello messages sent.</summary> |
| </histogram> |
| |
| <histogram name="Net.QuicNumServerConfig.UpdateMessagesIgnored" |
| enum="BooleanIgnored" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary>The number of times ServerConfigUpdateMessages ignored.</summary> |
| </histogram> |
| |
| <histogram name="Net.QuicServerInfo.DiskCacheState" |
| enum="QuicServerConfigState" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The state of the QUIC server information when it's loaded from the disk |
| cache. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.AbortedPendingStreamRequests" |
| units="stream requests" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of pending stream requests aborted when the session is closed. |
| Pending streams are those which could not be created immediately because |
| there were too many active streams. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.AcceptChForOrigin" enum="Boolean" |
| expires_after="2022-05-11"> |
| <owner>bnc@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Records whether the QUIC session received an Accept-CH entry for the given |
| origin, which GetAcceptChViaAlps() returns. Logged every time |
| QuicHttpStream::GetAcceptChViaAlps() is called, typically once for each |
| request that is served over HTTP/3. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.AcceptChFrameReceivedViaAlps" |
| enum="AcceptChEntries" expires_after="2022-05-11"> |
| <owner>bnc@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Records both whether there are any valid origin fields and whether there are |
| any invalid ones in the ACCEPT_CH frame. Logged during the TLS handshake of |
| a QUIC connection if ALPS is negotiated, once for every ACCEPT_CH HTTP/3 |
| frame received (possibly zero, typically not more than one). |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ActiveStreamsOnGoAwayAfterPathDegrading" |
| units="Streams" expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of active streams when the quic session decides to go away on |
| path degrading. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.AsyncRead" enum="Boolean" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| True if the result of reading a packet from the network was ERR_IO_PENDING. |
| Recorded for each packet when Read() returns. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.BlockedFrames.Received" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of BLOCKED frames recevied by a QuicSession when the session is |
| closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.BlockedFrames.Sent" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of BLOCKED frames sent by a QuicSession when the session is |
| closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.CertVerificationResult" enum="NetErrorCodes" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The network error code returned to a QUIC session from the CertVerifier when |
| a certification verification is attempted. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.CertVerifierJob.CompleteTime" |
| units="Milliseconds" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Time spent verifying a certificate when racing cert veriifcation with host |
| resolution. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ClientSideMtu" units="bytes" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The final maximum packet size of the connection used by the client before |
| the session is closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.CloseAllSessionsError" enum="NetErrorCodes" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The network error code which resulted in all sessions being closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ClosedByPublicReset" enum="Boolean" |
| expires_after="2022-05-11"> |
| <owner>wub@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| For a QUIC session that is closed by a public reset, this boolean shows |
| whether it is a public reset sent from a Google server or not. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ClosedByRtoAtClient.ReceivedPacketCount" |
| units="packets" expires_after="2022-05-11"> |
| <owner>wub@chromium.org</owner> |
| <owner>fayang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| For a QUIC session that is closed by QUIC_TOO_MANY_RTOS at client, this is |
| the number of packets it received before it is closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ClosedByRtoAtClient.SentPacketCount" |
| units="packets" expires_after="2022-05-11"> |
| <owner>wub@chromium.org</owner> |
| <owner>fayang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| For a QUIC session that is closed by QUIC_TOO_MANY_RTOS at client, this is |
| the number of packets it sent before it is closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ClosedDuringInitializeSession" enum="Boolean" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| True if the QUIC session is closed during the call to InitializeSession, |
| logged for each session just after InitializeSession is called. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.CloseSessionOnError" enum="NetErrorCodes" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The network error code which resulted in the session being closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.CoalesceStreamFrameStatus" |
| enum="BooleanCoalesced" expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| When a new stream frame is added to a QUIC packet, record whether it's |
| coalesced with the existing stream frames. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.Connect" units="RTTs" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Samples of the number of round-trips needed by a QUIC connection before a |
| request could be sent by the client. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ConnectAfterBroken" enum="BooleanSuccess" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| True if a QUIC connection connected successfully after having been broken. |
| Only emitted after a QUIC connection attempt to a server that was previous |
| marked as broken. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.QuicSession.ConnectionClose.HandshakeFailureBlackHole.QuicError" |
| enum="QuicErrorCodes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The QUIC error which caused a QUIC connection to be closed before the |
| hanshake was confirmed, in the case where no packets were received. This |
| provides a breakdown of the entires in |
| Net.QuicSession.ConnectionClose.HandshakeNotConfirmed.Reason where the value |
| is BLACK_HOLE. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.QuicSession.ConnectionClose.HandshakeFailureUnknown.QuicError" |
| enum="QuicErrorCodes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The QUIC error which caused a QUIC connection to be closed before the |
| hanshake was confirmed, in the case where at least 1 packet was received. |
| This provides a breakdown of the entires in |
| Net.QuicSession.ConnectionClose.HandshakeNotConfirmed.Reason where the value |
| is UNKNOWN. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ConnectionClose.HandshakeNotConfirmed.Reason" |
| enum="QuicHandshakeFailureReason" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary>The reason a QUIC handshake failed.</summary> |
| </histogram> |
| |
| <histogram |
| name="Net.QuicSession.ConnectionClose.NumOpenStreams.HandshakeTimedOut" |
| units="units" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of streams open when a QUIC session crypto handshake timed out. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ConnectionClose.NumOpenStreams.TimedOut" |
| units="units" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary>The number of streams open when a QUIC session timed out.</summary> |
| </histogram> |
| |
| <histogram |
| name="Net.QuicSession.ConnectionClose.NumTotalStreams.HandshakeTimedOut" |
| units="units" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of total streams created when a QUIC session crypto handshake |
| timed out. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ConnectionCloseErrorCodeClient" |
| enum="QuicErrorCodes" expires_after="2022-07-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The QUIC error code which resulted in the QUIC connection being closed by |
| the client. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ConnectionCloseErrorCodeClientGoogle" |
| enum="QuicErrorCodes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The QUIC error code which resulted in the QUIC connection being closed by |
| the client to a Google server. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ConnectionCloseErrorCodeServer" |
| enum="QuicErrorCodes" expires_after="2022-07-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The QUIC error code which resulted in the QUIC connection being closed by |
| the server. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ConnectionCloseErrorCodeServerGoogle" |
| enum="QuicErrorCodes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The QUIC error code which resulted in the QUIC connection being closed by |
| the a Google server. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfApplication" |
| enum="QuicHttp3ErrorCodes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The QUIC application transport error code in a CONNECTION_CLOSE frame |
| received from the server. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfApplicationGoogle" |
| enum="QuicHttp3ErrorCodes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The QUIC application transport error code in a CONNECTION_CLOSE frame |
| received from a Google server. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfApplicationGQuicErrorMissing" |
| enum="QuicHttp3ErrorCodes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The QUIC application transport error code in a CONNECTION_CLOSE frame |
| received from the server, when the GQUIC error was missing. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfApplicationGQuicErrorMissingGoogle" |
| enum="QuicHttp3ErrorCodes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The QUIC application transport error code in a CONNECTION_CLOSE frame |
| received from a Google server, when the GQUIC error was missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfTransport" |
| enum="QuicTransportErrorCodes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The QUIC transport error code in a CONNECTION_CLOSE frame received from the |
| server. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfTransportGoogle" |
| enum="QuicTransportErrorCodes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The QUIC application transport error code in a CONNECTION_CLOSE frame |
| received from a Google server. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfTransportGQuicErrorMissing" |
| enum="QuicTransportErrorCodes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The QUIC transport error code in a CONNECTION_CLOSE frame received from the |
| server, when the GQUIC error was missing. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.QuicSession.ConnectionCloseErrorCodeServerIetfTransportGQuicErrorMissingGoogle" |
| enum="QuicTransportErrorCodes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The QUIC application transport error code in a CONNECTION_CLOSE frame |
| received from a Google server, when the GQUIC error was missing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ConnectionDuration" units="ms" |
| expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The duration of a QUIC connection starting from 1-RTT key available to |
| connection close. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ConnectionDurationWithPublicReset" units="ms" |
| expires_after="2022-05-11"> |
| <owner>fayang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary>Duration of connections received PUBLIC_RESET.</summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ConnectionFlowControlBlocked" |
| enum="BooleanBlocked" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Whether QUIC session's connection is flow control blocked when a PING |
| message is sent to server. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ConnectionIpPooled" enum="Boolean" |
| expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| True if an active session already exists for a given Ip during connection. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ConnectionMigration" |
| enum="QuicConnectionMigrationStatus" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The result of a QUIC connection migration attempt. The suffix specifies the |
| cause of connection migration. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ConnectionMigrationProbeSuccess" |
| enum="BooleanSuccess" expires_after="2021-07-11"> |
| <obsolete> |
| The histogram was marked obsolete Jan 2021, in favor of the new histogram |
| Net.QuicConnection.PathValidationSuccess. |
| </obsolete> |
| <owner>fayang@chromium.org</owner> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The result of connectivity probing according to different migration causes. |
| Recorded for every connectivity probing when attempting connection |
| migrations. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ConnectionStateAfterDNS" |
| enum="ConnectionStateAfterDNS" expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Logs the state of the connection from stale host when fresh dns resolution |
| is completed. This histogram is only valid when race_stale_dns_on_connection |
| experiment is enabled. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ConnectionTypeFromPeer" enum="AddressFamily" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The IP Address family of this connection, as reported by the server. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ConnectionTypeFromSelf" enum="AddressFamily" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary>The IP Address family of this connection, as seen locally.</summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ConnectRandomPortRequiringConfirmation" |
| units="RTTs" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Samples of the number of round-trips needed by a QUIC connection before a |
| request could be sent by the client, when handshake confirmation was |
| required. (The operating system randomly selected a source port for the |
| connection.) |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.CreationError" enum="QuicSessionErrorCodes" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Count of errors during attempts to create a QUIC session (before even using |
| the session). |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.CryptoRetransmitCount.HandshakeConfirmed" |
| units="count" expires_after="2022-05-11"> |
| <owner>fayang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Times of retransmission time out of connections with successful handshake. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.CryptoRetransmitCount.HandshakeNotConfirmed" |
| units="count" expires_after="2022-05-11"> |
| <owner>fayang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Times of crypto retransmission timeout of connections with failed handshake. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.DrainingStreamsOnGoAwayAfterPathDegrading" |
| units="Streams" expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of draining streams when the quic session decides to go away on |
| path degrading. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.DuplicatePacketsReceived" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of duplicate packets recevied by a QuicSession when the session |
| is closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.EncryptionEstablishedTime" |
| units="Milliseconds" expires_after="2022-05-11"> |
| <owner>fayang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The elapsed time between starting the crypto handshake and installing the |
| first encryption key that can carry application data (either 0-RTT or |
| 1-RTT). |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.FinalTcpCwnd" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The value of the TCP cubic sender's CWND when the session is closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.FinchConfigIsValid" enum="Boolean" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Logged every time we parse a QUIC Finch config, and logs whether the config |
| was valid. Invalid configs are most likely to be obsolete configs. Note that |
| this is still logged (as true) when no variations config is present. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.FinchObsoleteVersion" enum="Boolean" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Triggered any time Finch configures an obsolete QUIC version. Only recorded |
| when obsolete versions are not allowed (which is the default). |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.FreshDnsResolutionTime" units="ms" |
| expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The time for a fresh DNS resolution from DoResolveHost to having a fresh DNS |
| result. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.GapBetweenWriteErrorAndNetworkDisconnection" |
| units="ms" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| This measures the time gap between the most recent write error and the |
| network disconnection. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.GoAwayReceivedForConnectionMigration" |
| enum="BooleanReceived" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Whether QuicGoAwayFrame is received from server for connection migration due |
| to client's port change. Logged when a QuicGoAwayFrame with error code |
| QUIC_ERROR_MIGRATING_PORT is received. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.HandshakeConfirmedTime" units="Milliseconds" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The elapsed time between starting the crypto handshake, and receiving |
| confirmation from the server. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.HandshakeStatusOnConnectionMigration" |
| enum="BooleanConfirmed" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The handshake status when the session attempts to migrate the connection |
| according to different migration causes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.HandshakeStatusOnPortMigration" |
| enum="BooleanConfirmed" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The handshake status when the session attempts to port migration on path |
| degrading. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.HandshakeTimeout.PathDegradingDetected" |
| enum="BooleanDetected" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Whether path degrading has been detected by the time a QUIC connection is |
| closed due to handshake timeout. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.HeaderCompressionRatioHpackReceived" units="%" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Header compression ratio as percentage for received headers using HPACK. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.HeaderCompressionRatioHpackSent" units="%" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Header compression ratio as percentage for sent headers using HPACK. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.HeaderCompressionRatioQpackReceived" units="%" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Header compression ratio as percentage for received headers using QPACK. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.HeaderCompressionRatioQpackSent" units="%" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Header compression ratio as percentage for sent headers using QPACK. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.HostResolution.HandshakeConfirmedTime" |
| units="Milliseconds" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The elapsed time between the end of resolving the DNS name of the server for |
| a QUIC connection, and receiving crypto handshake confirmation from the |
| server. Logged after crypto handshake is confirmed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.IncorrectConnectionIDsReceived" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number packets recevied by a QuicSession with an incorrect connection id |
| when the sesesion is closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.InitialRttEsitmateSource" |
| enum="InitialRttEstimateSource" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The source for the initial RTT estimate recorded when a QUIC session is |
| created. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.KeyUpdate.PerConnection" units="count" |
| expires_after="2022-05-11"> |
| <obsolete> |
| Replaced 2020-10-22 with Net.QuicSession.KeyUpdate.PerConnection2 that is |
| only logged for connections which supported key update. |
| </obsolete> |
| <owner>mattm@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of key updates processed per connection, recorded on connection |
| close. Only logged for connections which reached the 1-RTT level. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.KeyUpdate.PerConnection2" units="count" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of key updates processed per connection, recorded on connection |
| close. Only logged for connections which reached the 1-RTT level and |
| supported key update. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.KeyUpdate.PotentialPeerKeyUpdateAttemptCount" |
| units="count" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Count of packets received that appeared to attempt a key update but failed |
| decryption which have been received since the last successfully decrypted |
| packet, recorded on connection close. Only logged for connections which |
| reached the 1-RTT level and supported key update. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.KeyUpdate.Reason" enum="QuicKeyUpdateReason" |
| expires_after="2022-05-11"> |
| <owner>mattm@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary>The reason why each key update occured.</summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.KeyUpdate.Success.{Group}" |
| enum="QuicKeyUpdateSuccess" expires_after="2022-05-11"> |
| <owner>mattm@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Records the success or failure of the last key update for connections where |
| the key update was initiated by the {Group} side. Failure is defined as |
| having sent at least one packet in the new key phase but never receiving an |
| ack for any packet sent in the new key phase before the connection was |
| closed. |
| </summary> |
| <token key="Group"> |
| <variant name="Local"/> |
| <variant name="Remote"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.KeyUpdate.Supported" |
| enum="QuicKeyUpdateSupported" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Whether key update was supported by either or both sides of the connection, |
| recorded on connection close. Only logged for connections which reached the |
| 1-RTT level. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.QuicSession.LastInFlightPacketSentTimeFromHandshakeCompletionWithPublicReset" |
| units="ms" expires_after="2022-05-11"> |
| <owner>fayang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Time from handshake completion to last packet was sent for connections |
| received PUBLIC_RESET. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.LastSentPacketContentBeforePublicReset" |
| units="bitfield value" expires_after="2022-05-11"> |
| <owner>fayang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| A bitfield representing the last sent packet content before connection |
| receives PUBLIC_RESET. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.MaxConsecutiveRtoWithForwardProgress" |
| units="count" expires_after="2022-05-11"> |
| <owner>fayang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Max consecutive retransmission timeout before making forward progress. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.QuicSession.MaxConsecutiveRtoWithForwardProgressAndBlackholeDetected" |
| units="count" expires_after="2022-05-11"> |
| <owner>fayang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Max consecutive retransmission timeout before making forward progress when |
| blackhole has been detected. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.MaxReordering" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The maximum packet sequence number reordering observed by a QUIC connection. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.MaxReorderingTime" units="%" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The ratio of the maximum reordering time of a QUIC packet to the min rtt. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.MaxReorderingTimeLongRtt" units="%" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The ratio of the maximum reordering time of a QUIC packet to the min rtt, |
| only for those sessions with a min rtt larger than 100 ms. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.MigrateToSocketSuccess" enum="Boolean" |
| expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Records whether the migration of the QuicSession to a new socket is |
| successful. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.MinRTT" units="ms" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The minimum RTT observed during the life of a QUIC connection. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.MtuProbesSent" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of MTU probes sent by the client during the session. Logged when |
| the connection is destroyed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.NumActiveStreamsOnIdleTimeout" units="streams" |
| expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of active streams when idle timeout is detected and connection is |
| being closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.NumMigrations" units="units" |
| expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary>The number of successful migrations for a QUIC session.</summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.NumMigrationsExercisedBeforePublicReset" |
| units="migrations" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Number of connection migrations exercised before the connection receives a |
| public reset. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.NumOpenStreams" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of QUIC streams opened when a new QUIC stream is created. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.NumPendingStreamRequests" |
| units="stream requests" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of pending stream requests when a new stream request is added to |
| the pending list. Pending streams are those which could not be created |
| immediately because there were too many active streams. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.NumPingsSent" units="pings" |
| expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of pings a QUIC connection sends during its lifetime. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.NumStreamsWaitingToWriteOnIdleTimeout" |
| units="streams" expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of streams waiting to write when idle timeout is detected and |
| connection is being closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.NumTotalStreams" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The total number of streams created by the client when the session is |
| closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.OutOfOrderGapReceived" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of missing packets between the current received packet and the |
| previously largest received packet sequence number, when the current |
| received packet had a lower sequence number than the previously received |
| packet sequence number. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.OutOfOrderLargePacketsReceived" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of times the current received packet had a lower sequence number |
| than the previously received packet sequence number, and the size of the |
| current packet is larger than the size of the previous packet. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.OutOfOrderPacketsReceived" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of times the current received packet had a lower sequence number |
| than the previously received packet sequence number. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.PacketGapReceived" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of missing packets between the current received packet and the |
| previously largest received packet sequence number. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.PacketGapReceivedNearPing" units="count" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of missing packets between the last received packet before a PING |
| frame sent and the first packet received after PING sent. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.PacketGapSent" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of missing packets between the current received packet and the |
| previously largest received packet sequence number, as reported by the |
| remote end of the connection. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.PacketLossRate" units="1/10th Percent" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The ratio of the number of missing packets, to the maximum packet sequence |
| number received, for QUIC connections longer than 21 packets received via |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.PacketRetransmitsPerMille" units="permille" |
| expires_after="2022-07-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of packets retransmitted per 1000. Only sessions with |
| packets_sent >= 100 are included. Recorded in session destructor. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.PacketWriteTime" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The time taken to Write() a QUIC packet to the socket. Recorded for each |
| packet when it is sent. The suffix specifies if the write completed |
| synchonously or asynchronously. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.PathValidationSuccess" enum="BooleanSuccess" |
| expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The result of path validation according to different migration causes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.PendingStreamsWaitTime" units="ms" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The wait time of the pending stream when it is finally serviced. Pending |
| streams are those which could not be created immediately because there were |
| too many active streams. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.PlatformNotification" |
| enum="QuicPlatformNotification" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The platform notification received by QUIC when network change happens. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.PortMigration" |
| enum="QuicConnectionMigrationStatus" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary>The result of a QUIC port migration attempt.</summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.PreferAesGcm" enum="BooleanPreferred" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| True if the QUIC session prefers to use AES GCM because of hardware support. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ProbingRetryCountUntilSuccess" units="retries" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Number of retries to send connectivity probing packet on new path until |
| success. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ProbingTimeInMillisecondsUntilSuccess" |
| units="ms" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The wait time to receive a matched probing response to mark connectivity |
| probing as successful. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.PublicResetAddressMismatch2" |
| enum="QuicAddressMismatch" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| When a public reset packet is received, whether the client IP address and |
| port number in it differ from the client IP address and port number in the |
| ServerHello handshake message. In the comparison, the first address is the |
| one in ServerHello and the second address is the one in public reset. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.Pushed" units="count" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of push streams received when the session is closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.PushedAndClaimed" units="count" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of pushed and used streams when the session is closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.PushedAndUnclaimedBytes" units="count" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of bytes that is pushed but not used when the session is closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.PushedBytes" units="count" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of bytes that is pushed when the session is closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.Qpack.HeaderListCountWhenBlockedStreamLimited" |
| units="count" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The ordinality of a header list within a connection during the encoding of |
| which unacknowledged dynamic table entries could not be referenced due to |
| the limit on the number of blocked streams. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.Qpack.HeaderListCountWhenInsertionBlocked" |
| units="count" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The ordinality of a header list within a connection during the encoding of |
| which at least one dynamic table insertion was blocked. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.Qpack.HeaderListCountWhenInsertionNotBlocked" |
| units="count" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The ordinality of a header list within a connection during the encoding of |
| which no dynamic table insertion was blocked. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.QuicSession.Qpack.HeaderListCountWhenNotBlockedStreamLimited" |
| units="count" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The ordinality of a header list within a connection during the encoding of |
| which the limit on the number of blocked streams did not prevent referencing |
| unacknowledged dynamic table entries. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.QuicVersion" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary>Version of the QUIC protocol used for this connection.</summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ReadError" enum="NetErrorCodes" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The network error code returned when attempting to read from a QUIC |
| connection. The suffix specifies the condition/source of the read error. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ReadError.CurrentNetwork.HandshakeConfirmed" |
| enum="NetErrorCodes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The network error code returned when attempting to read on the current |
| network from a QUIC connection after handshake has been confirmed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ReceivedSettings.BlockedStreams" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The value of the SETTINGS_QPACK_BLOCKED_STREAMS parameter received on an |
| HTTP/3 connection, if any. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ReceivedSettings.CountPlusOne" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of SETTINGS parameters received on an HTTP/3 connection, |
| incremented by one (the SETTINGS frame can be empty). |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ReceivedSettings.MaxHeaderListSize2" |
| units="bytes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The value of the SETTINGS_MAX_HEADER_LIST_SIZE parameter received on an |
| HTTP/3 connection, if any. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ReceivedSettings.MaxTableCapacity2" |
| units="bytes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The value of the SETTINGS_QPACK_MAX_TABLE_CAPACITY parameter received on an |
| HTTP/3 connection, if any. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ReceivedSettings.ReservedCountPlusOne" |
| units="units" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of reserved SETTINGS parameters (that is, with identifier in the |
| form 0x1f * N + 0x21 for a non-negative integer value of N) received on an |
| HTTP/3 connection, incremented by one (there might be zero reserved |
| identifiers). Defined at |
| https://quicwg.org/base-drafts/draft-ietf-quic-http.html#name-defined-settings-parameters. |
| These should not be treated specially on the receive side, because they are |
| sent to exercise the requirement that unknown identifiers are ignored. Here |
| an exception is made for logging only, to understand what kind of |
| identifiers are received. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.RejectHasProof" enum="Boolean" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| True if the QUIC REJ message received from the server contains a proof. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.RejectLength" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The length in bytes of a QUIC REJ message received from the server. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.RetryAfterWriteErrorCount2" units="retries" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of consecutive times a packet was retried after a write error, |
| using exponential backoff. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.RstStreamErrorCodeClient" |
| enum="QuicRstStreamErrorCodes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The QUIC error code which resulted in a stream being reset by the client. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.RstStreamErrorCodeServer" |
| enum="QuicRstStreamErrorCodes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The QUIC error code which resulted in a stream being reset by the server. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.SecureResourceSecureSession" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of request for secure resources over QUIC sessions. True if the |
| session is secure, false if it is not. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.SelfShloAddressMismatch" |
| enum="QuicAddressMismatch" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| When a SHLO handshake message is received, whether the client IP address and |
| port number in it differ from the local client IP address and port number. |
| In the comparison, the first address is the one in SHLO and the second |
| address is the client IP address. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.SendPacketSize" units="bytes" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The size in bytes of an encrypted QUIC packet sent to the peer at the |
| specified encryption level. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ServerSideMtu" units="bytes" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The largest packet which the client received from the server during the |
| session. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.SmoothedRTT" units="ms" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The final smoothed RTT observed during the life of a QUIC connection. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.StaleAndFreshHostMatched" enum="Boolean" |
| expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| True if fresh host lists contains stale host used in racing connection. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.StaleConnectionTime" units="ms" |
| expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The time a QUIC connection from invalid stale dns result takes to do Crypto |
| handshake. This starts on DoConnect and ends when the connection finishes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.StaleHostRacing" enum="Boolean" |
| expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary>True if the stale host is used in racing connection.</summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.StatelessResetAfterProbingCancelled" |
| enum="BooleanReceived" expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Records when a STATELESS_RESET is received after a connectivity probing is |
| cancelled. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.StatelessResetDuringProbing" |
| enum="BooleanReceived" expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| When probing is cancelled, records whether a STATELESS_RESET is received. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.StopSendingErrorCodeClient" |
| enum="QuicRstStreamErrorCodes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary>The QUIC error code that we sent in a STOP_SENDING frame.</summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.StopSendingErrorCodeServer" |
| enum="QuicRstStreamErrorCodes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The QUIC error code that we received in a STOP_SENDING frame. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.StreamCloseErrorCodeClient.HandshakeConfirmed" |
| enum="QuicErrorCodes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The QUIC error code which resulted in the stream (and connection) being |
| closed by the client after the handshake was confirmed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.StreamCloseErrorCodeServer.HandshakeConfirmed" |
| enum="QuicErrorCodes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The QUIC error code which resulted in the stream (and connection) being |
| closed by the client after the handshake was confirmed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.StreamFlowControlBlocked" |
| enum="BooleanBlocked" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Whether any of QUIC session's streams are flow control blocked when a PING |
| message is sent to server. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.StreamFrameDuplicatedLongConnection" |
| units="1/10th Percent" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of stream frames received which were duplicates, out of every |
| 1000 stream frames received. Only for QUIC sessions which received at least |
| 100 packets. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.StreamFrameDuplicatedPercentLongConnection" |
| units="units" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The percentage of stream frames received which were duplicates. Only for |
| QUIC sessions which received at least 100 packets. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.StreamFrameDuplicatedPercentShortConnection" |
| units="units" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The percentage of stream frames received which were duplicates. Only for |
| QUIC sessions which received fewer than 100 packets. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.StreamFrameDuplicatedShortConnection" |
| units="1/10th Percent" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of stream frames received which were duplicates, out of every |
| 1000 stream frames received. Only for QUIC sessions which received fewer |
| than 100 packets. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.TimedOutWithOpenStreams.ConsecutiveRTOCount" |
| units="units" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| If a QUIC connection timed out with open streams, this contains a count of |
| consecutive RTOs. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.TimedOutWithOpenStreams.ConsecutiveTLPCount" |
| units="units" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| If a QUIC connection timed out with open streams, this contains a count of |
| consecutive TLPs. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.TimedOutWithOpenStreams.HasUnackedPackets" |
| units="units" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| If a QUIC connection timed out with open streams, this will be true when the |
| connection has unacked packets. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.TimedOutWithOpenStreams.LocalPort" |
| units="units" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| If a QUIC connection timed out locally with open streams, this contains the |
| local port number for the connection. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.TimeFromResolveHostToConfirmConnection" |
| units="Milliseconds" expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The time a QuicStreamFactory Job takes from host rersolution to connection |
| confirmation. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.TooManyOpenStreams" enum="BooleanTooMany" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| True if more than 100 streams are open when a new stream is activated. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.TooSmallInitialSentPacket" units="bytes" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| When a QUIC packet is sent at initial encryption that is smaller than the |
| minimum size, this records the size difference (minimum_size - |
| observed_size). |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.UndecryptablePacketsReceived" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of undecryptable packets recevied by a QuicSession when the |
| session is closed. Includes packets where a decryption key was not present. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.UndecryptablePacketsReceivedWithDecrypter" |
| units="units" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of undecryptable packets recevied by a QuicSession when the |
| session is closed. Only includes packets where a decryption key was present |
| for the packet's encryption level. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.UnexpectedNotGoingAway" |
| enum="QuicSessionLocations" expires_after="2022-05-11"> |
| <obsolete> |
| This histogram was removed in Feb 2021, because the corresponded crash has |
| been fixed. |
| </obsolete> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The location in quic_client_session.cc where a session is unexpectedly not |
| going away. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.UnexpectedObservers" |
| enum="QuicSessionLocations" expires_after="2022-05-11"> |
| <obsolete> |
| This histogram was removed in Feb 2021, because the corresponded crash has |
| been fixed. |
| </obsolete> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The location in quic_client_session.cc where there were unexpected |
| observers. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.UnexpectedOpenStreams" |
| enum="QuicSessionLocations" expires_after="2022-05-11"> |
| <obsolete> |
| This histogram was removed in Feb 2021, because the corresponded crash has |
| been fixed. |
| </obsolete> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The location in quic_client_session.cc where there were unexpected open |
| streams. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ValidConnectionTime" units="ms" |
| expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The time a QUIC connection that will be confirmed takes for Crypto |
| handshake. The event starts on DoConnect, and ends when the connection |
| finishes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.VerifyProofTime" units="ms" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Time spent verifying the signature and certificate chain. This is logged |
| whenever QUIC verifies the certificate chain and signature during crypto |
| handshake. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.WriteError" enum="NetErrorCodes" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The network error code returned when attempting to write to a QUIC |
| connection. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.WriteError.HandshakeConfirmed" |
| enum="NetErrorCodes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The network error code returned when attempting to write to a QUIC |
| connection after the handshake has been confirmed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.WriteError.NetworkDisconnected" |
| enum="NetErrorCodes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The most recent network error code when attempting to write to a QUIC |
| connection when the network gets disconnected. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.WritePacketNotReusableReason" |
| enum="QuicNotReusableReason" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The reason QUIC packet writer needed to allocate a new buffer, rather than |
| the expected case of reusing its existing one. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ZeroRttReason" |
| enum="SSLHandshakeEarlyDataReason" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Indicates whether a QUIC handshake attempted or used 0-RTT on the |
| connection, and if 0-RTT was not used, it provides reasons why. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ZeroRttReasonGoogle" |
| enum="SSLHandshakeEarlyDataReason" expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Indicates whether a QUIC handshake attempted or used 0-RTT on the |
| connection, and if 0-RTT was not used, it provides reasons why. Only records |
| connections with Google hosted servers. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ZeroRttReasonNonGoogle" |
| enum="SSLHandshakeEarlyDataReason" expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Indicates whether a QUIC handshake attempted or used 0-RTT on the |
| connection, and if 0-RTT was not used, it provides reasons why. Only records |
| connections with non-Google servers. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ZeroRttState" enum="ZeroRttState" |
| expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary>Whether 0-RTT was successfully used in the connection.</summary> |
| </histogram> |
| |
| <histogram name="Net.QuicStreamFactory.AttemptMigrationBeforeHandshake" |
| enum="BooleanAttempted" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Records if a new connection on the alternate network is attempted when a |
| connection fails before handshake is confirmed. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.QuicStreamFactory.AttemptMigrationBeforeHandshake.FailedConnectionType" |
| enum="NetworkConnectionType" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Connection type of the default network when the connection fails with |
| handshake not confirmed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicStreamFactory.BadPacketLossEvents5" |
| enum="QuicBadPacketLossEvents" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| A count of how often a user hits 1, 2, 3, 4 and 5 bad packet loss events for |
| port 443. Recorded whenever QUIC has bad packet loss (high packet loss on |
| multiple consecutive connections). |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicStreamFactory.ConnectionOnNonDefaultNetwork" |
| enum="BooleanSuccess" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Status of the connection on the non-default network when it finishes. A |
| connection may stay on the non-default network during the initial setup when |
| the platform's default network changes. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicStreamFactory.DefaultNetworkMatch" |
| enum="BooleanMatched" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Records, for initial socket created for each new QUIC connection, whether |
| the bound network matched the default network tracked by QuicStreamFactory. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicStreamFactory.DisabledReasons" |
| enum="QuicDisabledReason" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Rrecords reasons QUIC is disabled (for all ports), if sufficent recent |
| connections experience: public reset post crypto handshake, or timeouts with |
| streams open. QUIC is disabled until the next reboot of Chrome. Logged |
| during session close. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicStreamFactory.DoConnectFailureLocation" |
| enum="JobProtocolErrorLocation" expires_after="2022-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Log the location in QuicStreamFactory where QUIC_PROTOCOL_ERROR is reported. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.QuicStreamFactory.MigrationBeforeHandshake.NewConnectionType" |
| enum="NetworkConnectionType" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Connection type of the alternate network when a connection is about to be |
| attempted when the original connection fails on the default network with |
| handshake not confirmed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicStreamFactory.MigrationBeforeHandshake2" |
| enum="BooleanSuccess" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Status of the connection which is created for migration before handshake is |
| confirmed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicStreamFactory.MigrationBeforeHandshakeFailedReason" |
| enum="NetErrorCodes" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The network error code returned when the retried connection on the alternate |
| network before handshake fails. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.QuicStreamFactory.NetworkChangeDuringMigrationBeforeHandshake" |
| enum="BooleanChanged" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Captures whether the default network has been changed when the new |
| connection succeeds on the "alternate" network. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicStreamFactory.PublicResetsPostHandshake" |
| units="resets" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Captures the maximum number of public resets post handshake that occurred |
| within a window of recent connections (default 20). Will help inform the |
| choice of threshold to disable QUIC for clients that experience pathalogical |
| errors. Logged during session close. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicStreamFactory.QuicIsDisabled" enum="Ports" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Recorded whenever QUIC is disabled for a port due to repeated lossy |
| connections (high packet loss on multiple consecutive connections). QUIC is |
| disabled until next reboot of Chrome. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicStreamFactory.TimeoutsWithOpenStreams" |
| units="timeouts" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Captures the maximum number of connection timeouts with streams open that |
| occurred within a window of recent connections (default 20). Will help |
| inform the choice of threshold to disable QUIC for clients that experience |
| pathalogical errors. Logged during session close. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicTransportClient.ConnectionCloseCodeClient" |
| enum="QuicErrorCodes" expires_after="2022-05-11"> |
| <owner>vasilvv@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The Google QUIC error code which resulted in the QuicTransport connection |
| being closed by the client. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicTransportClient.ConnectionCloseCodeServer" |
| enum="QuicErrorCodes" expires_after="2022-05-11"> |
| <owner>vasilvv@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The Google QUIC error code which resulted in the QuicTransport connection |
| being closed by the server. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicTransportClient.ConnectionError" enum="NetErrorCodes" |
| expires_after="2022-05-11"> |
| <owner>vasilvv@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The error code for cases when QuicTransport failed to establish a |
| connection. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicTransportClient.Error" enum="NetErrorCodes" |
| expires_after="2022-05-11"> |
| <owner>vasilvv@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary>The code for QuicTransport errors.</summary> |
| </histogram> |
| |
| <histogram name="Net.QuicTransportClient.FailedAtConnectState" |
| enum="QuicTransportClientConnectState" expires_after="2022-05-11"> |
| <owner>vasilvv@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The state at which establishing a QuicTransport connection has failed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicTransportClient.FailedAtState" |
| enum="QuicTransportClientState" expires_after="2022-05-11"> |
| <owner>vasilvv@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The state at which the QuicTransportClient has been marked as failed. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.Radio.PossibleWakeupTrigger.{ProtocolType}WriteAnnotationId" |
| enum="TrafficAnnotationUniqueIdHash" expires_after="2022-06-01"> |
| <owner>bashi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Records a traffic annotation ID hash when a write to a {ProtocolType} socket |
| happens and the radio state is dormant. Only recorded on Android. |
| </summary> |
| <token key="ProtocolType"> |
| <variant name="TCP"/> |
| <variant name="UDP"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Net.RedirectChainLength" units="redirects" expires_after="M85"> |
| <owner>csharrison@chromium.org</owner> |
| <owner>rsleevi@chromium.org</owner> |
| <summary> |
| The total number of redirects encountered during processing a URLRequest. |
| This includes redirects generated by servers (for example, 302 Found) and |
| redirects generated internally (for example, HSTS redirects or error pages). |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.RedirectWithUnadvertisedContentEncoding" enum="Boolean" |
| expires_after="M77"> |
| <owner>eustas@chromium.org</owner> |
| <summary> |
| True for redirect responses with unadvertised "Content-Encoding". |
| False for valid redirect responses. See http://crbug.com/714514 |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Reporting.HeaderType" enum="NetReportingHeaderType" |
| expires_after="2022-06-26"> |
| <owner>rodneyding@google.com</owner> |
| <owner>src/net/reporting/OWNERS</owner> |
| <summary> |
| The type of header received for configuring reporting API endpoints, |
| recorded when reporting API headers are successfully parsed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Reporting.ReportOutcome" enum="NetReportingReportOutcome" |
| expires_after="2021-06-25"> |
| <obsolete> |
| Removed July 2021 |
| </obsolete> |
| <owner>chlily@chromium.org</owner> |
| <owner>juliatuttle@chromium.org</owner> |
| <summary> |
| The outcome of Reporting trying to deliver a report, recorded when the |
| report is finally erased from memory. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Reporting.UploadHeaderType" |
| enum="NetReportingUploadHeaderType" expires_after="2022-02-18"> |
| <owner>rodneyding@google.com</owner> |
| <owner>src/net/reporting/OWNERS</owner> |
| <summary> |
| The type of header that produced the endpoint used for uploading reports for |
| the Reporting API, recorded when reports have been succesfully uploaded, |
| counted once for each report. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.ResourceLoader.ReadDeferral" units="ms" |
| expires_after="M77"> |
| <owner>clamy@chromium.org</owner> |
| <summary> |
| When starting a cross-site navigation, the time between reading the headers |
| and body of the response. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.RestrictedCookieManager.CookiePartitionKeyOK" |
| enum="Boolean" expires_after="2022-10-01"> |
| <owner>dylancutler@chromium.org</owner> |
| <owner>src/net/cookies/OWNERS</owner> |
| <summary> |
| Logged whenever a partitioned cookie is set from a renderer process, which |
| can be from either document.cookie or the CookieStore API. True if the |
| partition key was set with the FromScript constructor (used by the |
| CookieStore API) or if the partition key matches the |
| RestrictedCookieManager's internal partition key (which is the case for |
| cookies set/modified by document.cookie). |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.RestrictedCookieManager.PartitionedCookiesInScript" |
| units="cookies" expires_after="2022-12-06"> |
| <owner>dylancutler@chromium.org</owner> |
| <owner>src/net/cookies/OWNERS</owner> |
| <summary> |
| Logs the number of partitioned cookies accessed by a script. Logged only |
| when partitioned cookies are enabled. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.RestrictedCookieManager.SetPartitionedCookie" |
| enum="Boolean" expires_after="2022-12-06"> |
| <owner>dylancutler@chromium.org</owner> |
| <owner>src/net/cookies/OWNERS</owner> |
| <summary> |
| True iff the cookie set by RestrictedCookieManager is a partitioned cookie. |
| Only logged when partitioned cookies are enabled and the cookie set by RCM |
| will be accepted. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.RestrictedCookieManager.SiteForCookiesOK" enum="Boolean" |
| expires_after="2022-06-12"> |
| <owner>morlovich@chromium.org</owner> |
| <owner>src/net/cookies/OWNERS</owner> |
| <summary> |
| Logged on any document.cookie or CookieStore API operation. True if the |
| browser-side site_for_cookies and the render-provided value match. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.RestrictedCookieManager.TopFrameOriginOK" enum="Boolean" |
| expires_after="2022-05-11"> |
| <owner>morlovich@chromium.org</owner> |
| <owner>src/net/cookies/OWNERS</owner> |
| <summary> |
| Logged on any document.cookie or CookieStore API operation. True if the |
| browser-side top_frame_origin and the render-provided value match. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.SameSiteBlockedCookieSiteEngagement.CookieInsecureAndSameSiteNone" |
| enum="SiteEngagementLevel" expires_after="2020-12-31"> |
| <obsolete> |
| Removed July 2021. |
| </obsolete> |
| <owner>chlily@chromium.org</owner> |
| <owner>morlovich@chromium.org</owner> |
| <summary> |
| The site engagement level of a frame that triggers the |
| CookieInsecureAndSameSiteNone warning, whether the cookie was actually |
| blocked or not. Recorded every time one or more cookies triggers the |
| warning. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SameSiteBlockedCookieSiteEngagement.CookieNoSameSite" |
| enum="SiteEngagementLevel" expires_after="2021-11-21"> |
| <obsolete> |
| Removed July 2021. |
| </obsolete> |
| <owner>chlily@chromium.org</owner> |
| <owner>morlovich@chromium.org</owner> |
| <summary> |
| The site engagement level of a frame that triggers the CookieNoSameSite |
| warning, whether the cookie was actually blocked or not. Recorded every time |
| one or more cookies triggers the warning. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SiteDomainIsSafe" enum="Boolean" expires_after="M95"> |
| <obsolete> |
| Removed November 2021. |
| </obsolete> |
| <owner>mmenke@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Whether the origin passed to SchemefulSite's constructor is safe or not. |
| "Unsafe" sites have an eTLD+1 that is not a canonical hostname. |
| e.g., "http://foo.127.1/" has an eTLD+1 of "127.1", but |
| the canonical form of "http://127.1" is |
| "http://127.0.0.1". Logged for all origins with network hosts |
| (http, https, ws, etc). See https://crbug.com/1157010. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SocketUnchangeableReceiveBuffer" units="Bytes" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| The size of a socket's receive buffer when the attempt to change it via |
| setsockopt failed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SocketUnchangeableSendBuffer" units="Bytes" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| The size of a socket's send buffer when the attempt to change it via |
| setsockopt failed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SpdyFrameStreamAndSessionFlowControlState" |
| enum="SpdyFrameFlowControlState" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| The counts of the flow control state of each frame (with stream and session |
| flow control on). |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SpdyHeadersCompressionPercentage" units="%" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| The percent compression achieved when compressing HEADERS frames. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SpdyHpackDecompressionPercentage" units="%" |
| expires_after="2022-05-11"> |
| <obsolete> |
| Removed in M53. |
| </obsolete> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| The compression percentage in received HPACK compressed header frames. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SpdyIPPoolDomainMatch" enum="SpdyIPPoolDomainMatch" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Status of checking if a SPDY domain can handle a IP match. If a match is |
| found, we successfully used the IP Pooling. If a match is not found, we |
| could have used IP Pooling, except the TLS Cert didn't match the IP-pooled |
| domain. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SpdyPushedStreamFate" enum="SpdyPushedStreamFate" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| This histogram is recorded exactly once for every PUSH_PROMISE frame |
| received on an HTTP/2 connection, and tracks the fate of the pushed stream. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SpdyResponseCode" enum="HttpResponseCode" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| HTTP status codes received in HTTP/2 HEADERS frames. If a stream contains |
| one or more informational (1xx) response preceeding the main response, each |
| status code is logged separately. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SpdySession.AcceptChForOrigin" enum="Boolean" |
| expires_after="2022-05-11"> |
| <owner>bnc@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Records whether the HTTP/2 session received an Accept-CH entry for the given |
| origin, which GetAcceptChViaAlps() returns. Logged every time |
| SpdyHttpStream::GetAcceptChViaAlps() is called, typically once for each |
| request that is served over HTTP/2. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SpdySession.AlpsAcceptChEntries" enum="AcceptChEntries" |
| expires_after="2022-05-11"> |
| <owner>bnc@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Records both whether there are any valid origin fields and whether there are |
| any invalid ones in ACCEPT_CH frames. Logged once for each TLS handshake of |
| a HTTP/2 connection if ALPS is negotiated, regardless of the number of |
| ACCEPT_CH frames received in ALPS. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SpdySession.AlpsDecoderStatus" enum="AlpsDecoderError" |
| expires_after="2022-05-11"> |
| <owner>bnc@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Records the status (OK or error code) returned by AlpsDecoder when parsing |
| ALPS data. Logged once for each TLS handshake of a HTTP/2 connection if ALPS |
| is negotiated. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SpdySession.AlpsSettingParameterCount" units="parameters" |
| expires_after="2022-05-11"> |
| <owner>bnc@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Records the total number of setting parameters received in SETTINGS frames |
| in ALPS. Logged once for each TLS handshake of a HTTP/2 connection if ALPS |
| is negotiated, regardless of the number of SETTINGS frames received in ALPS. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SpdySession.ClosedOnError" enum="NetErrorCodes" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary>Net error codes when SpdySession was closed.</summary> |
| </histogram> |
| |
| <histogram name="Net.SpdySession.CreateStreamWithSocketConnected" |
| enum="BooleanSuccess" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary>Socket connected status in SpdySession::CreateStream.</summary> |
| </histogram> |
| |
| <histogram name="Net.SpdySession.GoAwayReceived" enum="Http2WireErrorCodes" |
| expires_after="2022-05-11"> |
| <owner>bnc@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Records the error code value received in each HTTP/2 GOAWAY frame. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SpdySession.PushedAndUnclaimedBytes" units="count" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| The number of bytes that is pushed but not used when the session is closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SpdySession.PushedBytes" units="count" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| The number of bytes that is pushed when the session is closed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SpdySession.ServerSupportsWebSocket" units="Boolean" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Whether the server has advertised support for WebSockets over HTTP/2. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SpdySessionErrorDetails2" enum="SpdyProtocolErrorDetails2" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary>The type of SPDY Protocol error encountered.</summary> |
| </histogram> |
| |
| <histogram name="Net.SpdySessionErrorDetails_Google2" |
| enum="SpdyProtocolErrorDetails2" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| WARNING: r181910 added an enum value in the middle, so don't trust the |
| counts for values 9 and above for Chrome builds after that revision. |
| |
| The type of SPDY Protocol error encountered when talking to a google.com |
| server. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SpdySessionGet" enum="SpdySessionGet" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary>The type of SPDY Session used when looking up a session.</summary> |
| </histogram> |
| |
| <histogram name="Net.SpdySessionGetPeerAddressNotConnected" |
| enum="BooleanSuccess" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Whether SpdySession::Get{Peer,Local}Address was called when the connection |
| had no socket. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SpdyStreamsAbandonedPerSession" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| The number of pushed, but abandoned streams over a single session. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SpdyStreamsPerSession" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary>The number of streams issued over a single session.</summary> |
| </histogram> |
| |
| <histogram name="Net.SpdyStreamsPushedAndClaimedPerSession" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| The number of pushed, and used streams over a single session. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SpdyStreamsPushedPerSession" units="units" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary>The number of push streams received over a single session.</summary> |
| </histogram> |
| |
| <histogram name="Net.SSL_CipherSuite" enum="SSLCipherSuite" |
| expires_after="never"> |
| <!-- expires-never: Used to keep track of the TLS ecosystem. --> |
| |
| <owner>agl@chromium.org</owner> |
| <owner>rsleevi@chromium.org</owner> |
| <summary> |
| The SSL/TLS cipher suite that was negotiated. Recorded for each SSL/TLS |
| connection in the socket pool where Connect() succeeds. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SSL_Connection_Error" enum="NetErrorCodes" |
| expires_after="never"> |
| <!-- expires-never: Used to keep track of the TLS ecosystem. --> |
| |
| <owner>agl@chromium.org</owner> |
| <summary> |
| Counts of specific error codes returned when opening an SSL connection. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SSL_Connection_Error_TLS13Experiment" enum="NetErrorCodes" |
| expires_after="M78"> |
| <obsolete> |
| Removed April 2021 |
| </obsolete> |
| <owner>svaldez@chromium.org</owner> |
| <summary> |
| Counts of specific error codes returned when opening an SSL connection for |
| an endpoint we are using in the initial TLS 1.3 deployment. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SSL_Connection_Latency_2" units="ms" expires_after="never"> |
| <!-- expires-never: Used to keep track of the TLS ecosystem. --> |
| |
| <owner>agl@chromium.org</owner> |
| <summary>Time from when the Connect() starts until it completes.</summary> |
| </histogram> |
| |
| <histogram name="Net.SSL_Connection_Latency_TLS13Experiment" units="ms" |
| expires_after="M85"> |
| <obsolete> |
| Removed April 2021 |
| </obsolete> |
| <owner>svaldez@chromium.org</owner> |
| <summary> |
| Time from when the Connect() starts until it completes for a set of domains |
| that we are using in the initial TLS 1.3 deployment. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SSL_KeyExchange.ECDHE" enum="ECDHECurves" |
| expires_after="never"> |
| <!-- expires-never: Used to keep track of the TLS ecosystem. --> |
| |
| <owner>agl@chromium.org</owner> |
| <owner>rsleevi@chromium.org</owner> |
| <owner>sigbjorn@opera.com</owner> |
| <summary> |
| The curve used for key exchange for ECDHE. Recorded for each SSL/TLS |
| connection in the socket pool where Connect() succeeds. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SSLCertVerificationTime" units="ms" expires_after="M89"> |
| <owner>rsleevi@chromium.org</owner> |
| <summary>Time to complete a certificate verification (success case).</summary> |
| </histogram> |
| |
| <histogram name="Net.SSLCertVerificationTimeError" units="ms" |
| expires_after="M89"> |
| <owner>rsleevi@chromium.org</owner> |
| <summary>Time to complete a certificate verification (error case).</summary> |
| </histogram> |
| |
| <histogram name="Net.SSLClientCertSignatureAlgorithm" |
| enum="SSLSignatureAlgorithm" expires_after="2022-12-31"> |
| <owner>davidben@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| For each non-resumption TLS handshake that sends a client certificate, the |
| signature algorithm used by the client. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SSLHandshakeDetails" enum="SSLHandshakeDetails" |
| expires_after="2022-06-19"> |
| <owner>davidben@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| For each successful TLS handshake, what kind of handshake was used. This |
| metric distinguishes TLS 1.2 (or earlier) and TLS 1.3 as they have very |
| different resumption and round-trip behaviors. It also distinguishes full |
| handshakes, resumption, 0-RTT, and False Start. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SSLHandshakeEarlyDataReason" |
| enum="SSLHandshakeEarlyDataReason" expires_after="2022-05-11"> |
| <owner>davidben@chromium.org</owner> |
| <owner>svaldez@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Indicates whether a TLS 1.3 connection ended up using 0-RTT or not, and why; |
| this includes reasons such as the server declining to resume the connection |
| and the client not having enough tickets available. This metric is only |
| recorded if 0-RTT supported is enabled in the client. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SSLHandshakeEarlyDataReason.Google" |
| enum="SSLHandshakeEarlyDataReason" expires_after="2022-06-12"> |
| <owner>davidben@chromium.org</owner> |
| <owner>trusty-transport@chromium.org</owner> |
| <summary> |
| Indicates whether a TLS 1.3 connection to a Google host ended up using 0-RTT |
| or not, and why; this includes reasons such as the server declining to |
| resume the connection and the client not having enough tickets available. |
| This metric is only recorded if 0-RTT supported is enabled in the client. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SSLKeyLogFileUse" enum="SSLKeyLogFileAction" |
| expires_after="M92"> |
| <owner>cthomp@chromium.org</owner> |
| <owner>security-enamel@chromium.org</owner> |
| <summary> |
| Counts when the SSLKEYLOGFILE environment variable or --ssl-key-log-file |
| command-line flag are set, and when they enable the SSLKeyLogger feature. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SSLLegacyCryptoFallback" enum="SSLLegacyCryptoFallback" |
| expires_after="2022-06-19"> |
| <owner>davidben@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| For each TLS connection, whether it needed the legacy crypto fallback and a |
| classification as to why. See https://crbug.com/658905 and |
| https://crbug.com/691888. Note some connections are reported as sending |
| SHA-1 certificates because, although SHA-1 is no longer accepted in |
| certificates, servers may send unused certificates in the handshake. Some |
| such servers additionally match their certificate chains against the |
| ClientHello. These servers require the client advertise legacy algorithms |
| despite not actually using them. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SSLNegotiatedAlpnProtocol" |
| enum="SSLNegotiatedAlpnProtocol" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| For each TLS handshake, whether ALPN was negotiated; and if so, the |
| negotiated protocol. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SSLRenegotiationInfoSupported" enum="BooleanSupported" |
| expires_after="2022-12-31"> |
| <owner>davidben@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| For each TLS handshake, whether the server supports the renegotiation_info |
| extension (RFC 5746). If the server negotiated TLS 1.3, which removed |
| renegotiation, it is considered to support the extension. Servers that do |
| not support it are potentially vulnerable to an attack involving TLS |
| renegotiation. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SSLRSAKeyUsage.UnknownRoot" enum="RSAKeyUsage" |
| expires_after="2022-07-03"> |
| <owner>davidben@chromium.org</owner> |
| <summary> |
| For each TLS connection which uses a unknown root, an RSA key, and TLS 1.2 |
| or below, what the result of checking the RSA key usage would have been. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SSLSignatureAlgorithm" enum="SSLSignatureAlgorithm" |
| expires_after="never"> |
| <!-- expires-never: Used to keep track of the TLS ecosystem. --> |
| |
| <owner>davidben@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| For each SSL connection with a full handshake using a DHE- or ECDHE-based |
| key exchange, the signature algorithm used to authenticate the peer. In TLS |
| 1.2, this is the signature on the ServerKeyExchange message. (Note: Although |
| the ECDSA values specify a curve, the curve is only enforced in TLS 1.3.) |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SSLVersion" enum="SSLOrQUICVersion" expires_after="never"> |
| <!-- expires-never: Used to keep track of the TLS ecosystem. --> |
| |
| <owner>davidben@chromium.org</owner> |
| <summary> |
| The SSL/TLS version that was negotiated. Recorded for each SSL/TLS |
| connection in the socket pool where Connect() succeeds. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SSLVersionGoogle" enum="SSLOrQUICVersion" |
| expires_after="2022-05-11"> |
| <owner>davidben@chromium.org</owner> |
| <owner>rsleevi@chromium.org</owner> |
| <summary> |
| The SSL/TLS version that was negotiated to a Google host. Recorded for each |
| appplicable SSL/TLS connection in the socket pool where Connect() succeeds. |
| Google servers all support TLS 1.2, so any occurrences of TLS 1.0 or TLS 1.1 |
| indicate an outdated insecure TLS MITM proxy, such as some antivirus |
| configurations. TLS 1.0 and 1.1 are deprecated, so record these to see how |
| prevalent they are. See https://crbug.com/896013. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.TCP_Connection_Latency" units="ms" expires_after="never"> |
| <!-- expires-never: Core network stack health metric --> |
| |
| <owner>mmenke@chromium.org</owner> |
| <summary> |
| Time from when the Connect() starts until it completes. Only times under 10 |
| minutes are logged. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.TCP_Connection_Latency_IPv4_No_Race" units="ms" |
| expires_after="M85"> |
| <owner>mgersh@chromium.org</owner> |
| <summary> |
| Time from when the Connect() starts until it completes when the network |
| address only contains IPv4 addresses. Only times under 10 minutes are |
| logged. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.TCP_Connection_Latency_IPv4_Wins_Race" units="ms" |
| expires_after="M85"> |
| <owner>mgersh@chromium.org</owner> |
| <summary> |
| Time from when the Connect() starts until it completes when the IPv4 |
| fallback connection won the race against IPv6. Only times under 10 minutes |
| are logged. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.TCP_Connection_Latency_IPv6_Raceable" units="ms" |
| expires_after="M85"> |
| <owner>mgersh@chromium.org</owner> |
| <summary> |
| Time from when the Connect() starts until it completes when we race an IPv6 |
| connection against an IPv4 connection with a 300ms delay. Only times under |
| 10 minutes are logged. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.TCP_Connection_Latency_IPv6_Solo" units="ms" |
| expires_after="M85"> |
| <owner>mgersh@chromium.org</owner> |
| <summary> |
| Time from when the Connect() starts until it completes when the network |
| address only contains IPv6 addresses. Only times under 10 minutes are |
| logged. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.TcpConnectAttempt.Latency.Error" units="ms" |
| expires_after="2022-07-12"> |
| <owner>bashi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Time taken when failed to establish a TCP connection to an individual |
| endpoint. This includes the case when the attempt was aborted by a higher |
| layer (likely because it took too long). |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.TcpConnectAttempt.Latency.Success" units="ms" |
| expires_after="2022-07-12"> |
| <owner>bashi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Time taken to successfully establish a TCP connection to an individual |
| endpoint. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.TcpConnectAttempt.LatencyPercentRTT.Error" units="%" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Time taken when failed to establish a TCP connection to an individual |
| endpoint, expressed as a multiple of the transport RTT. This includes the |
| case when the attempt was aborted by a higher layer (likely because it took |
| too long). This may have fewer samples than Net.TcpConnectAttempt.Latency.* |
| in cases where the network quality estimation was unknown. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.TcpConnectAttempt.LatencyPercentRTT.Success" units="%" |
| expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Time taken to successfully establish a TCP connection to an individual |
| endpoint, expressed as a multiple of the transport RTT. This may have fewer |
| samples than Net.TcpConnectAttempt.Latency.* in cases where the network |
| quality estimation was unknown. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.TcpRtt.AtDisconnect" units="ms" expires_after="M85"> |
| <owner>bmcquade@chromium.org</owner> |
| <summary> |
| The kernel's estimated TCP round trip time. Recorded for each TCP socket, at |
| the time it is disconnected. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Net.TrustTokens.FetchFailedReason" |
| enum="FetchFailedReasonOrResourceRequestBlockedReason" |
| expires_after="2021-03-30"> |
| <obsolete> |
| This was a temporary addition used for debugging during M88. |
| </obsolete> |
| <!-- Name completed by histogram_suffixes name="TrustTokenOperationType" --> |
| |
| <owner>davidvc@chromium.org</owner> |
| <owner>yhirano@chromium.org</owner> |
| <owner>privacy-sandbox-dev@chromium.org</owner> |
| <summary> |
| A descriptive reason why a Fetch API call with an associated Trust Tokens |
| operation failed. This might help debug a surfeit of 'TypeError: failed to |
| fetch' observed in live testing. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.TrustTokens.IssuanceHelperLocalFulfillResult" |
| enum="FulfillTrustTokenIssuanceAnswerStatus" expires_after="2022-01-15"> |
| <owner>davidvc@chromium.org</owner> |
| <owner>privacy-sandbox-dev@chromium.org</owner> |
| <summary> |
| For locally diverted platform-provided trust token issuance requests, the |
| results of the LocalOperationDelegate issuance delegation call. This is a |
| liveness metric that allows verifying that platform-provided trust token |
| issuance is working during the feature's initial rollout (and, if it isn't, |
| that helps debug the failures). |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Net.TrustTokens.NetErrorForFetchFailure" |
| enum="NetErrorCodes" expires_after="2022-06-26"> |
| <!-- Name completed by histogram_suffixes name="TrustTokenOperationType" --> |
| |
| <owner>davidvc@chromium.org</owner> |
| <owner>yhirano@chromium.org</owner> |
| <owner>privacy-sandbox-dev@chromium.org</owner> |
| <summary> |
| The net error for a failed Fetch API call with an associated Trust Tokens |
| operation. This was originally added to help debug a surfeit of 'TypeError: |
| failed to fetch' observed in live testing, and it is now retained since it's |
| useful for ongoing health monitoring. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Net.TrustTokens.NetErrorForTrustTokenOperation" |
| enum="NetErrorCodes" expires_after="2022-06-26"> |
| <!-- Name completed by histogram_suffixes name="TrustTokenOperationType" --> |
| |
| <owner>davidvc@chromium.org</owner> |
| <owner>privacy-sandbox-dev@chromium.org</owner> |
| <summary> |
| The //net status codes for resource requests that had started Trust Tokens |
| operations. This captures the reasons why requests with Trust Tokens |
| operations fail and might help debug a surfeit of "TypeError: failed to |
| fetch" observed in live testing. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.TrustTokens.Operation{TimeSpan}Time.{Outcome}.{Type}{OptionalPlatformProvided}" |
| units="ms" expires_after="2022-01-15"> |
| <owner>davidvc@chromium.org</owner> |
| <owner>privacy-sandbox-dev@chromium.org</owner> |
| <summary> |
| Time taken to execute various parts of a Trust Tokens operation: 1. Begin = |
| time taken to execute the operation's outbound Begin half 2. Server = time |
| from the end of the outbound Begin half to the beginning of the inbound |
| Finalize half 3. Finalize = time taken to execute the inbound Finalize half |
| 4. Total = Begin + Server + Finalize (only recorded for operations that see |
| server responses) |
| |
| The other variants (see histogram_suffixes_list's TrustTokenOperationType |
| entry): 1. Outcome (Success or Failure) 2. The type of Trust Tokens |
| operation 3. Whether the operation was platform-provided (i.e. executed by a |
| method other than a direct HTTP request to the issuer's server) |
| </summary> |
| <token key="TimeSpan"> |
| <variant name="Begin"/> |
| <variant name="Finalize"/> |
| <variant name="Server"/> |
| <variant name="Total"/> |
| </token> |
| <token key="Outcome"> |
| <variant name="Failure"/> |
| <variant name="Success"/> |
| </token> |
| <token key="Type"> |
| <variant name="Issuance"/> |
| <variant name="Redemption"/> |
| <variant name="Signing"/> |
| </token> |
| <token key="OptionalPlatformProvided"> |
| <variant name=""/> |
| <variant name=".PlatformProvided"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Net.TrustTokens.RedemptionRequestEmpty" enum="BooleanEmpty" |
| expires_after="2022-01-15"> |
| <owner>davidvc@chromium.org</owner> |
| <owner>privacy-sandbox-dev@chromium.org</owner> |
| <summary> |
| Whether the Trust Tokens redemption logic received an empty redemption |
| request string from its underlying cryptographic library. If this is always |
| true, but servers occasionally see empty redemption request headers, it |
| might suggest middleware (namely extensions) is removing the headers' |
| values. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Net.TrustTokens.RequestHelperFactoryOutcome" |
| enum="TrustTokenRequestHelperFactoryOutcome" expires_after="2022-06-26"> |
| <!-- Name completed by histogram_suffixes name="TrustTokenOperationType" --> |
| |
| <owner>davidvc@chromium.org</owner> |
| <owner>privacy-sandbox-dev@chromium.org</owner> |
| <summary> |
| For resource requests that bear Trust Tokens parameters, the results of |
| running TrustTokenRequestHelperFactory to initialize Trust Tokens handling |
| logic. This might help debug a surfeit of failed Trust Tokens issuance |
| operations observed in live testing. |
| </summary> |
| </histogram> |
| |
| <histogram |
| name="Net.TrustTokens.SubresourceOperationRequiringFeaturePolicy.PolicyIsConsistentWithBrowserOpinion" |
| enum="BooleanConsistent" expires_after="2021-09-30"> |
| <obsolete> |
| Removed from code 2021-02. |
| </obsolete> |
| <owner>davidvc@chromium.org</owner> |
| <owner>privacy-sandbox-dev@chromium.org</owner> |
| <summary> |
| For a Trust Tokens operation associated with a subresource request, stores |
| whether the browser believed the frame had the Feature Policy feature |
| necessary for executing the operation. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.UdpSocketRandomBindErrorCode" enum="NetErrorCodes" |
| expires_after="M77"> |
| <owner>mgersh@chromium.org</owner> |
| <summary>Chromium error code from call to RandomBind() UDP socket.</summary> |
| </histogram> |
| |
| <histogram name="Net.UDPSocketWinClose" units="ms" expires_after="2022-05-11"> |
| <owner>dschinazi@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary>The time spent in closesocket call in UDPSocketWin::Close.</summary> |
| </histogram> |
| |
| <histogram name="Net.Url.HostSafetyStatus" enum="HostSafetyStatus" |
| expires_after="2021-08-30"> |
| <obsolete> |
| Removed from code 2021-07. |
| </obsolete> |
| <owner>mmenke@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Logged each time url/ canonicalizes a hostname with a numeric TLD that's not |
| an IPv4 hostname. Unlike other histograms that record HostSafetyStatus, this |
| one does not record the OK bucket, since it's both not terribly meaningful |
| and URLs are canonicalized so frequently. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.URLLoaderThrottleDeferTime.WillProcessResponse.{Throttle}" |
| units="ms" expires_after="2022-03-13"> |
| <owner>cduvall@chromium.org</owner> |
| <owner>jam@chromium.org</owner> |
| <summary> |
| Measures time {Throttle} deferred a request on WillProcessResponse. Logged |
| every time {Throttle} defers a request. |
| </summary> |
| <token key="Throttle" variants="WillProcessResponseThrottleNames"/> |
| </histogram> |
| |
| <histogram name="Net.URLLoaderThrottleDeferTime.WillStartRequest.{Throttle}" |
| units="ms" expires_after="2022-03-13"> |
| <owner>cduvall@chromium.org</owner> |
| <owner>jam@chromium.org</owner> |
| <summary> |
| Measures time {Throttle} deferred a request on WillStartRequest. Logged |
| every time {Throttle} defers a request. |
| </summary> |
| <token key="Throttle" variants="WillStartRequestThrottleNames"/> |
| </histogram> |
| |
| <histogram name="Net.URLLoaderThrottleDeferTime.{Stage}" units="ms" |
| expires_after="2022-03-14"> |
| <owner>cduvall@chromium.org</owner> |
| <owner>jam@chromium.org</owner> |
| <summary> |
| Measures time a URLLoaderThrottle was deferred when on {Stage}. Logged every |
| time a throttle defers a request. |
| </summary> |
| <token key="Stage" variants="URLLoaderThrottleStages"/> |
| </histogram> |
| |
| <histogram name="Net.URLLoaderThrottleExecutionTime.{Stage}" units="ms" |
| expires_after="2022-03-14"> |
| <owner>cduvall@chromium.org</owner> |
| <owner>jam@chromium.org</owner> |
| <summary> |
| Measures time a URLLoaderThrottle took to execute {Stage}. Logged every time |
| a throttle runs. |
| </summary> |
| <token key="Stage" variants="URLLoaderThrottleStages"/> |
| </histogram> |
| |
| <histogram name="Net.URLRequest.ReferrerHasInformativePath" |
| enum="BooleanPathIsInformative" expires_after="2022-05-31"> |
| <!-- Name completed by histogram_suffixes name="ReferrerPolicySameOrigin" --> |
| |
| <owner>davidvc@chromium.org</owner> |
| <owner>kaustubhag@chromium.org</owner> |
| <summary> |
| Records for each URLRequest whether its referrer contains more information |
| than just its origin (this is the case exactly when it has at least one |
| character apart from a leading slash in its path, e.g. http://example.com/a |
| but not http://example.com/ nor http://example.com). |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.URLRequest.ReferrerPolicyForRequest" |
| enum="URLRequestReferrerPolicy" expires_after="2022-05-31"> |
| <!-- Name completed by histogram_suffixes name="ReferrerPolicySameOrigin" --> |
| |
| <owner>davidvc@chromium.org</owner> |
| <owner>kaustubhag@chromium.org</owner> |
| <summary> |
| Records the distribution of referrer policies provided with outgoing |
| URLRequests, and whether or not the requests were cross-origin. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.URLRequest.ReferrerPolicyHeaderPresentOnRedirect" |
| enum="BooleanPresent" expires_after="M85"> |
| <obsolete> |
| Expired in M85, code removed in M98 |
| </obsolete> |
| <owner>estark@chromium.org</owner> |
| <summary> |
| Records the usage of the Referrer-Policy header on redirect responses. This |
| histogram is recorded on each HTTP redirect response, with the value true if |
| a Referrer-Policy header was present and false otherwise. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.WebSocket.CloseCode" enum="WebSocketCloseCode" |
| expires_after="2021-07-01"> |
| <obsolete> |
| Removed July 2021. |
| </obsolete> |
| <owner>ricea@chromium.org</owner> |
| <owner>yhirano@chromium.org</owner> |
| <owner>yoichio@chromium.org</owner> |
| <summary> |
| Records the status code with which WebSockets are closed. Logged once for |
| every successfully opened WebSocket. Includes codes "No Status |
| Rcvd" and "Abnormal Closure" which are never sent over the |
| wire but generated internally. See RFC6455 section 7.4.1 for the meanings of |
| the codes. Newer codes are documented at |
| https://www.iana.org/assignments/websocket/websocket.xhtml#close-code-number. |
| Codes that have not been standardised are bucketed to save storage space. |
| Used to determine if changes in framing change the error rate. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.WebSocket.ErrorCodes" enum="NetErrorCodes" |
| expires_after="never"> |
| <!-- expires-never: needed for long-term tracking of ecosystem --> |
| |
| <owner>yhirano@chromium.org</owner> |
| <owner>ricea@chromium.org</owner> |
| <summary> |
| Positive net error codes that WebSockets end with, including OK and ABORTED. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.WebSocket.HandshakeResult2" |
| enum="WebSocketHandshakeResult2" expires_after="never"> |
| <!-- expires-never: needed for long-term tracking of ecosystem --> |
| |
| <owner>yhirano@chromium.org</owner> |
| <owner>ricea@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Results of WebSocket handshakes, including information whether the handshake |
| happened over HTTP/2. Use this histogram as a baseline for investigating |
| feature usage counters. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.WebSocket.ResponseCode" enum="HttpResponseCode" |
| expires_after="never"> |
| <!-- expires-never: needed for long-term tracking of ecosystem --> |
| |
| <owner>yhirano@chromium.org</owner> |
| <owner>ricea@chromium.org</owner> |
| <summary>All HTTP status codes seen during WebSocket handshakes.</summary> |
| </histogram> |
| |
| </histograms> |
| |
| </histogram-configuration> |