| <!-- |
| Copyright 2020 The Chromium Authors |
| 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="DnsOverHttpsSecure"> |
| <variant name="Insecure" summary="DoH is not enabled"/> |
| <variant name="Secure" summary="DoH is enabled"/> |
| </variants> |
| |
| <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="2023-05-27"> |
| <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 name="HttpCache.AddTransactionToEntry" units="ms" |
| expires_after="2023-05-14"> |
| <owner>bashi@chromium.org</owner> |
| <owner>net-dev@chromium.org</owner> |
| <summary> |
| The time taken an HttpCache::Transaction to be added to ActiveEntry. It |
| roughly captures time to acquire a write lock for an disk cache. Recorded |
| every time a transaction (re)starts. Not recorded if the cache is |
| memory-backed. |
| </summary> |
| </histogram> |
| |
| <histogram name="HttpCache.BeforeSend" units="ms" expires_after="2023-06-04"> |
| <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.BlockfileWriteInUserBuffer" enum="Boolean" |
| expires_after="2023-06-11"> |
| <owner>jam@chromium.org</owner> |
| <owner>swarm-team@google.com</owner> |
| <summary> |
| Records whether a write operation in the blockfile implementation used the |
| in-memory user-buffer or went to disk. This is emitted each time a write |
| operation to the disk cache occurs. |
| </summary> |
| </histogram> |
| |
| <histogram name="HttpCache.CreateDiskEntry" units="ms" |
| expires_after="2023-06-18"> |
| <owner>yhirano@chromium.org</owner> |
| <owner>net-dev@chromium.org</owner> |
| <summary> |
| The time taken to create a disk cache entry. Recorded when the entry is |
| created for the first time in the HttpCacheTransaction. Not recorded if the |
| cache is memory-backed. |
| </summary> |
| </histogram> |
| |
| <histogram name="HttpCache.IsNoStore{Type}" enum="Boolean" |
| expires_after="2023-04-28"> |
| <owner>bashi@chromium.org</owner> |
| <owner>blink-network-stack@google.com</owner> |
| <summary> |
| Whether or not a response has `Cache-Control: no-store`. Recorded when a |
| HTTP transaction is finished. This histogram is for {Type}. |
| </summary> |
| <token key="Type"> |
| <variant name="" summary="all request types"/> |
| <variant name=".MainFrameHTML" summary="main frame requests"/> |
| </token> |
| </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.OpenDiskEntry" units="ms" expires_after="2023-06-18"> |
| <owner>yhirano@chromium.org</owner> |
| <owner>net-dev@chromium.org</owner> |
| <summary> |
| The time taken to open a disk cache entry. Recorded when the entry is |
| created for the first time in the HttpCacheTransaction. Not recorded if the |
| cache is memory-backed. |
| </summary> |
| </histogram> |
| |
| <histogram name="HttpCache.Pattern" enum="HttpCachePattern" |
| expires_after="2023-07-09"> |
| <owner>morlovich@chromium.org</owner> |
| <owner>jkarlin@chromium.org</owner> |
| <summary>For each http cache transaction, the recorded pattern.</summary> |
| </histogram> |
| |
| <histogram name="HttpCache.PrefetchFirstReuseTime" units="ms" |
| expires_after="2023-07-02"> |
| <owner>nrosenthal@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| The time between the prefetch has been saved to cache and the time it was |
| reused for the first time. Recorded when a request matches a previously |
| cached prefetch response. |
| </summary> |
| </histogram> |
| |
| <histogram name="HttpCache.PrefetchReuseState" enum="PrefetchReuseState" |
| expires_after="2023-07-02"> |
| <owner>nrosenthal@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| For each request that matched a previously prefetched cached response, |
| record the cache state of the entry. - Is it the first reuse of the entry? - |
| Is it reused within the allotted time window? - Would the entry be |
| reused/revalidated if not for the prefetch time window? Recorded when a |
| request matches a previously cached prefetch response. |
| </summary> |
| </histogram> |
| |
| <histogram name="HttpCache.PrefetchReuseTime" units="ms" |
| expires_after="2023-07-02"> |
| <owner>nrosenthal@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| The time between the prefetch has been saved to cache and the time it was |
| reused, including subsequent attempts to reuse beyond the first. Recorded |
| when a request matches a previously cached prefetch response. |
| </summary> |
| </histogram> |
| |
| <histogram name="HttpCache.RestrictedPrefetchReuse" |
| enum="RestrictedPrefetchReused" expires_after="2023-06-11"> |
| <owner>nrosenthal@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| For each http cache transaction, recorded whether a restricted prefetch (a |
| cross-origin prefetch with as=document) was reused, when response read from |
| the cache completes. |
| </summary> |
| </histogram> |
| |
| <histogram name="HttpCache.TotalDiskCacheTimePerTransaction.{AccessType}" |
| units="ms" expires_after="2023-05-06"> |
| <owner>bashi@chromium.org</owner> |
| <owner>blink-network-stack@google.com</owner> |
| <summary> |
| For each HTTP cache transaction, record total time spent {AccessType} the |
| disk cache. Recorded when a transaction finished. This histogram does not |
| record partial requests. |
| </summary> |
| <token key="AccessType"> |
| <variant name="Read" summary="reading from"/> |
| <variant name="Write" summary="writing to"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Net.AlternateProtocolBrokenLocation" |
| enum="BrokenAlternateProtocolLocation" expires_after="2023-02-19"> |
| <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="2023-05-27"> |
| <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="2023-06-04"> |
| <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="2023-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="2023-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.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.LeafExtendedKeyUsage.{RootType}" |
| enum="NetCertificateEKUStatus" expires_after="2023-02-11"> |
| <owner>mattm@chromium.org</owner> |
| <owner>trusty-transport@chromium.org</owner> |
| <summary> |
| For successfully validated server certificates, records information of the |
| leaf certificate's ExtendedKeyUsage extension. The buckets are mutually |
| exclusive (only one value will be logged for a particular verification.) |
| </summary> |
| <token key="RootType"> |
| <variant name="KnownRoot"/> |
| <variant name="LegacyKnownRoot"/> |
| <variant name="PrivateRoot"/> |
| </token> |
| </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.CertificateTransparency.SCT.VerificationTime" |
| units="microseconds" expires_after="2023-06-04"> |
| <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="2023-06-04"> |
| <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="M101"> |
| <obsolete> |
| Removed 2022-02. |
| </obsolete> |
| <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 name="Net.CertVerifier.MacKeychainCerts.IntermediateCacheInitTime" |
| units="ms" expires_after="2023-04-09"> |
| <owner>mattm@chromium.org</owner> |
| <owner>hchao@chromium.org</owner> |
| <summary> |
| When initializing the builtin certificate verifier on Mac using the |
| DomainCacheFullCerts implementation of the system trust store integration, |
| this records how long it took to query the Mac keychain and initialize the |
| cache of intermediate certificates. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.CertVerifier.MacKeychainCerts.IntermediateCount" |
| units="certificates" expires_after="2023-06-11"> |
| <owner>mattm@chromium.org</owner> |
| <owner>hchao@chromium.org</owner> |
| <summary> |
| When initializing the builtin certificate verifier on Mac using the |
| DomainCacheFullCerts or KeychainCacheFullCerts implementation of the system |
| trust store integration, this records the number of certificates that were |
| included in the cache of intermediate certificates. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.CertVerifier.MacKeychainCerts.TotalCount" |
| units="certificates" expires_after="2023-06-11"> |
| <owner>mattm@chromium.org</owner> |
| <owner>hchao@chromium.org</owner> |
| <summary> |
| When initializing the builtin certificate verifier on Mac using the |
| DomainCacheFullCerts or KeychainCacheFullCerts implementation of the system |
| trust store integration, this records the number of certificates found in |
| the Mac keychain. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.CertVerifier.MacKeychainCerts.TrustCount" |
| units="certificates" expires_after="2023-06-11"> |
| <owner>mattm@chromium.org</owner> |
| <owner>hchao@chromium.org</owner> |
| <summary> |
| When initializing the builtin certificate verifier on Mac using the |
| KeychainCacheFullCerts implementation of the system trust store integration, |
| this records the number of certificates found in the Mac keychain which had |
| trust records marking them as either trusted or distrusted. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.CertVerifier.MacTrustDomainCacheInitTime" units="ms" |
| expires_after="2023-06-11"> |
| <owner>mattm@chromium.org</owner> |
| <owner>hchao@chromium.org</owner> |
| <summary> |
| When the builtin certificate verifier is used on Mac and the platform |
| trusted certificates cache is initialized (or re-initialized if keychain |
| trust settings changed), records how long it took to initialize all the |
| trust domain caches. Only recorded by the DomainCacheFullCerts |
| implementation, which may or may not be used depending on Finch trial |
| parameters. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.CertVerifier.MacTrustDomainCertCount.{Domain}" |
| units="certificates" expires_after="2023-04-09"> |
| <owner>mattm@chromium.org</owner> |
| <owner>hchao@chromium.org</owner> |
| <summary> |
| When the builtin certificate verifier is used on Mac and the platform |
| trusted certificates cache is initialized (or re-initialized if keychain |
| trust settings changed), records the number of certificates read from the |
| {Domain} trust domain. Only counts certificates that were successfully |
| parsed. Only recorded by the DomainCacheFullCerts implementation, which may |
| or may not be used depending on Finch trial parameters. |
| </summary> |
| <token key="Domain"> |
| <variant name="Admin"/> |
| <variant name="System"/> |
| <variant name="User"/> |
| </token> |
| </histogram> |
| |
| <histogram name="Net.CertVerifier.MacTrustImplCacheInitTime" units="ms" |
| expires_after="2023-06-11"> |
| <owner>mattm@chromium.org</owner> |
| <owner>hchao@chromium.org</owner> |
| <summary> |
| When the builtin certificate verifier is used on Mac and the platform |
| trusted certificates cache is initialized (or re-initialized if keychain |
| trust settings changed), records how long it took to initialize both the |
| trust cache and the intermediates cache. Only recorded by the |
| DomainCacheFullCerts and KeychainCacheFullCerts implementations, which may |
| or may not be used depending on Finch trial parameters. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Net.CertVerifier.NameNormalizationPrivateRoots" |
| enum="NetCertificateNameNormalization" expires_after="2023-01-15"> |
| <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="2023-06-11"> |
| <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="2023-06-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="2023-06-18"> |
| <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="2023-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.AccessCheckResult" enum="CorsAccessCheckResult" |
| expires_after="2023-01-15"> |
| <owner>toyoshim@chromium.org</owner> |
| <owner>src/services/network/OWNERS</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="2023-01-15"> |
| <owner>carlosil@chromium.org</owner> |
| <owner>estark@chromium.org</owner> |
| <owner>src/services/network/OWNERS</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="2023-01-15"> |
| <owner>toyoshim@chromium.org</owner> |
| <owner>src/services/network/OWNERS</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="2023-06-04"> |
| <owner>toyoshim@chromium.org</owner> |
| <owner>src/services/network/OWNERS</owner> |
| <summary> |
| The distribution of the CORS preflight cache query results. This counts on |
| each cache query. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.Cors.PreflightCheckError2" enum="CorsAccessCheckError" |
| expires_after="2023-06-04"> |
| <owner>toyoshim@chromium.org</owner> |
| <owner>src/services/network/OWNERS</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="2023-06-04"> |
| <owner>titouan@chromium.org</owner> |
| <owner>clamy@chromium.org</owner> |
| <owner>src/services/network/OWNERS</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="2023-06-04"> |
| <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="2023-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="2023-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.DNS.DnsConfig.AdditionalDnsQueryTypesEnabled" |
| enum="BooleanEnabled" expires_after="2023-06-25"> |
| <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="2023-06-18"> |
| <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="2023-06-18"> |
| <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="2023-04-16"> |
| <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.IncompatibleService" |
| enum="NsswitchService" expires_after="2023-10-07"> |
| <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.NisServiceInHosts" |
| enum="BooleanIncluded" expires_after="2023-02-19"> |
| <obsolete> |
| Deprecated 2022-20. As of M108, NIS is treated as incompatible. Instances |
| where it was the cause of incompatibility will be recorded in |
| Net.DNS.DnsConfig.Nsswitch.IncompatibleService. |
| </obsolete> |
| <owner>horo@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Whether or not NIS service is registered in the "hosts:" database |
| of an nsswitch.conf. Recorded when a resolv.conf file is successfully read |
| by Chrome and the DNS configuration read from the resolv.conf file is |
| considered compatible with Chrome. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsConfig.Nsswitch.Read" enum="BooleanReceived" |
| expires_after="2023-06-18"> |
| <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="2023-06-18"> |
| <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="2023-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="2023-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="2023-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="2023-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="2023-06-04"> |
| <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.DnsConfig.Windows.Compatibility" |
| enum="DNS.WindowsCompatibility" expires_after="2023-06-25"> |
| <owner>horo@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Enumeration of whether or not the DNS configuration setting of Windows is |
| considered compatible with Chrome and the reason why it is considered |
| incompatible. Reported whenever the DNS configuration setting of Windows is |
| read by Chrome. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsHosts.Count" units="count" expires_after="M113"> |
| <owner>horo@chromium.org</owner> |
| <owner>net-dev@chromium.org</owner> |
| <summary> |
| The number of hosts parsed from a Hosts file. Reported whenever a Hosts file |
| is read and parsed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsHosts.EstimateMemoryUsage" units="bytes" |
| expires_after="M113"> |
| <owner>horo@chromium.org</owner> |
| <owner>net-dev@chromium.org</owner> |
| <summary> |
| Estimated memory usage to keep the parsed result of a Hosts file. Reported |
| whenever a Hosts file is read and parsed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsHosts.FileSize" units="bytes" expires_after="M113"> |
| <owner>horo@chromium.org</owner> |
| <owner>net-dev@chromium.org</owner> |
| <summary> |
| The file size of a Hosts file. Reported whenever a Hosts file is read. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsTask.AdditionalHttps.Requested" |
| enum="UnsolicitedHttpsRecordStatus" expires_after="2023-04-09"> |
| <owner>awillia@chromium.org</owner> |
| <owner>doh-core@google.com</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="2023-06-25"> |
| <owner>awillia@chromium.org</owner> |
| <owner>doh-core@google.com</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.Errors" enum="NetErrorCodes" |
| expires_after="M77"> |
| <obsolete> |
| Removed in crrev.com/c/1355602. |
| </obsolete> |
| <owner>pauljensen@chromium.org</owner> |
| <owner>mef@chromium.org</owner> |
| <summary> |
| Counts of specific error codes returned by DnsTask if a subsequent |
| HostResolverSystemTask succeeded. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.DnsTask.SuccessTime" units="ms" |
| expires_after="2023-07-09"> |
| <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="2023-07-09"> |
| <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="2023-06-25"> |
| <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="2023-06-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" --> |
| |
| <owner>awillia@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="2023-06-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" --> |
| |
| <owner>awillia@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="2023-06-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" --> |
| |
| <owner>awillia@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="2023-06-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" --> |
| |
| <owner>awillia@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="2023-06-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" --> |
| |
| <owner>awillia@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="2023-06-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" --> |
| |
| <owner>awillia@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="2023-06-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" --> |
| |
| <owner>awillia@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="2023-06-14"> |
| <!-- Name completed by histogram_suffixes |
| name="DohProviderId" --> |
| |
| <owner>awillia@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.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.H3SupportedGoogleHost.TaskTypeMetadataAvailability" |
| enum="DNS.TaskTypeMetadataAvailability" expires_after="M110"> |
| <obsolete> |
| Replaced by Net.DNS.H3SupportedGoogleHost.TaskTypeMetadataAvailability2 on |
| 2022-12. |
| </obsolete> |
| <owner>horo@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| The succeeded DNS Task type of HostResolverManager::Job (the basic internal |
| unit of work for non-local host resolutions, potentially merging redundant |
| requests from Chrome) that succeeded with or without valid HTTPS DNS |
| metadata. This is recorded when a DNS Job succeeded for a domain if the |
| domain is one of Google hosts which that is expected to have valid HTTPS DNS |
| metadata with HTTP/3 support. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.H3SupportedGoogleHost.TaskTypeMetadataAvailability2" |
| enum="DNS.TaskTypeMetadataAvailability" expires_after="2023-05-31"> |
| <owner>horo@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| The succeeded DNS Task type of HostResolverManager::Job (the basic internal |
| unit of work for non-local host resolutions, potentially merging redundant |
| requests from Chrome) that succeeded with or without valid HTTPS DNS |
| metadata. This is recorded for successful https- or wss-schemed queries to a |
| set of Google hosts expected to have HTTPS DNS metadata, if the query type |
| requests the HTTPS record. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.HTTPSSVC.RecordHttps.{secure}.ExpectNoerror.DnsRcode" |
| enum="HttpssvcDnsRcode" expires_after="2023-10-01"> |
| <owner>horo@chromium.org</owner> |
| <owner>davidben@chromium.org</owner> |
| <owner>src/net/OWNERS</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> |
| <token key="secure" variants="DnsOverHttpsSecure"/> |
| </histogram> |
| |
| <histogram name="Net.DNS.HTTPSSVC.RecordHttps.{secure}.ExpectNoerror.Parsable" |
| enum="BooleanValid" expires_after="2023-10-01"> |
| <owner>horo@chromium.org</owner> |
| <owner>davidben@chromium.org</owner> |
| <owner>src/net/OWNERS</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> |
| <token key="secure" variants="DnsOverHttpsSecure"/> |
| </histogram> |
| |
| <histogram |
| name="Net.DNS.HTTPSSVC.RecordHttps.{secure}.ExpectNoerror.RecordWithError" |
| enum="Boolean" expires_after="2023-10-01"> |
| <owner>horo@chromium.org</owner> |
| <owner>davidben@chromium.org</owner> |
| <owner>src/net/OWNERS</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> |
| <token key="secure" variants="DnsOverHttpsSecure"/> |
| </histogram> |
| |
| <histogram |
| name="Net.DNS.HTTPSSVC.RecordHttps.{secure}.ExpectNoerror.ResolveTimeAddressRecord" |
| units="ms" expires_after="2023-10-01"> |
| <owner>horo@chromium.org</owner> |
| <owner>davidben@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Records how many ms the DNS server took to respond to address queries. |
| Histograms are emitted at the completion of a DnsTask's final transaction. |
| </summary> |
| <token key="secure" variants="DnsOverHttpsSecure"/> |
| </histogram> |
| |
| <histogram |
| name="Net.DNS.HTTPSSVC.RecordHttps.{secure}.ExpectNoerror.ResolveTimeExperimental" |
| units="ms" expires_after="2023-10-01"> |
| <owner>horo@chromium.org</owner> |
| <owner>davidben@chromium.org</owner> |
| <owner>src/net/OWNERS</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> |
| <token key="secure" variants="DnsOverHttpsSecure"/> |
| </histogram> |
| |
| <histogram |
| name="Net.DNS.HTTPSSVC.RecordHttps.{secure}.ExpectNoerror.ResolveTimeRatio" |
| units="scaled ratio (% / 10)" expires_after="2023-10-01"> |
| <owner>horo@chromium.org</owner> |
| <owner>davidben@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Records a ratio indicating the relative HTTPS query 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> |
| <token key="secure" variants="DnsOverHttpsSecure"/> |
| </histogram> |
| |
| <histogram name="Net.DNS.InsecureDnsTask.FailureTime" units="ms" |
| expires_after="2023-02-26"> |
| <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="2023-03-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 failed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.JobQueueTime.PerTransaction" units="ms" |
| expires_after="2023-06-04"> |
| <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="2023-03-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="2023-06-11"> |
| <owner>awillia@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="2023-06-11"> |
| <owner>awillia@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="2023-06-11"> |
| <owner>awillia@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="2023-06-11"> |
| <owner>awillia@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.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="2023-04-23"> |
| <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="2023-04-23"> |
| <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="2023-04-23"> |
| <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="2023-06-14"> |
| <owner>awillia@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="2023-02-19"> |
| <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.SystemTask.FailureTime" units="ms" |
| expires_after="2023-08-28"> |
| <owner>horo@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Duration of time taken by HostResolverSystemTask (the grouping of all |
| individual DNS queries for a single instance of resolving a name using the |
| system resolver) in resolutions that failed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.DNS.SystemTask.SuccessTime" units="ms" |
| expires_after="2023-08-28"> |
| <owner>horo@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Duration of time taken by HostResolverSystemTask (the grouping of all |
| individual DNS queries for a single instance of resolving a name using the |
| system resolver) in resolutions that succeeded. |
| </summary> |
| </histogram> |
| |
| <histogram base="true" name="Net.DNS.UI.DropdownSelectionEvent" |
| enum="DohProviderId" expires_after="2023-07-02"> |
| <!-- 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="2023-06-14"> |
| <owner>awillia@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="2023-06-18"> |
| <owner>awillia@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="2023-04-23"> |
| <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="2023-04-23"> |
| <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="2023-02-19"> |
| <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="2023-06-14"> |
| <owner>awillia@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="2023-04-23"> |
| <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="2023-05-14"> |
| <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.ErrorCodesForIsolatedAppScheme" enum="NetErrorCodes" |
| expires_after="2023-11-08"> |
| <owner>cmfcmf@chromium.org</owner> |
| <owner>peletskyi@chromium.org</owner> |
| <summary> |
| Positive net error codes that HTTP requests using the isolated-app: URL |
| scheme 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.ErrorPageCounts" enum="NetErrorPageEvents" |
| expires_after="2023-06-25"> |
| <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.ErrorPageCounts.WebAppAlternativeErrorPage" |
| enum="NetErrorCodes" expires_after="2023-06-11"> |
| <owner>ericwilligers@chromium.org</owner> |
| <owner>alexbn@chromium.org</owner> |
| <summary> |
| Counts the number of times web apps receive `ERR_INTERNET_DISCONNECTED` and |
| the alternative error page (rather than the dino) is shown. Reported when |
| the error page html is being prepared. See |
| `NetErrorHelper::GenerateLocalizedErrorPage` (crbug.com/1280518). |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.ExpectCT.HeaderPresentOnResponse" enum="BooleanPresent" |
| expires_after="2023-06-04"> |
| <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.HasBrokenNEON" enum="BooleanBroken" |
| expires_after="2023-02-19"> |
| <obsolete> |
| Removed 2023-01. The workaround is now effectively disabled in Chromium (but |
| not Cronet, as of writing), and the latest Chromium-side metrics report |
| 0.00% of devices are still affected. |
| </obsolete> |
| <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.HttpAuthNtlmV2Usage" enum="HttpAuthNtlmV2Usage" |
| expires_after="M79"> |
| <owner>mmenke@chromium.org</owner> |
| <owner>src/net/OWNERS</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.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.CanIncludeCookies" enum="Boolean" |
| expires_after="2023-06-18"> |
| <owner>cfredric@chromium.org</owner> |
| <owner>kaustubhag@chromium.org</owner> |
| <summary> |
| Counts the HTTP requests which involve reading from the cookie jar to |
| construct a Cookie header vs. the HTTP requests which are disallowed from |
| including a Cookie header. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpJob.MainJobWaitTimeWithAvailableSpdySession" |
| units="ms" expires_after="2023-06-25"> |
| <owner>fayang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Wait time of main job while there is an available SPDY session but no QUIC |
| session. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpJob.MainJobWaitTimeWithoutAvailableSpdySession" |
| units="ms" expires_after="2023-06-25"> |
| <owner>fayang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| Wait time of main job while there is no available SPDY session and no QUIC |
| session. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.HttpJob.PrefilterBytesRead" units="bytes" |
| expires_after="2023-04-16"> |
| <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-11-13"> |
| <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="2023-03-19"> |
| <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="2023-07-02"> |
| <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="2023-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.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="2023-06-25"> |
| <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.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="2023-08-22"> |
| <owner>davidben@chromium.org</owner> |
| <owner>src/third_party/boringssl/OWNERS</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.NewConnectionCost" |
| enum="NetworkConnectionCost" expires_after="2023-07-02"> |
| <owner>fbeaufort@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| The new network connection cost any time a change to the device's active |
| default network is observed. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.NetworkChangeNotifier.NewConnectionType" |
| enum="NetworkConnectionType" expires_after="2023-07-02"> |
| <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.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="2023-03-29"> |
| <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.NumQuicSessionsAtShutdown" units="units" |
| expires_after="2023-06-04"> |
| <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.OnTransferSizeUpdated.Experimental.OverridenBy" |
| enum="OnTransferSizeUpdatedFrom" expires_after="2023-06-18"> |
| <owner>amanvr@chromium.org</owner> |
| <owner>carlscab@chromium.org</owner> |
| <owner>woa-performance@google.com</owner> |
| <summary> |
| Records the number of times OnTransferSizeUpdated is called from different |
| overriding methods. This UMA is useful to understand the distribution of |
| calls being made to this method and will help see the reductions in IPC when |
| we implement a prototype (b/257057692) where we remove unnecessary |
| URLLoaderClient::OnTransferSizeUpdated IPCs. |
| </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="2023-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="2023-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="2023-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-09-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="2023-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="2023-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="2023-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="2023-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="2023-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.QuicConnection.WritePacketStatus" enum="QuicWriteStatus" |
| expires_after="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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-09-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="2023-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.QuicHttpStream.ProcessResponseHeaderSuccess" |
| enum="BooleanSuccess" expires_after="2023-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="2023-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.QuicMultiPort.AltPortFailureWhenPathDegradingVsGeneral" |
| units="%" expires_after="2023-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The percentage comparison between alternative port probe failure when |
| default path is degrading and in general. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicMultiPort.AltPortRttWhenPathDegradingVsGeneral" |
| units="%" expires_after="2023-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The percentage comparison between alternative port response time when |
| default path is degrading and response time in general. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicMultiPort.NumDefaultPathDegrading" units="times" |
| expires_after="2023-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of time that a session which has multi-port enabled enters |
| path-degrading state on the default path. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicMultiPort.NumMultiPortFailureWhenPathDegrading" |
| units="times" expires_after="2023-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of alternative port probing failure when the default path is |
| degrading. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicMultiPort.NumMultiPortFailureWhenPathNotDegrading" |
| units="times" expires_after="2023-05-11"> |
| <owner>renjietang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The number of alternative port probing failure when the default path is |
| healthy. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicNetworkDegradingDurationTillConnected" units="ms" |
| expires_after="2023-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="2023-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="2023-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="2023-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.QuicNumServerConfig.UpdateMessagesIgnored" |
| enum="BooleanIgnored" expires_after="2023-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="2023-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="2023-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="2023-06-04"> |
| <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="2023-06-04"> |
| <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="2023-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-09-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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-09-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="2023-06-04"> |
| <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="2023-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="2023-05-27"> |
| <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="2023-06-04"> |
| <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="2023-05-27"> |
| <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="2023-06-04"> |
| <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-11-13"> |
| <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="2023-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="2023-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="2023-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-11-13"> |
| <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-09-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-06-04"> |
| <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.ConnectionStateAfterDNS" |
| enum="ConnectionStateAfterDNS" expires_after="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-05-27"> |
| <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="2023-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-09-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="2023-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="2023-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="2023-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="2023-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="2023-01-15"> |
| <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="2023-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.HandshakeStatusOnMigratingToServerPreferredAddress" |
| enum="BooleanConfirmed" expires_after="2024-05-11"> |
| <owner>fayang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The handshake status when the session attempts to validate received server |
| preferred address. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.HandshakeStatusOnPortMigration" |
| enum="BooleanConfirmed" expires_after="2023-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="2023-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-09-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-09-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-09-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="2023-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="2023-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="2023-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="2023-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.PerConnection2" units="count" |
| expires_after="2023-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="2023-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="2023-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="2023-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.LastInFlightPacketSentTimeFromHandshakeCompletionWithPublicReset" |
| units="ms" expires_after="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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-12-18"> |
| <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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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.OnServerPreferredAddressAvailable" |
| enum="QuicConnectionMigrationStatus" expires_after="2024-06-04"> |
| <owner>fayang@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The result of a QUIC server preferred address migration attempt. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.OutOfOrderGapReceived" units="units" |
| expires_after="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-05-27"> |
| <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="2023-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="2024-06-18"> |
| <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="2023-02-12"> |
| <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="2023-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="2023-06-04"> |
| <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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-06-04"> |
| <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="2023-06-04"> |
| <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="2023-06-04"> |
| <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="2023-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="2023-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.EnableExtendedConnect" |
| enum="Boolean" expires_after="2023-05-11"> |
| <owner>momoka@google.com</owner> |
| <owner>ricea@chromium.org</owner> |
| <owner>src/net/quic/OWNERS</owner> |
| <summary> |
| The value of the SETTINGS_ENABLE_CONNECT_PROTOCOL parameter received on an |
| HTTP/3 connection, if the parameter is not present log false. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.ReceivedSettings.MaxHeaderListSize2" |
| units="bytes" expires_after="2023-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-09-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-03-19"> |
| <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="2023-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="2023-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="2023-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="2023-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="2023-06-04"> |
| <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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-07-09"> |
| <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="2023-06-04"> |
| <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="2023-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="2023-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="2023-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="2023-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="2023-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.ConsecutivePTOCount" |
| units="units" expires_after="2023-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 PTOs. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.QuicSession.TimedOutWithOpenStreams.ConsecutiveRTOCount" |
| units="units" expires_after="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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.ValidConnectionTime" units="ms" |
| expires_after="2023-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-09-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="2023-07-09"> |
| <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="2023-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="2023-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="2023-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="2023-06-04"> |
| <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="2023-06-04"> |
| <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="2023-03-19"> |
| <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="2023-06-04"> |
| <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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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="2023-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.Radio.PossibleWakeupTrigger.{ProtocolType}WriteAnnotationId" |
| enum="TrafficAnnotationUniqueIdHash" expires_after="2023-02-22"> |
| <owner>bashi@chromium.org</owner> |
| <owner>blink-network-stack@google.com</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="2023-02-18"> |
| <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.UploadHeaderType" |
| enum="NetReportingUploadHeaderType" expires_after="2023-06-04"> |
| <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="2023-07-09"> |
| <owner>dylancutler@google.com</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="2023-06-18"> |
| <owner>dylancutler@google.com</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="2023-04-25"> |
| <owner>dylancutler@google.com</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="BooleanMatched" expires_after="2023-07-09"> |
| <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="BooleanMatched" expires_after="2023-07-09"> |
| <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.SocketUnchangeableReceiveBuffer" units="Bytes" |
| expires_after="2023-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="2023-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="2023-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="2023-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.SpdyIPPoolDomainMatch" enum="SpdyIPPoolDomainMatch" |
| expires_after="2023-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="2023-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-09-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="2023-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="2023-06-04"> |
| <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="2023-09-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.AlpsDecoderStatus.Bypassed" |
| enum="AlpsDecoderError" expires_after="2023-09-11"> |
| <owner>arichiv@chromium.org</owner> |
| <owner>src/net/OWNERS</owner> |
| <summary> |
| Net.SpdySession.AlpsDecoderStatus records errors returned by the AlpsDecoder |
| class in HTTP/2 responses. Errors logged to that histogram cause a session |
| termination, which isn't always desired. This histogram records errors that |
| we want to note, but that shouldn't stop the connection. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SpdySession.AlpsSettingParameterCount" units="parameters" |
| expires_after="2023-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="2023-06-04"> |
| <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="2023-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="2023-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="2023-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="2023-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" enum="Boolean" |
| expires_after="2023-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="2023-12-06"> |
| <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="2023-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="2023-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="2023-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="2023-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="2023-12-06"> |
| <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="2023-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="2023-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.ECHResult" enum="SSLECHResult" |
| expires_after="2023-07-08"> |
| <owner>davidben@chromium.org</owner> |
| <owner>trusty-transport@chromium.org</owner> |
| <summary> |
| For each TLS connection that offered Encrypted ClientHello (ECH), what was |
| the result of that connection. In particular, this measures if the recovery |
| flow was needed and, if so, whether it fixed the connection. |
| </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_ECH" enum="NetErrorCodes" |
| expires_after="2023-07-08"> |
| <owner>davidben@chromium.org</owner> |
| <owner>trusty-transport@chromium.org</owner> |
| <summary> |
| Counts of specific error codes returned when opening an SSL connection. |
| Recorded for connections to servers that advertise support for Encrypted |
| ClientHello (ECH) in DNS. (Specifically, connections where the HTTPS record |
| used included an ECHConfigList.) |
| </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_ECH" units="ms" |
| expires_after="2023-07-08"> |
| <owner>davidben@chromium.org</owner> |
| <owner>trusty-transport@chromium.org</owner> |
| <summary> |
| Time from when the Connect() starts until it completes. Recorded for |
| successful connections to servers that advertise support for Encrypted |
| ClientHello (ECH) in DNS. (Specifically, connects where the HTTPS record |
| used included an ECHConfigList.) |
| </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="2023-07-09"> |
| <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="2023-07-09"> |
| <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-08-14"> |
| <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="M116"> |
| <owner>cthomp@chromium.org</owner> |
| <owner>trusty-transport@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. |
| |
| This histogram was temporarily expired from M92 until M104. |
| </summary> |
| </histogram> |
| |
| <histogram name="Net.SSLLegacyCryptoFallback" enum="SSLLegacyCryptoFallback" |
| expires_after="2022-12-25"> |
| <obsolete> |
| Replaced by Net.SSLLegacyCryptoFallback2. This one incorrectly counted all |
| SHA-1-based algorithms in certificates, rather than just RSASSA-PKCS1-v1_5. |
| </obsolete> |
| <owner>davidben@chromium.org</owner> |
| <owner>trusty-transport@chromium.org</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.SSLLegacyCryptoFallback2" enum="SSLLegacyCryptoFallback" |
| expires_after="2023-07-21"> |
| <owner>davidben@chromium.org</owner> |
| <owner>trusty-transport@chromium.org</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="2023-06-04"> |
| <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="2023-11-20"> |
| <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="2023-06-04"> |
| <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="2023-06-18"> |
| <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"> |
| <obsolete> |
| Removed 2022-02. |
| </obsolete> |
| <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"> |
| <obsolete> |
| Removed 2022-02. |
| </obsolete> |
| <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"> |
| <obsolete> |
| Removed 2022-02. |
| </obsolete> |
| <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"> |
| <obsolete> |
| Removed 2022-02. |
| </obsolete> |
| <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="2023-12-06"> |
| <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="2023-12-06"> |
| <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.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 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="2023-02-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-10-30"> |
| <!-- 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}" |
| 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> |
| </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-08-28"> |
| <!-- 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.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="2023-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.URLLoaderThrottleDeferTime.WillProcessResponse.{Throttle}" |
| units="ms" expires_after="2023-02-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="2023-02-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="2023-02-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="2023-02-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="2023-04-16"> |
| <!-- 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="2023-04-16"> |
| <!-- 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.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> |