Copy as Markdown

Other Tools

// -*- mode: C++ -*-
// AUTOGENERATED BY glean_parser. DO NOT EDIT.
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef mozilla_GleanNetwerkMetrics_h
#define mozilla_GleanNetwerkMetrics_h
#include "mozilla/glean/bindings/MetricTypes.h"
namespace mozilla::glean {
namespace networking {
/**
* generated from networking.cache_metadata_first_read_time
* Time spent to read the first part of the metadata from the cache entry file.
*/
constexpr impl::TimingDistributionMetric cache_metadata_first_read_time(48);
/**
* generated from networking.cache_metadata_second_read_time
* Time spent to read the missing part of the metadata from the cache entry file.
*/
constexpr impl::TimingDistributionMetric cache_metadata_second_read_time(49);
/**
* generated from networking.cache_metadata_size
* Size of the metadata in bytes parsed from the disk.
*/
constexpr impl::MemoryDistributionMetric cache_metadata_size(50);
/**
* generated from networking.cache_purge_due_to_memory_limit
*/
enum class CachePurgeDueToMemoryLimitLabel: uint16_t {
eMetaDataFileSizeLimit = 0,
eCacheMemoryLimit = 1,
e__Other__,
};
/**
* Counts how often we purge cache entries from memory due to memory limits.
*/
constexpr impl::Labeled<impl::CounterMetric, CachePurgeDueToMemoryLimitLabel> cache_purge_due_to_memory_limit(51);
/**
* generated from networking.cookie_access_fixup_diff
* If we fix up a cookie lastAccessed timestamp that is in the future this metric records the number of seconds that timestamp was off from NOW.
*/
constexpr impl::CustomDistributionMetric cookie_access_fixup_diff(52);
/**
* generated from networking.cookie_chips_partition_limit_overflow
* The number of cookie bytes exceeding chips partition limit capacity for a single partition
*/
constexpr impl::CustomDistributionMetric cookie_chips_partition_limit_overflow(53);
/**
* generated from networking.cookie_count_invalid_first_party_partitioned_in_db
* This counts the number of invalid first-party partitioned cookies that don't have the partitioned cookie attribution(CHIPS).
*/
constexpr impl::CounterMetric cookie_count_invalid_first_party_partitioned_in_db(54);
/**
* generated from networking.cookie_count_part_by_key
* A distribution of the partitioned cookies in storage belonging to a particular cookie key (host + origin attributes)
*/
constexpr impl::CustomDistributionMetric cookie_count_part_by_key(55);
/**
* generated from networking.cookie_count_partitioned
* Reports the number of partitioned cookies in storage
*/
constexpr impl::CustomDistributionMetric cookie_count_partitioned(56);
/**
* generated from networking.cookie_count_total
* Reports the total number of cookies in storage
*/
constexpr impl::CustomDistributionMetric cookie_count_total(57);
/**
* generated from networking.cookie_count_unpart_by_key
* A distribution of the unpartitioned cookies in storage belonging to a particular cookie key (host + origin attributes)
*/
constexpr impl::CustomDistributionMetric cookie_count_unpart_by_key(58);
/**
* generated from networking.cookie_count_unpartitioned
* Reports the number of unpartitioned cookies in storage
*/
constexpr impl::CustomDistributionMetric cookie_count_unpartitioned(59);
/**
* generated from networking.cookie_creation_fixup_diff
* If we fix up a cookie creation timestamp that is in the future this metric records the number of seconds that timestamp was off from NOW.
*/
constexpr impl::CustomDistributionMetric cookie_creation_fixup_diff(60);
/**
* generated from networking.cookie_db_validation
*/
enum class CookieDbValidationLabel: uint16_t {
eEok = 0,
eErejectedemptynameandvalue = 1,
eErejectednamevalueoversize = 2,
eErejectedinvalidcharname = 3,
eErejectedinvalidcharvalue = 4,
eErejectedinvalidpath = 5,
eErejectedinvaliddomain = 6,
eErejectedinvalidprefix = 7,
eErejectednonerequiressecure = 8,
eErejectedpartitionedrequiressecure = 9,
eErejectedhttponlybutfromscript = 10,
eErejectedsecurebutnonhttps = 11,
eErejectedfornonsamesiteness = 12,
eErejectedattributepathoversize = 13,
eErejectedattributedomainoversize = 14,
eErejectedattributeexpiryoversize = 15,
e__Other__,
};
/**
* Counts cookies loaded from the DB grouped by validation result.
*/
constexpr impl::Labeled<impl::CounterMetric, CookieDbValidationLabel> cookie_db_validation(61);
/**
* generated from networking.cookie_purge_entry_max
* A distribution of the number of cookies purged for a single host + OA entry as a result of exceeding the maximum threshold for the given host + OA (single purge)
*/
constexpr impl::CustomDistributionMetric cookie_purge_entry_max(62);
/**
* generated from networking.cookie_purge_max
* A distribution of the number of cookies purged across all host + OAs as a result of exceeding the cookie maximum threshold (single purge)
*/
constexpr impl::CustomDistributionMetric cookie_purge_max(63);
/**
* generated from networking.cookie_timestamp_fixed_count
*/
enum class CookieTimestampFixedCountLabel: uint16_t {
eCreationtime = 0,
eLastaccessed = 1,
e__Other__,
};
/**
* Counts the number of times a cookie's invalid timestamp was fixed when reading it from the DB.
*/
constexpr impl::Labeled<impl::CounterMetric, CookieTimestampFixedCountLabel> cookie_timestamp_fixed_count(64);
/**
* generated from networking.dns_failed_lookup_time
* Time for an unsuccessful DNS OS resolution (msec) | Migrated from Firefox Telemetry's `DNS_FAILED_LOOKUP_TIME`.
*/
constexpr impl::TimingDistributionMetric dns_failed_lookup_time(65);
/**
* generated from networking.dns_lookup_time
* Time for a successful DNS resolution (msec) | Migrated from Firefox Telemetry's `DNS_LOOKUP_TIME`.
*/
constexpr impl::TimingDistributionMetric dns_lookup_time(66);
/**
* generated from networking.dns_native_count
*/
enum class DnsNativeCountLabel: uint16_t {
eRegular = 0,
ePrivate = 1,
eHttpsRegular = 2,
eHttpsPrivate = 3,
e__Other__,
};
/**
* The count of calls to the native DNS APIs
*/
constexpr impl::Labeled<impl::CounterMetric, DnsNativeCountLabel> dns_native_count(67);
/**
* generated from networking.dns_native_https_call_time
* Time spent in the call to the native OS DNS resolution.
*/
constexpr impl::TimingDistributionMetric dns_native_https_call_time(68);
/**
* generated from networking.dns_renewal_time
* Time for a renewed DNS OS resolution (msec) | Migrated from Firefox Telemetry's `DNS_RENEWAL_TIME`.
*/
constexpr impl::TimingDistributionMetric dns_renewal_time(69);
/**
* generated from networking.dns_renewal_time_for_ttl
* Time for a DNS OS resolution (msec) used to get TTL | Migrated from Firefox Telemetry's `DNS_RENEWAL_TIME_FOR_TTL`.
*/
constexpr impl::TimingDistributionMetric dns_renewal_time_for_ttl(70);
/**
* generated from networking.fetch_keepalive_discard_count
*/
enum class FetchKeepaliveDiscardCountLabel: uint16_t {
eTotalKeepaliveLimit = 0,
ePerOriginLimit = 1,
e__Other__,
};
/**
* Counts how many fetch keepalive requests are dropped due to configured resource limits.
*/
constexpr impl::Labeled<impl::CounterMetric, FetchKeepaliveDiscardCountLabel> fetch_keepalive_discard_count(71);
/**
* generated from networking.fetch_keepalive_request_count
*/
enum class FetchKeepaliveRequestCountLabel: uint16_t {
eWorker = 0,
eMain = 1,
e__Other__,
};
/**
* Counts how many fetch keepalive requests are made. This counter helps us to understand the adoption of fetch keepalive for firefox.
*/
constexpr impl::Labeled<impl::CounterMetric, FetchKeepaliveRequestCountLabel> fetch_keepalive_request_count(72);
/**
* generated from networking.http_1_download_throughput
* The download throughput for http/1.0, http/1.1 requests larger than 10MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_1_download_throughput(73);
/**
* generated from networking.http_1_download_throughput_100
* The download throughput for http/1.0 and http/1.1 requests size larger than 100MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_1_download_throughput_100(74);
/**
* generated from networking.http_1_download_throughput_10_50
* The download throughput for http/1.0 and http/1.1 requests between 10MB and 50MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_1_download_throughput_10_50(75);
/**
* generated from networking.http_1_download_throughput_50_100
* The download throughput for http/1.0 and http/1.1 requests between 50MB and 100MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_1_download_throughput_50_100(76);
/**
* generated from networking.http_1_upload_throughput
* The upload throughput for http/1.0, http/1.1 requests larger than 10MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_1_upload_throughput(77);
/**
* generated from networking.http_1_upload_throughput_100
* The upload throughput for http/1.0, http/1.1 request size larger than 100MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_1_upload_throughput_100(78);
/**
* generated from networking.http_1_upload_throughput_10_50
* The upload throughput for http/1.0, http/1.1 request size between 10MB and 50MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_1_upload_throughput_10_50(79);
/**
* generated from networking.http_1_upload_throughput_50_100
* The upload throughput for http/1.0, http/1.1 request size between 50MB and 100MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_1_upload_throughput_50_100(80);
/**
* generated from networking.http_2_download_throughput
* The download throughput for http/2 requests larger than 10MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_2_download_throughput(81);
/**
* generated from networking.http_2_download_throughput_100
* The download throughput for http/2 requests size larger than 100MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_2_download_throughput_100(82);
/**
* generated from networking.http_2_download_throughput_10_50
* The download throughput for http/2 requests between 10MB and 50MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_2_download_throughput_10_50(83);
/**
* generated from networking.http_2_download_throughput_50_100
* The download throughput for http/2 requests between 50MB and 100MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_2_download_throughput_50_100(84);
/**
* generated from networking.http_2_upload_throughput
* The upload throughput for http/2 requests larger than 10MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_2_upload_throughput(85);
/**
* generated from networking.http_2_upload_throughput_100
* The upload throughput for http/2 request size larger than 100MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_2_upload_throughput_100(86);
/**
* generated from networking.http_2_upload_throughput_10_50
* The upload throughput for http/2 request size between 10MB and 50MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_2_upload_throughput_10_50(87);
/**
* generated from networking.http_2_upload_throughput_50_100
* The upload throughput for http/2 request size between 50MB and 100MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_2_upload_throughput_50_100(88);
/**
* generated from networking.http_3_connection_close_reason
*/
enum class Http3ConnectionCloseReasonLabel: uint16_t {
eApplication = 0,
eNoerror = 1,
eInternalerror = 2,
eConnectionrefused = 3,
eFlowcontrolerror = 4,
eStreamlimiterror = 5,
eStreamstateerror = 6,
eFinalsizeerror = 7,
eFrameencodingerror = 8,
eTransportparametererror = 9,
eProtocolviolation = 10,
eInvalidtoken = 11,
eApplicationerror = 12,
eCryptobufferexceeded = 13,
eCryptoerror = 14,
eQlogerror = 15,
eCryptoalert = 16,
eEchretry = 17,
eAckedunsentpacket = 18,
eConnectionidlimitexceeded = 19,
eConnectionidsexhausted = 20,
eConnectionstate = 21,
eDecodingframe = 22,
eDecrypterror = 23,
eDisabledversion = 24,
eIdletimeout = 25,
eIntegeroverflow = 26,
eInvalidinput = 27,
eInvalidmigration = 28,
eInvalidpacket = 29,
eInvalidresumptiontoken = 30,
eInvalidretry = 31,
eInvalidstreamid = 32,
eKeysdiscarded = 33,
eKeysexhausted = 34,
eKeyspending = 35,
eKeyupdateblocked = 36,
eNoavailablepath = 37,
eNomoredata = 38,
eNotavailable = 39,
eNotconnected = 40,
ePacketnumberoverlap = 41,
ePeerapplicationerror = 42,
ePeererror = 43,
eStatelessreset = 44,
eToomuchdata = 45,
eUnexpectedmessage = 46,
eUnknownconnectionid = 47,
eUnknownframetype = 48,
eVersionnegotiation = 49,
eWrongrole = 50,
e__Other__,
};
/**
* Number of HTTP3 connections closed, labeled by reason.
*/
constexpr impl::Labeled<impl::CounterMetric, Http3ConnectionCloseReasonLabel> http_3_connection_close_reason(89);
/**
* generated from networking.http_3_download_throughput
* The download throughput for http/3 requests larger than 10MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_3_download_throughput(90);
/**
* generated from networking.http_3_download_throughput_100
* The download throughput for http/3 requests size larger than 100MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_3_download_throughput_100(91);
/**
* generated from networking.http_3_download_throughput_10_50
* The download throughput for http/3 requests between 10MB and 50MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_3_download_throughput_10_50(92);
/**
* generated from networking.http_3_download_throughput_50_100
* The download throughput for http/3 requests between 50MB and 100MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_3_download_throughput_50_100(93);
/**
* generated from networking.http_3_ecn_ce_ect0_ratio_received
* HTTP3: ECN CE to ECT0 ratio (multiply by 10000) received.
*/
constexpr impl::CustomDistributionMetric http_3_ecn_ce_ect0_ratio_received(94);
/**
* generated from networking.http_3_ecn_ce_ect0_ratio_sent
* HTTP3: ECN CE to ECT0 ratio (multiply by 10000) sent.
*/
constexpr impl::CustomDistributionMetric http_3_ecn_ce_ect0_ratio_sent(95);
/**
* generated from networking.http_3_ecn_path_capability
*/
enum class Http3EcnPathCapabilityLabel: uint16_t {
eCapable = 0,
eBlackHole = 1,
eBleaching = 2,
eReceivedUnsentEct1 = 3,
e__Other__,
};
/**
* Number of paths known to be ECN capable or not-capable.
*/
constexpr impl::Labeled<impl::CounterMetric, Http3EcnPathCapabilityLabel> http_3_ecn_path_capability(96);
/**
* generated from networking.http_3_loss_ratio
* HTTP3: packet loss ratio (multiply by 10000).
*/
constexpr impl::CustomDistributionMetric http_3_loss_ratio(97);
/**
* generated from networking.http_3_quic_frame_count
*/
enum class Http3QuicFrameCountLabel: uint16_t {
eAckTx = 0,
eAckRx = 1,
eCryptoTx = 2,
eCryptoRx = 3,
eStreamTx = 4,
eStreamRx = 5,
eResetStreamTx = 6,
eResetStreamRx = 7,
eStopSendingTx = 8,
eStopSendingRx = 9,
ePingTx = 10,
ePingRx = 11,
ePaddingTx = 12,
ePaddingRx = 13,
eMaxStreamsTx = 14,
eMaxStreamsRx = 15,
eStreamsBlockedTx = 16,
eStreamsBlockedRx = 17,
eMaxDataTx = 18,
eMaxDataRx = 19,
eDataBlockedTx = 20,
eDataBlockedRx = 21,
eMaxStreamDataTx = 22,
eMaxStreamDataRx = 23,
eStreamDataBlockedTx = 24,
eStreamDataBlockedRx = 25,
eNewConnectionIdTx = 26,
eNewConnectionIdRx = 27,
eRetireConnectionIdTx = 28,
eRetireConnectionIdRx = 29,
ePathChallengeTx = 30,
ePathChallengeRx = 31,
ePathResponseTx = 32,
ePathResponseRx = 33,
eConnectionCloseTx = 34,
eConnectionCloseRx = 35,
eHandshakeDoneTx = 36,
eHandshakeDoneRx = 37,
eNewTokenTx = 38,
eNewTokenRx = 39,
eAckFrequencyTx = 40,
eAckFrequencyRx = 41,
eDatagramTx = 42,
eDatagramRx = 43,
e__Other__,
};
/**
* Number of QUIC frames send and received by type.
*/
constexpr impl::Labeled<impl::CounterMetric, Http3QuicFrameCountLabel> http_3_quic_frame_count(98);
/**
* generated from networking.http_3_udp_datagram_segment_size_received
* HTTP3 UDP datagram size received.
*/
constexpr impl::MemoryDistributionMetric http_3_udp_datagram_segment_size_received(99);
/**
* generated from networking.http_3_udp_datagram_segment_size_sent
* HTTP3 UDP datagram segment size sent.
*/
constexpr impl::MemoryDistributionMetric http_3_udp_datagram_segment_size_sent(100);
/**
* generated from networking.http_3_udp_datagram_segments_received
* HTTP3 UDP number of segments per datagram received.
*/
constexpr impl::CustomDistributionMetric http_3_udp_datagram_segments_received(101);
/**
* generated from networking.http_3_udp_datagram_size_received
* HTTP3 UDP datagram size received.
*/
constexpr impl::MemoryDistributionMetric http_3_udp_datagram_size_received(102);
/**
* generated from networking.http_3_upload_throughput
* The upload throughput for http/3 requests larger than 10MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_3_upload_throughput(103);
/**
* generated from networking.http_3_upload_throughput_100
* The upload throughput for http/3 request size larger than 100MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_3_upload_throughput_100(104);
/**
* generated from networking.http_3_upload_throughput_10_50
* The upload throughput for http/3 request size between 10MB and 50MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_3_upload_throughput_10_50(105);
/**
* generated from networking.http_3_upload_throughput_50_100
* The upload throughput for http/3 request size between 50MB and 100MB. Measured in megabits per second, Mbps.
*/
constexpr impl::CustomDistributionMetric http_3_upload_throughput_50_100(106);
/**
* generated from networking.http_channel_disposition
*/
enum class HttpChannelDispositionLabel: uint16_t {
eHttpCancelled = 0,
eHttpDisk = 1,
eHttpNetOk = 2,
eHttpNetEarlyFail = 3,
eHttpNetLateFail = 4,
eHttpsCancelled = 5,
eHttpsDisk = 6,
eHttpsNetOk = 7,
eHttpsNetEarlyFail = 8,
eHttpsNetLateFail = 9,
e__Other__,
};
/**
* Channel Disposition for HTTP and HTTPS: cancel, disk, net_ok, net_early_fail, and net_late_fail
*/
constexpr impl::Labeled<impl::CounterMetric, HttpChannelDispositionLabel> http_channel_disposition(107);
/**
* generated from networking.http_channel_disposition_disabled_no_reason
*/
enum class HttpChannelDispositionDisabledNoReasonLabel: uint16_t {
eCancel = 0,
eDisk = 1,
eNetOk = 2,
eNetEarlyFail = 3,
eNetLateFail = 4,
e__Other__,
};
/**
* Upgrading display content Channel Disposition (key: disabled_no_reason)
*/
constexpr impl::Labeled<impl::CounterMetric, HttpChannelDispositionDisabledNoReasonLabel> http_channel_disposition_disabled_no_reason(108);
/**
* generated from networking.http_channel_disposition_disabled_upgrade
*/
enum class HttpChannelDispositionDisabledUpgradeLabel: uint16_t {
eCancel = 0,
eDisk = 1,
eNetOk = 2,
eNetEarlyFail = 3,
eNetLateFail = 4,
e__Other__,
};
/**
* Upgrading display content Channel Disposition (key: disable_upgrade)
*/
constexpr impl::Labeled<impl::CounterMetric, HttpChannelDispositionDisabledUpgradeLabel> http_channel_disposition_disabled_upgrade(109);
/**
* generated from networking.http_channel_disposition_disabled_wont
*/
enum class HttpChannelDispositionDisabledWontLabel: uint16_t {
eCancel = 0,
eDisk = 1,
eNetOk = 2,
eNetEarlyFail = 3,
eNetLateFail = 4,
e__Other__,
};
/**
* Upgrading display content Channel Disposition (key: disabled_wont)
*/
constexpr impl::Labeled<impl::CounterMetric, HttpChannelDispositionDisabledWontLabel> http_channel_disposition_disabled_wont(110);
/**
* generated from networking.http_channel_disposition_enabled_no_reason
*/
enum class HttpChannelDispositionEnabledNoReasonLabel: uint16_t {
eCancel = 0,
eDisk = 1,
eNetOk = 2,
eNetEarlyFail = 3,
eNetLateFail = 4,
e__Other__,
};
/**
* Upgrading display content Channel Disposition (key: enabled_no_reason)
*/
constexpr impl::Labeled<impl::CounterMetric, HttpChannelDispositionEnabledNoReasonLabel> http_channel_disposition_enabled_no_reason(111);
/**
* generated from networking.http_channel_disposition_enabled_upgrade
*/
enum class HttpChannelDispositionEnabledUpgradeLabel: uint16_t {
eCancel = 0,
eDisk = 1,
eNetOk = 2,
eNetEarlyFail = 3,
eNetLateFail = 4,
e__Other__,
};
/**
* Upgrading display content Channel Disposition (key: enable_upgrade)
*/
constexpr impl::Labeled<impl::CounterMetric, HttpChannelDispositionEnabledUpgradeLabel> http_channel_disposition_enabled_upgrade(112);
/**
* generated from networking.http_channel_disposition_enabled_wont
*/
enum class HttpChannelDispositionEnabledWontLabel: uint16_t {
eCancel = 0,
eDisk = 1,
eNetOk = 2,
eNetEarlyFail = 3,
eNetLateFail = 4,
e__Other__,
};
/**
* Upgrading display content Channel Disposition (key: enabled_wont)
*/
constexpr impl::Labeled<impl::CounterMetric, HttpChannelDispositionEnabledWontLabel> http_channel_disposition_enabled_wont(113);
/**
* generated from networking.http_channel_onstart_status
*/
enum class HttpChannelOnstartStatusLabel: uint16_t {
eSuccessful = 0,
eFail = 1,
e__Other__,
};
/**
* Whether successfully started HTTP channels
*/
constexpr impl::Labeled<impl::CounterMetric, HttpChannelOnstartStatusLabel> http_channel_onstart_status(114);
/**
* generated from networking.http_channel_onstart_success_https_rr
*/
enum class HttpChannelOnstartSuccessHttpsRrLabel: uint16_t {
eSuccess = 0,
eFailure = 1,
eSuccessEchUsed = 2,
eFailureEchUsed = 3,
e__Other__,
};
/**
* Successfully started HTTP channels when HTTPS RR is used
*/
constexpr impl::Labeled<impl::CounterMetric, HttpChannelOnstartSuccessHttpsRrLabel> http_channel_onstart_success_https_rr(115);
/**
* generated from networking.http_channel_page_open_to_first_sent
* Time in milliseconds from AsyncOpen to first byte of request sent, applicable for page loads without HTTPS RR
*/
constexpr impl::TimingDistributionMetric http_channel_page_open_to_first_sent(116);
/**
* generated from networking.http_channel_page_open_to_first_sent_https_rr
* Time in milliseconds from AsyncOpen to first byte of request sent, applicable for page loads with HTTPS RR
*/
constexpr impl::TimingDistributionMetric http_channel_page_open_to_first_sent_https_rr(117);
/**
* generated from networking.http_channel_sub_open_to_first_sent
* Time in milliseconds from AsyncOpen to first byte of request sent, applicable for sub-resource loads without HTTPS RR
*/
constexpr impl::TimingDistributionMetric http_channel_sub_open_to_first_sent(118);
/**
* generated from networking.http_channel_sub_open_to_first_sent_https_rr
* Time in milliseconds from AsyncOpen to first byte of request sent, applicable for sub-resource loads with HTTPS RR
*/
constexpr impl::TimingDistributionMetric http_channel_sub_open_to_first_sent_https_rr(119);
/**
* generated from networking.http_content_cssloader_ondatafinished_to_onstop_delay
* The time between processing OnDataFinished and processing OnStopRequest for CSSLoader in the content process
*/
constexpr impl::TimingDistributionMetric http_content_cssloader_ondatafinished_to_onstop_delay(120);
/**
* generated from networking.http_content_html5parser_ondatafinished_to_onstop_delay
* The time between processing OnDataFinished and processing OnStopRequest (if OnDataFinished comes first)
*/
constexpr impl::TimingDistributionMetric http_content_html5parser_ondatafinished_to_onstop_delay(121);
/**
* generated from networking.http_content_ondatafinished_delay
* The time between dispatching OnDataFinished from the socket thread and processing it on main/background thread.
*/
constexpr impl::TimingDistributionMetric http_content_ondatafinished_delay(122);
/**
* generated from networking.http_content_ondatafinished_delay_2
* The time between dispatching OnDataFinished from the socket thread and processing it on the background thread.
*/
constexpr impl::TimingDistributionMetric http_content_ondatafinished_delay_2(123);
/**
* generated from networking.http_content_ondatafinished_to_onstop_delay
* The time between processing OnDataFinished and processing OnStopRequest (if OnDataFinished comes first)
*/
constexpr impl::TimingDistributionMetric http_content_ondatafinished_to_onstop_delay(124);
/**
* generated from networking.http_content_onstart_delay
* The time between dispatching OnStartRequest from the socket thread and processing it on the main thread (content process).
*/
constexpr impl::TimingDistributionMetric http_content_onstart_delay(125);
/**
* generated from networking.http_content_onstop_delay
* The time between dispatching OnStopRequest from the socket thread and processing it on the main thread (content process).
*/
constexpr impl::TimingDistributionMetric http_content_onstop_delay(126);
/**
* generated from networking.http_ip_addr_any_count
*/
enum class HttpIpAddrAnyCountLabel: uint16_t {
eNotBlockedRequests = 0,
eBlockedRequests = 1,
e__Other__,
};
/**
* The number of times we see the IP address 0.0.0.0 or its IPv6 equivalent.
*/
constexpr impl::Labeled<impl::CounterMetric, HttpIpAddrAnyCountLabel> http_ip_addr_any_count(127);
/**
* generated from networking.http_ip_addr_any_hostnames
*/
enum class HttpIpAddrAnyHostnamesLabel: uint16_t {
eSuccess = 0,
eFailure = 1,
e__Other__,
};
/**
* The number of times we see the IP address 0.0.0.0 or its IPv6 equivalent used as hostnames
*/
constexpr impl::Labeled<impl::CounterMetric, HttpIpAddrAnyHostnamesLabel> http_ip_addr_any_hostnames(128);
/**
* generated from networking.http_onstart_suspend_total_time
* Time in milliseconds that http channel spent suspended between AsyncOpen and OnStartRequest.
*/
constexpr impl::TimingDistributionMetric http_onstart_suspend_total_time(129);
/**
* generated from networking.http_redirect_to_scheme_subresource
* Count of the HTTP redirection that triggered by subresource, keyed by the URL scheme redirected to
*/
constexpr impl::Labeled<impl::CounterMetric, DynamicLabel> http_redirect_to_scheme_subresource(130);
/**
* generated from networking.http_redirect_to_scheme_top_level
* Count of the HTTP redirection that triggered by top-level document, keyed by the URL scheme redirected to
*/
constexpr impl::Labeled<impl::CounterMetric, DynamicLabel> http_redirect_to_scheme_top_level(131);
/**
* generated from networking.http_response_status_code
*/
enum class HttpResponseStatusCodeLabel: uint16_t {
e200Ok = 0,
e301MovedPermanently = 1,
e302Found = 2,
e304NotModified = 3,
e307TemporaryRedirect = 4,
e308PermanentRedirect = 5,
e400BadRequest = 6,
e401Unauthorized = 7,
e403Forbidden = 8,
e404NotFound = 9,
e421MisdirectedRequest = 10,
e425TooEarly = 11,
e429TooManyRequests = 12,
eOther4xx = 13,
eOther5xx = 14,
eOther = 15,
e__Other__,
};
/**
* HTTP Response Status Code (200, 301, 302, 304, 307, 308, 400, 401, 403, 404, 421, 425, 429, other 400 and 500)
*/
constexpr impl::Labeled<impl::CounterMetric, HttpResponseStatusCodeLabel> http_response_status_code(132);
/**
* generated from networking.http_response_version
*/
enum class HttpResponseVersionLabel: uint16_t {
eUnknown = 0,
eHttp1 = 1,
eHttp2 = 2,
eHttp3 = 3,
e__Other__,
};
/**
* HTTP protocol version used on response from nsHttp.h
*/
constexpr impl::Labeled<impl::CounterMetric, HttpResponseVersionLabel> http_response_version(133);
/**
* generated from networking.http_to_https_upgrade_reason
*/
enum class HttpToHttpsUpgradeReasonLabel: uint16_t {
eNotInitialized = 0,
eNotInitializedHttps = 1,
eNoUpgrade = 2,
eNoUpgradeHttps = 3,
eAlreadyHttps = 4,
eHsts = 5,
eHttpsOnlyUpgrade = 6,
eHttpsOnlyUpgradeDowngrade = 7,
eHttpsFirstUpgrade = 8,
eHttpsFirstUpgradeDowngrade = 9,
eHttpsFirstSchemelessUpgrade = 10,
eHttpsFirstSchemelessUpgradeDowngrade = 11,
eCspUir = 12,
eHttpsRr = 13,
eWebExtensionUpgrade = 14,
eUpgradeException = 15,
eSkipUpgrade = 16,
e__Other__,
};
/**
* Whether a top-level HTTP request gets upgraded to HTTPS and the reason for it
*/
constexpr impl::Labeled<impl::CounterMetric, HttpToHttpsUpgradeReasonLabel> http_to_https_upgrade_reason(134);
/**
* generated from networking.https_http_or_local
*/
enum class HttpsHttpOrLocalLabel: uint16_t {
eLoadIsHttps = 0,
eLoadIsHttp = 1,
eLoadIsHttpForLocalDomain = 2,
e__Other__,
};
/**
* Whether a top-level request is HTTPS, HTTP, or HTTP for local domain
*/
constexpr impl::Labeled<impl::CounterMetric, HttpsHttpOrLocalLabel> https_http_or_local(135);
/**
* generated from networking.https_rr_presented
*/
enum class HttpsRrPresentedLabel: uint16_t {
ePresented = 0,
ePresentedWithHttp3 = 1,
eNone = 2,
e__Other__,
};
/**
* HTTPS RR is presented or not
*/
constexpr impl::Labeled<impl::CounterMetric, HttpsRrPresentedLabel> https_rr_presented(136);
/**
* generated from networking.local_network_access
*/
enum class LocalNetworkAccessLabel: uint16_t {
ePrivateToLocalHttp = 0,
ePrivateToLocalHttps = 1,
ePublicToLocalHttp = 2,
ePublicToLocalHttps = 3,
ePublicToPrivateHttp = 4,
ePublicToPrivateHttps = 5,
eSuccess = 6,
eFailure = 7,
e__Other__,
};
/**
* Whether the request is crossing to a more private addresspace
*/
constexpr impl::Labeled<impl::CounterMetric, LocalNetworkAccessLabel> local_network_access(137);
/**
* generated from networking.local_network_access_port
* port used for local network access
*/
constexpr impl::CustomDistributionMetric local_network_access_port(138);
/**
* generated from networking.os_socket_limit_reached
* Counts the number of times the os socket limit was reached. i.e. CanAttachSocket() returned false.
*/
constexpr impl::CounterMetric os_socket_limit_reached(139);
/**
* generated from networking.prclose_tcp_blocking_time_connectivity_change
* Time spent blocked in PR_Close when there has been the connectivity change in the last 60s (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCLOSE_TCP_BLOCKING_TIME_CONNECTIVITY_CHANGE.
*/
constexpr impl::TimingDistributionMetric prclose_tcp_blocking_time_connectivity_change(140);
/**
* generated from networking.prclose_tcp_blocking_time_link_change
* Time spent blocked in PR_Close when there has been a link change in the last 60s (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCLOSE_TCP_BLOCKING_TIME_LINK_CHANGE.
*/
constexpr impl::TimingDistributionMetric prclose_tcp_blocking_time_link_change(141);
/**
* generated from networking.prclose_tcp_blocking_time_normal
* Time spent blocked in PR_Close when we are not shutting down and there has been niether a network nor an offline state change in the last 60s (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCLOSE_TCP_BLOCKING_TIME_NORMAL.
*/
constexpr impl::TimingDistributionMetric prclose_tcp_blocking_time_normal(142);
/**
* generated from networking.prclose_tcp_blocking_time_offline
* Time spent blocked in PR_Close when the offline state has changed in the last 60s (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCLOSE_TCP_BLOCKING_TIME_OFFLINE.
*/
constexpr impl::TimingDistributionMetric prclose_tcp_blocking_time_offline(143);
/**
* generated from networking.prclose_tcp_blocking_time_shutdown
* Time spent blocked in PR_Close during a shutdown (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCLOSE_TCP_BLOCKING_TIME_SHUTDOWN.
*/
constexpr impl::TimingDistributionMetric prclose_tcp_blocking_time_shutdown(144);
/**
* generated from networking.prclose_udp_blocking_time_connectivity_change
* Time spent blocked in PR_Close when there has been the connectivity change in the last 60s (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCLOSE_UDP_BLOCKING_TIME_CONNECTIVITY_CHANGE.
*/
constexpr impl::TimingDistributionMetric prclose_udp_blocking_time_connectivity_change(145);
/**
* generated from networking.prclose_udp_blocking_time_link_change
* Time spent blocked in PR_Close when there has been a link change in the last 60s (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCLOSE_UDP_BLOCKING_TIME_LINK_CHANGE.
*/
constexpr impl::TimingDistributionMetric prclose_udp_blocking_time_link_change(146);
/**
* generated from networking.prclose_udp_blocking_time_normal
* Time spent blocked in PR_Close when we are not shutting down and there has been niether a network nor an offline state change in the last 60s (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCLOSE_UDP_BLOCKING_TIME_NORMAL.
*/
constexpr impl::TimingDistributionMetric prclose_udp_blocking_time_normal(147);
/**
* generated from networking.prclose_udp_blocking_time_offline
* Time spent blocked in PR_Close when the offline state has changed in the last 60s (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCLOSE_UDP_BLOCKING_TIME_OFFLINE.
*/
constexpr impl::TimingDistributionMetric prclose_udp_blocking_time_offline(148);
/**
* generated from networking.prclose_udp_blocking_time_shutdown
* Time spent blocked in PR_Close during a shutdown (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCLOSE_UDP_BLOCKING_TIME_SHUTDOWN.
*/
constexpr impl::TimingDistributionMetric prclose_udp_blocking_time_shutdown(149);
/**
* generated from networking.prconnect_blocking_time_connectivity_change
* Time spent blocked in PR_Connect when there has been the connectiviy change in the last 60s (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCONNECT_BLOCKING_TIME_CONNECTIVITY_CHANGE.
*/
constexpr impl::TimingDistributionMetric prconnect_blocking_time_connectivity_change(150);
/**
* generated from networking.prconnect_blocking_time_link_change
* Time spent blocked in PR_Connect when there has been a link change in the last 60s (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCONNECT_BLOCKING_TIME_LINK_CHANGE.
*/
constexpr impl::TimingDistributionMetric prconnect_blocking_time_link_change(151);
/**
* generated from networking.prconnect_blocking_time_normal
* Time spent blocked in PR_Connect when we are not shutting down and there has been niether a network nor an offline state change in the last 60s (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCONNECT_BLOCKING_TIME_NORMAL.
*/
constexpr impl::TimingDistributionMetric prconnect_blocking_time_normal(152);
/**
* generated from networking.prconnect_blocking_time_offline
* Time spent blocked in PR_Connect when the offline state has changed in the last 60s (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCONNECT_BLOCKING_TIME_OFFLINE.
*/
constexpr impl::TimingDistributionMetric prconnect_blocking_time_offline(153);
/**
* generated from networking.prconnect_blocking_time_shutdown
* Time spent blocked in PR_Connect during a shutdown (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCONNECT_BLOCKING_TIME_SHUTDOWN.
*/
constexpr impl::TimingDistributionMetric prconnect_blocking_time_shutdown(154);
/**
* generated from networking.prconnect_fail_blocking_time_connectivity_change
* Time spent blocked in a failed PR_Connect when there has been the connectiviy change in the last 60s (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCONNECT_FAIL_BLOCKING_TIME_CONNECTIVITY_CHANGE.
*/
constexpr impl::TimingDistributionMetric prconnect_fail_blocking_time_connectivity_change(155);
/**
* generated from networking.prconnect_fail_blocking_time_link_change
* Time spent blocked in a failed PR_Connect when there has been a link change in the last 60s (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCONNECT_FAIL_BLOCKING_TIME_LINK_CHANGE.
*/
constexpr impl::TimingDistributionMetric prconnect_fail_blocking_time_link_change(156);
/**
* generated from networking.prconnect_fail_blocking_time_normal
* Time spent blocked in a failed PR_Connect when we are not shutting down and there has been niether a network nor an offline state change in the last 60s (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCONNECT_FAIL_BLOCKING_TIME_NORMAL.
*/
constexpr impl::TimingDistributionMetric prconnect_fail_blocking_time_normal(157);
/**
* generated from networking.prconnect_fail_blocking_time_offline
* Time spent blocked in a failed PR_Connect when the offline state has changed in the last 60s (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCONNECT_FAIL_BLOCKING_TIME_OFFLINE.
*/
constexpr impl::TimingDistributionMetric prconnect_fail_blocking_time_offline(158);
/**
* generated from networking.prconnect_fail_blocking_time_shutdown
* Time spent blocked in a failed PR_Connect during a shutdown (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCONNECT_FAIL_BLOCKING_TIME_SHUTDOWN.
*/
constexpr impl::TimingDistributionMetric prconnect_fail_blocking_time_shutdown(159);
/**
* generated from networking.prconnectcontinue_blocking_time_connectivity_change
* Time spent blocked in PR_ConnectContinue when there has been the connectivity change in the last 60s (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCONNECTCONTINUE_BLOCKING_TIME_CONNECTIVITY_CHANGE.
*/
constexpr impl::TimingDistributionMetric prconnectcontinue_blocking_time_connectivity_change(160);
/**
* generated from networking.prconnectcontinue_blocking_time_link_change
* Time spent blocked in PR_ConnectContinue when there has been a link change in the last 60s (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCONNECTCONTINUE_BLOCKING_TIME_LINK_CHANGE.
*/
constexpr impl::TimingDistributionMetric prconnectcontinue_blocking_time_link_change(161);
/**
* generated from networking.prconnectcontinue_blocking_time_normal
* Time spent blocked in PR_ConnectContinue when we are not shutting down and there has been niether a network nor an offline state change in the last 60s (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCONNECTCONTINUE_BLOCKING_TIME_NORMAL.
*/
constexpr impl::TimingDistributionMetric prconnectcontinue_blocking_time_normal(162);
/**
* generated from networking.prconnectcontinue_blocking_time_offline
* Time spent blocked in PR_ConnectContinue when the offline state has changed in the last 60s (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCONNECTCONTINUE_BLOCKING_TIME_OFFLINE.
*/
constexpr impl::TimingDistributionMetric prconnectcontinue_blocking_time_offline(163);
/**
* generated from networking.prconnectcontinue_blocking_time_shutdown
* Time spent blocked in PR_ConnectContinue during a shutdown (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PRCONNECTCONTINUE_BLOCKING_TIME_SHUTDOWN.
*/
constexpr impl::TimingDistributionMetric prconnectcontinue_blocking_time_shutdown(164);
/**
* generated from networking.proxy_info_type
*/
enum class ProxyInfoTypeLabel: uint16_t {
eHttp = 0,
eHttps = 1,
eSocks4 = 2,
eSocks4a = 3,
eSocks5 = 4,
eSocks5h = 5,
eDirect = 6,
eUnknown = 7,
e__Other__,
};
/**
* The proxies configurations created in the browser session (SOCKSv4, SOCKSv5, HTTP, HTTPS)
*/
constexpr impl::Labeled<impl::CounterMetric, ProxyInfoTypeLabel> proxy_info_type(165);
/**
* generated from networking.residual_cache_folder_count
* Counts how often we find a cache folder that wasn't purged at shutdown by a background task process.
*/
constexpr impl::CounterMetric residual_cache_folder_count(166);
/**
* generated from networking.residual_cache_folder_removal
*/
enum class ResidualCacheFolderRemovalLabel: uint16_t {
eSuccess = 0,
eFailure = 1,
e__Other__,
};
/**
* Counts how often succeed/fail in removing cache folder that wasn't purged at shutdown
*/
constexpr impl::Labeled<impl::CounterMetric, ResidualCacheFolderRemovalLabel> residual_cache_folder_removal(167);
/**
* generated from networking.set_cookie
* This counts the number of times we set a cookie. Introduced as a denomenator for measuring CHIPS adoption.
*/
constexpr impl::DenominatorMetric set_cookie(168);
/**
* generated from networking.set_cookie_foreign
* This counts the number of times we set a cookie from a foreign (not same-site) context. Introduced as a denomenator for measuring CHIPS adoption.
*/
constexpr impl::NumeratorMetric set_cookie_foreign(169);
/**
* generated from networking.set_cookie_foreign_partitioned
* This counts the number of times we set a cookie that has the Partitioned attribute in a foreign (not same-site) context. This tracks the adoption of CHIPS.
*/
constexpr impl::NumeratorMetric set_cookie_foreign_partitioned(170);
/**
* generated from networking.set_cookie_partitioned
* This counts the number of times we set a cookie that has the Partitioned attribute. This tracks the adoption of CHIPS.
*/
constexpr impl::NumeratorMetric set_cookie_partitioned(171);
/**
* generated from networking.set_invalid_first_party_partitioned_cookie
* This counts the number of times we set an invalid first-party partitioned cookie.
*/
constexpr impl::CounterMetric set_invalid_first_party_partitioned_cookie(172);
/**
* generated from networking.speculative_connect_outcome
*/
enum class SpeculativeConnectOutcomeLabel: uint16_t {
eSuccessful = 0,
eAbortedSocketLimit = 1,
eAbortedSocketFail = 2,
eAbortedHttpsNotEnabled = 3,
e__Other__,
};
/**
* Counts the occurrence of each outcome of a speculative connection
*/
constexpr impl::Labeled<impl::CounterMetric, SpeculativeConnectOutcomeLabel> speculative_connect_outcome(173);
/**
* generated from networking.sqlite_cookies_block_main_thread
* Time spent on blocking main thread by startup cookie database read (in milliseconds), only for blocking case
*/
constexpr impl::TimingDistributionMetric sqlite_cookies_block_main_thread(174);
/**
* generated from networking.sqlite_cookies_time_to_block_main_thread
* How long (in milliseconds) after we finished reading the cookie db until the first cookie request came in (0 implies we blocked the main thread)
*/
constexpr impl::TimingDistributionMetric sqlite_cookies_time_to_block_main_thread(175);
/**
* generated from networking.transaction_wait_time
* Time from submission to dispatch of transaction without HTTPS RR (ms)
*/
constexpr impl::TimingDistributionMetric transaction_wait_time(176);
/**
* generated from networking.transaction_wait_time_https_rr
* Time from submission to dispatch of transaction when HTTPS RR is used (ms)
*/
constexpr impl::TimingDistributionMetric transaction_wait_time_https_rr(177);
/**
* generated from networking.trr_complete_load
*/
enum class TrrCompleteLoadLabel: uint16_t {
eMozillaCloudflareDnsCom = 0,
eFirefoxDnsNextdnsIo = 1,
ePrivateCanadianshieldCiraCa = 2,
eDohXfinityCom = 3,
eDnsShawCa = 4,
eDoohCloudflareDnsCom = 5,
eMozillaCloudflareDnsCom2 = 6,
eFirefoxDnsNextdnsIo2 = 7,
ePrivateCanadianshieldCiraCa2 = 8,
eDohXfinityCom2 = 9,
eDnsShawCa2 = 10,
eDoohCloudflareDnsCom2 = 11,
eMozillaCloudflareDnsCom3 = 12,
eFirefoxDnsNextdnsIo3 = 13,
ePrivateCanadianshieldCiraCa3 = 14,
eDohXfinityCom3 = 15,
eDnsShawCa3 = 16,
eDoohCloudflareDnsCom3 = 17,
e__Other__,
};
/**
* In TRR channel, overall load time.
*/
constexpr impl::Labeled<impl::TimingDistributionMetric, TrrCompleteLoadLabel> trr_complete_load(178);
/**
* generated from networking.trr_dns_end
*/
enum class TrrDnsEndLabel: uint16_t {
eMozillaCloudflareDnsCom = 0,
eFirefoxDnsNextdnsIo = 1,
ePrivateCanadianshieldCiraCa = 2,
eDohXfinityCom = 3,
eDnsShawCa = 4,
eDoohCloudflareDnsCom = 5,
eMozillaCloudflareDnsCom2 = 6,
eFirefoxDnsNextdnsIo2 = 7,
ePrivateCanadianshieldCiraCa2 = 8,
eDohXfinityCom2 = 9,
eDnsShawCa2 = 10,
eDoohCloudflareDnsCom2 = 11,
eMozillaCloudflareDnsCom3 = 12,
eFirefoxDnsNextdnsIo3 = 13,
ePrivateCanadianshieldCiraCa3 = 14,
eDohXfinityCom3 = 15,
eDnsShawCa3 = 16,
eDoohCloudflareDnsCom3 = 17,
e__Other__,
};
/**
* In TRR channel, time from the DNS request being issued to the response.
*/
constexpr impl::Labeled<impl::TimingDistributionMetric, TrrDnsEndLabel> trr_dns_end(179);
/**
* generated from networking.trr_dns_start
*/
enum class TrrDnsStartLabel: uint16_t {
eMozillaCloudflareDnsCom = 0,
eFirefoxDnsNextdnsIo = 1,
ePrivateCanadianshieldCiraCa = 2,
eDohXfinityCom = 3,
eDnsShawCa = 4,
eDoohCloudflareDnsCom = 5,
eMozillaCloudflareDnsCom2 = 6,
eFirefoxDnsNextdnsIo2 = 7,
ePrivateCanadianshieldCiraCa2 = 8,
eDohXfinityCom2 = 9,
eDnsShawCa2 = 10,
eDoohCloudflareDnsCom2 = 11,
eMozillaCloudflareDnsCom3 = 12,
eFirefoxDnsNextdnsIo3 = 13,
ePrivateCanadianshieldCiraCa3 = 14,
eDohXfinityCom3 = 15,
eDnsShawCa3 = 16,
eDoohCloudflareDnsCom3 = 17,
e__Other__,
};
/**
* In TRR channel, time from connection open to the DNS request being issued.
*/
constexpr impl::Labeled<impl::TimingDistributionMetric, TrrDnsStartLabel> trr_dns_start(180);
/**
* generated from networking.trr_fetch_duration
*/
enum class TrrFetchDurationLabel: uint16_t {
eH1 = 0,
eH1NetworkOnly = 1,
eH2 = 2,
eH2NetworkOnly = 3,
eH3 = 4,
eH3NetworkOnly = 5,
e__Other__,
};
/**
* Time for a successful DoH request, from AsyncOpen to ReturnData
*/
constexpr impl::Labeled<impl::TimingDistributionMetric, TrrFetchDurationLabel> trr_fetch_duration(181);
/**
* generated from networking.trr_first_sent_to_last_received
*/
enum class TrrFirstSentToLastReceivedLabel: uint16_t {
eMozillaCloudflareDnsCom = 0,
eFirefoxDnsNextdnsIo = 1,
ePrivateCanadianshieldCiraCa = 2,
eDohXfinityCom = 3,
eDnsShawCa = 4,
eDoohCloudflareDnsCom = 5,
eMozillaCloudflareDnsCom2 = 6,
eFirefoxDnsNextdnsIo2 = 7,
ePrivateCanadianshieldCiraCa2 = 8,
eDohXfinityCom2 = 9,
eDnsShawCa2 = 10,
eDoohCloudflareDnsCom2 = 11,
eMozillaCloudflareDnsCom3 = 12,
eFirefoxDnsNextdnsIo3 = 13,
ePrivateCanadianshieldCiraCa3 = 14,
eDohXfinityCom3 = 15,
eDnsShawCa3 = 16,
eDoohCloudflareDnsCom3 = 17,
e__Other__,
};
/**
* In TRR channel, time from first byte of request sent to last byte of response received.
*/
constexpr impl::Labeled<impl::TimingDistributionMetric, TrrFirstSentToLastReceivedLabel> trr_first_sent_to_last_received(182);
/**
* generated from networking.trr_open_to_first_received
*/
enum class TrrOpenToFirstReceivedLabel: uint16_t {
eMozillaCloudflareDnsCom = 0,
eFirefoxDnsNextdnsIo = 1,
ePrivateCanadianshieldCiraCa = 2,
eDohXfinityCom = 3,
eDnsShawCa = 4,
eDoohCloudflareDnsCom = 5,
eMozillaCloudflareDnsCom2 = 6,
eFirefoxDnsNextdnsIo2 = 7,
ePrivateCanadianshieldCiraCa2 = 8,
eDohXfinityCom2 = 9,
eDnsShawCa2 = 10,
eDoohCloudflareDnsCom2 = 11,
eMozillaCloudflareDnsCom3 = 12,
eFirefoxDnsNextdnsIo3 = 13,
ePrivateCanadianshieldCiraCa3 = 14,
eDohXfinityCom3 = 15,
eDnsShawCa3 = 16,
eDoohCloudflareDnsCom3 = 17,
e__Other__,
};
/**
* In TRR channel, time from open to first byte of reply received.
*/
constexpr impl::Labeled<impl::TimingDistributionMetric, TrrOpenToFirstReceivedLabel> trr_open_to_first_received(183);
/**
* generated from networking.trr_open_to_first_sent
*/
enum class TrrOpenToFirstSentLabel: uint16_t {
eMozillaCloudflareDnsCom = 0,
eFirefoxDnsNextdnsIo = 1,
ePrivateCanadianshieldCiraCa = 2,
eDohXfinityCom = 3,
eDnsShawCa = 4,
eDoohCloudflareDnsCom = 5,
eMozillaCloudflareDnsCom2 = 6,
eFirefoxDnsNextdnsIo2 = 7,
ePrivateCanadianshieldCiraCa2 = 8,
eDohXfinityCom2 = 9,
eDnsShawCa2 = 10,
eDoohCloudflareDnsCom2 = 11,
eMozillaCloudflareDnsCom3 = 12,
eFirefoxDnsNextdnsIo3 = 13,
ePrivateCanadianshieldCiraCa3 = 14,
eDohXfinityCom3 = 15,
eDnsShawCa3 = 16,
eDoohCloudflareDnsCom3 = 17,
e__Other__,
};
/**
* In TRR channel, time from open to first byte of request.
*/
constexpr impl::Labeled<impl::TimingDistributionMetric, TrrOpenToFirstSentLabel> trr_open_to_first_sent(184);
/**
* generated from networking.trr_request_count
*/
enum class TrrRequestCountLabel: uint16_t {
eRegular = 0,
ePrivate = 1,
e__Other__,
};
/**
* The count of successful TRR requests keyed by regular/private browsing
*/
constexpr impl::Labeled<impl::CounterMetric, TrrRequestCountLabel> trr_request_count(185);
/**
* generated from networking.trr_request_count_per_conn
*/
enum class TrrRequestCountPerConnLabel: uint16_t {
eH1 = 0,
eH2 = 1,
eH3 = 2,
e__Other__,
};
/**
* Number of DOH requests per connection keyed by HTTP version
*/
constexpr impl::Labeled<impl::CounterMetric, TrrRequestCountPerConnLabel> trr_request_count_per_conn(186);
/**
* generated from networking.trr_request_size
*/
enum class TrrRequestSizeLabel: uint16_t {
eMozillaCloudflareDnsCom = 0,
eFirefoxDnsNextdnsIo = 1,
ePrivateCanadianshieldCiraCa = 2,
eDohXfinityCom = 3,
eDnsShawCa = 4,
eDoohCloudflareDnsCom = 5,
eMozillaCloudflareDnsCom2 = 6,
eFirefoxDnsNextdnsIo2 = 7,
ePrivateCanadianshieldCiraCa2 = 8,
eDohXfinityCom2 = 9,
eDnsShawCa2 = 10,
eDoohCloudflareDnsCom2 = 11,
eMozillaCloudflareDnsCom3 = 12,
eFirefoxDnsNextdnsIo3 = 13,
ePrivateCanadianshieldCiraCa3 = 14,
eDohXfinityCom3 = 15,
eDnsShawCa3 = 16,
eDoohCloudflareDnsCom3 = 17,
e__Other__,
};
/**
* In TRR channel, the size of the HTTP request.
*/
constexpr impl::Labeled<impl::MemoryDistributionMetric, TrrRequestSizeLabel> trr_request_size(187);
/**
* generated from networking.trr_response_size
*/
enum class TrrResponseSizeLabel: uint16_t {
eMozillaCloudflareDnsCom = 0,
eFirefoxDnsNextdnsIo = 1,
ePrivateCanadianshieldCiraCa = 2,
eDohXfinityCom = 3,
eDnsShawCa = 4,
eDoohCloudflareDnsCom = 5,
eMozillaCloudflareDnsCom2 = 6,
eFirefoxDnsNextdnsIo2 = 7,
ePrivateCanadianshieldCiraCa2 = 8,
eDohXfinityCom2 = 9,
eDnsShawCa2 = 10,
eDoohCloudflareDnsCom2 = 11,
eMozillaCloudflareDnsCom3 = 12,
eFirefoxDnsNextdnsIo3 = 13,
ePrivateCanadianshieldCiraCa3 = 14,
eDohXfinityCom3 = 15,
eDnsShawCa3 = 16,
eDoohCloudflareDnsCom3 = 17,
e__Other__,
};
/**
* In TRR channel, the size of the HTTP response.
*/
constexpr impl::Labeled<impl::MemoryDistributionMetric, TrrResponseSizeLabel> trr_response_size(188);
/**
* generated from networking.trr_tcp_connection
*/
enum class TrrTcpConnectionLabel: uint16_t {
eMozillaCloudflareDnsCom = 0,
eFirefoxDnsNextdnsIo = 1,
ePrivateCanadianshieldCiraCa = 2,
eDohXfinityCom = 3,
eDnsShawCa = 4,
eDoohCloudflareDnsCom = 5,
eMozillaCloudflareDnsCom2 = 6,
eFirefoxDnsNextdnsIo2 = 7,
ePrivateCanadianshieldCiraCa2 = 8,
eDohXfinityCom2 = 9,
eDnsShawCa2 = 10,
eDoohCloudflareDnsCom2 = 11,
eMozillaCloudflareDnsCom3 = 12,
eFirefoxDnsNextdnsIo3 = 13,
ePrivateCanadianshieldCiraCa3 = 14,
eDohXfinityCom3 = 15,
eDnsShawCa3 = 16,
eDoohCloudflareDnsCom3 = 17,
e__Other__,
};
/**
* In TRR channel, time from the TCP SYN packet is received to the connection is established and ready for HTTP.
*/
constexpr impl::Labeled<impl::TimingDistributionMetric, TrrTcpConnectionLabel> trr_tcp_connection(189);
/**
* generated from networking.trr_tls_handshake
*/
enum class TrrTlsHandshakeLabel: uint16_t {
eMozillaCloudflareDnsCom = 0,
eFirefoxDnsNextdnsIo = 1,
ePrivateCanadianshieldCiraCa = 2,
eDohXfinityCom = 3,
eDnsShawCa = 4,
eDoohCloudflareDnsCom = 5,
eMozillaCloudflareDnsCom2 = 6,
eFirefoxDnsNextdnsIo2 = 7,
ePrivateCanadianshieldCiraCa2 = 8,
eDohXfinityCom2 = 9,
eDnsShawCa2 = 10,
eDoohCloudflareDnsCom2 = 11,
eMozillaCloudflareDnsCom3 = 12,
eFirefoxDnsNextdnsIo3 = 13,
ePrivateCanadianshieldCiraCa3 = 14,
eDohXfinityCom3 = 15,
eDnsShawCa3 = 16,
eDoohCloudflareDnsCom3 = 17,
e__Other__,
};
/**
* In TRR channel, time from after the TCP SYN packet is received to the secure connection is established and ready for HTTP.
*/
constexpr impl::Labeled<impl::TimingDistributionMetric, TrrTlsHandshakeLabel> trr_tls_handshake(190);
}
namespace glam_experiment {
/**
* generated from glam_experiment.http_content_html5parser_ondatafinished_to_onstop_delay
* Duplicate of: `networking.http_content_html5parser_ondatafinished_to_onstop_delay`
* Intended for the purpose of testing client side sampling of data. This metric is disabled by default and will be enabled only for the purpose of the experiment. See Bug 1947604 for more information.
*/
constexpr impl::TimingDistributionMetric http_content_html5parser_ondatafinished_to_onstop_delay(301);
/**
* generated from glam_experiment.os_socket_limit_reached
* Duplicate of: `networking.os_socket_limit_reached`
* Intended for the purpose of testing client side sampling of data. This metric is disabled by default and will be enabled only for the purpose of the experiment. See Bug 1947604 for more information.
*/
constexpr impl::CounterMetric os_socket_limit_reached(302);
}
namespace network {
/**
* generated from network.backgroundfilesaver_thread_count
* Maximum number of concurrent threads reached during a given download session
* This metric was generated to correspond to the Legacy Telemetry enumerated histogram BACKGROUNDFILESAVER_THREAD_COUNT.
*/
constexpr impl::CustomDistributionMetric backgroundfilesaver_thread_count(4102);
/**
* generated from network.id
* Network identification (0=None, 1=New Ipv4, 2=Same, 3=New IPv6, 4=New dual)
* This metric was generated to correspond to the Legacy Telemetry enumerated histogram NETWORK_ID2.
*/
constexpr impl::CustomDistributionMetric id(4103);
/**
* generated from network.id_online
*/
enum class IdOnlineLabel: uint16_t {
eAbsent = 0,
ePresent = 1,
e__Other__,
};
/**
* Network ID presence when the network connectivity checker reports that we have connectivity
* This metric was generated to correspond to the Legacy Telemetry categorical histogram NETWORK_ID_ONLINE.
*/
constexpr impl::Labeled<impl::CounterMetric, IdOnlineLabel> id_online(4104);
/**
* generated from network.ipv4_and_ipv6_address_connectivity
* Count the number of 0) successful connections to an ipv4 address, 1) failed connection an ipv4 address, 2) successful connection to an ipv6 address and 3) failed connections to an ipv6 address.
* This metric was generated to correspond to the Legacy Telemetry enumerated histogram IPV4_AND_IPV6_ADDRESS_CONNECTIVITY.
*/
constexpr impl::CustomDistributionMetric ipv4_and_ipv6_address_connectivity(4105);
/**
* generated from network.rel_preload_miss_ratio
*/
enum class RelPreloadMissRatioLabel: uint16_t {
eTypeScriptUsed = 0,
eTypeScriptUnused = 1,
eTypeStyleUsed = 2,
eTypeStyleUnused = 3,
eTypeImageUsed = 4,
eTypeImageUnused = 5,
eTypeFontUsed = 6,
eTypeFontUnused = 7,
eTypeFetchUsed = 8,
eTypeFetchUnused = 9,
e__Other__,
};
/**
* Ratio of used and unused resources preloaded with link rel=preload tag or response header, broken down by supported resource type.
* This metric was generated to correspond to the Legacy Telemetry categorical histogram REL_PRELOAD_MISS_RATIO.
*/
constexpr impl::Labeled<impl::CounterMetric, RelPreloadMissRatioLabel> rel_preload_miss_ratio(4106);
}
namespace network_cookies {
/**
* generated from network.cookies.sqlite_open_readahead
* Time spent on cookie DB open with readahead (ms)
* This metric was generated to correspond to the Legacy Telemetry exponential histogram MOZ_SQLITE_COOKIES_OPEN_READAHEAD_MS.
*/
constexpr impl::TimingDistributionMetric sqlite_open_readahead(4201);
}
namespace network_dns {
/**
* generated from network.dns.trr_confirmation_context
*/
struct TrrConfirmationContextExtra {
mozilla::Maybe<uint32_t> attemptcount;
mozilla::Maybe<nsCString> captiveportal;
mozilla::Maybe<nsCString> contextreason;
mozilla::Maybe<nsCString> failedlookups;
mozilla::Maybe<nsCString> networkid;
mozilla::Maybe<nsCString> results;
mozilla::Maybe<nsCString> time;
mozilla::Maybe<nsCString> trigger;
mozilla::Maybe<uint32_t> value;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (attemptcount) {
extraKeys.AppendElement()->AssignASCII("attemptCount");
extraValues.AppendElement()->AppendInt(attemptcount.value());
}
if (captiveportal) {
extraKeys.AppendElement()->AssignASCII("captivePortal");
extraValues.EmplaceBack(captiveportal.value());
}
if (contextreason) {
extraKeys.AppendElement()->AssignASCII("contextReason");
extraValues.EmplaceBack(contextreason.value());
}
if (failedlookups) {
extraKeys.AppendElement()->AssignASCII("failedLookups");
extraValues.EmplaceBack(failedlookups.value());
}
if (networkid) {
extraKeys.AppendElement()->AssignASCII("networkID");
extraValues.EmplaceBack(networkid.value());
}
if (results) {
extraKeys.AppendElement()->AssignASCII("results");
extraValues.EmplaceBack(results.value());
}
if (time) {
extraKeys.AppendElement()->AssignASCII("time");
extraValues.EmplaceBack(time.value());
}
if (trigger) {
extraKeys.AppendElement()->AssignASCII("trigger");
extraValues.EmplaceBack(trigger.value());
}
if (value) {
extraKeys.AppendElement()->AssignASCII("value");
extraValues.AppendElement()->AppendInt(value.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* This telemetry records the status of the TRR confirmation across. The value of the event is one of: "ok" "trying" This event was generated to correspond to the Legacy Telemetry event network.dns.trrConfirmation#context.
*/
constexpr impl::EventMetric<TrrConfirmationContextExtra> trr_confirmation_context(4202);
}
namespace network_sso {
/**
* generated from network.sso.entra_success
*/
enum class EntraSuccessLabel: uint16_t {
eSuccess = 0,
eDeviceHeadersMissing = 1,
ePrtHeadersMissing = 2,
eBothHeadersMissing = 3,
eInvalidCookie = 4,
eNoCredential = 5,
eBrokerError = 6,
eInvalidControllerSetup = 7,
e__Other__,
};
/**
* Counts how often Entra SSO succeeded/failed (macOS only). Labels are ordered in reverse chronological relation to SSO success, meaning the labels higher up are closer to the SSO success. device_headers_missing: only device_headers is missing in the SSO cookie. prt_headers_missing: only prt_headers is missing in the SSO cookie. both_headers_missing: both prt_headers and device_headers are missing in the SSO cookie. invalid_cookie: Failed to parse SSO cookie (could be a null cookie/format is incorrect). no_credential: ASAuthorizationSingleSignOnCredential is not present broker_error: An error from Microsoft's broker. invalid_controller_setup: ASAuthorizationController is setup incorrectly.
*/
constexpr impl::Labeled<impl::CounterMetric, EntraSuccessLabel> entra_success(4203);
/**
* generated from network.sso.total_entra_uses
* Counts how often Entra SSO is used (macOS only).
*/
constexpr impl::CounterMetric total_entra_uses(4204);
}
namespace predictor {
/**
* generated from predictor.base_confidence
* The base confidence calculated for a subresource
* This metric was generated to correspond to the Legacy Telemetry linear histogram PREDICTOR_BASE_CONFIDENCE.
*/
constexpr impl::CustomDistributionMetric base_confidence(4205);
/**
* generated from predictor.confidence
* The final confidence calculated for a subresource
* This metric was generated to correspond to the Legacy Telemetry linear histogram PREDICTOR_CONFIDENCE.
*/
constexpr impl::CustomDistributionMetric confidence(4206);
/**
* generated from predictor.global_degradation
* The global degradation calculated
* This metric was generated to correspond to the Legacy Telemetry linear histogram PREDICTOR_GLOBAL_DEGRADATION.
*/
constexpr impl::CustomDistributionMetric global_degradation(4207);
/**
* generated from predictor.learn_attempts
* Number of times nsINetworkPredictor::Learn is called and attempts to learn
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PREDICTOR_LEARN_ATTEMPTS.
*/
constexpr impl::CustomDistributionMetric learn_attempts(4208);
/**
* generated from predictor.learn_work_time
* Amount of time spent doing the work for learn (ms)
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PREDICTOR_LEARN_WORK_TIME.
*/
constexpr impl::TimingDistributionMetric learn_work_time(4209);
/**
* generated from predictor.predict_time_to_action
* How long it takes from the time Predict() is called to the time we take action
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PREDICTOR_PREDICT_TIME_TO_ACTION.
*/
constexpr impl::TimingDistributionMetric predict_time_to_action(4210);
/**
* generated from predictor.predict_time_to_inaction
* How long it takes from the time Predict() is called to the time we figure out there's nothing to do
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PREDICTOR_PREDICT_TIME_TO_INACTION.
*/
constexpr impl::TimingDistributionMetric predict_time_to_inaction(4211);
/**
* generated from predictor.predict_work_time
* Amount of time spent doing the work for predict (ms)
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PREDICTOR_PREDICT_WORK_TIME.
*/
constexpr impl::TimingDistributionMetric predict_work_time(4212);
/**
* generated from predictor.predictions_calculated
* How many prediction calculations are performed
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PREDICTOR_PREDICTIONS_CALCULATED.
*/
constexpr impl::CustomDistributionMetric predictions_calculated(4213);
/**
* generated from predictor.prefetch_decision_reason
* Why the predictor determined a particular resource was eligible for future prefetch (or not). See PrefetchDecisionReason in Predictor.cpp for value meanings
* This metric was generated to correspond to the Legacy Telemetry enumerated histogram PREDICTOR_PREFETCH_DECISION_REASON.
*/
constexpr impl::CustomDistributionMetric prefetch_decision_reason(4214);
/**
* generated from predictor.prefetch_ignore_reason
* Why the predictor determined a particular resource that was marked eligible for prefetch should not be prefetched. See PrefetchIgnoreReason in Predictor.cpp for value meanings
* This metric was generated to correspond to the Legacy Telemetry enumerated histogram PREDICTOR_PREFETCH_IGNORE_REASON.
*/
constexpr impl::CustomDistributionMetric prefetch_ignore_reason(4215);
/**
* generated from predictor.prefetch_time
* How long it takes from OnStartRequest to OnStopRequest for a prefetch
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PREDICTOR_PREFETCH_TIME.
*/
constexpr impl::TimingDistributionMetric prefetch_time(4216);
/**
* generated from predictor.prefetch_use_status
*/
enum class PrefetchUseStatusLabel: uint16_t {
eUsed = 0,
eNot200 = 1,
eExpired = 2,
eWouldvary = 3,
eWaitedtoolong = 4,
eEtag = 5,
eAuth = 6,
eRedirect = 7,
e__Other__,
};
/**
* If and why prefetches are used/unused.
* This metric was generated to correspond to the Legacy Telemetry categorical histogram PREDICTOR_PREFETCH_USE_STATUS.
*/
constexpr impl::Labeled<impl::CounterMetric, PrefetchUseStatusLabel> prefetch_use_status(4217);
/**
* generated from predictor.subresource_degradation
* The degradation calculated for a subresource
* This metric was generated to correspond to the Legacy Telemetry linear histogram PREDICTOR_SUBRESOURCE_DEGRADATION.
*/
constexpr impl::CustomDistributionMetric subresource_degradation(4218);
/**
* generated from predictor.total_preconnects
* How many actual preconnects happen
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PREDICTOR_TOTAL_PRECONNECTS.
*/
constexpr impl::CustomDistributionMetric total_preconnects(4219);
/**
* generated from predictor.total_predictions
* How many actual predictions (preresolves, preconnects, ...) happen
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PREDICTOR_TOTAL_PREDICTIONS.
*/
constexpr impl::CustomDistributionMetric total_predictions(4220);
/**
* generated from predictor.total_prefetches
* How many actual prefetches happen
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PREDICTOR_TOTAL_PREFETCHES.
*/
constexpr impl::CustomDistributionMetric total_prefetches(4221);
/**
* generated from predictor.total_preresolves
* How many actual preresolves happen
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PREDICTOR_TOTAL_PRERESOLVES.
*/
constexpr impl::CustomDistributionMetric total_preresolves(4222);
/**
* generated from predictor.wait_time
* Amount of time a predictor event waits in the queue (ms)
* This metric was generated to correspond to the Legacy Telemetry exponential histogram PREDICTOR_WAIT_TIME.
*/
constexpr impl::TimingDistributionMetric wait_time(4223);
}
namespace sts {
/**
* generated from sts.poll_and_event_the_last_cycle
* The duraion of the socketThread cycle during shutdown, including polls and pending events. (ms)
* This metric was generated to correspond to the Legacy Telemetry exponential histogram STS_POLL_AND_EVENT_THE_LAST_CYCLE.
*/
constexpr impl::TimingDistributionMetric poll_and_event_the_last_cycle(4224);
/**
* generated from sts.poll_and_events_cycle
* The duraion of a socketThread cycle, including polls and pending events. (ms)
* This metric was generated to correspond to the Legacy Telemetry exponential histogram STS_POLL_AND_EVENTS_CYCLE.
*/
constexpr impl::TimingDistributionMetric poll_and_events_cycle(4225);
/**
* generated from sts.poll_block_time
* Time spent blocked on poll (ms).
* This metric was generated to correspond to the Legacy Telemetry exponential histogram STS_POLL_BLOCK_TIME.
*/
constexpr impl::TimingDistributionMetric poll_block_time(4226);
/**
* generated from sts.poll_cycle
* The duration of poll. (ms)
* This metric was generated to correspond to the Legacy Telemetry exponential histogram STS_POLL_CYCLE.
*/
constexpr impl::TimingDistributionMetric poll_cycle(4227);
}
} // namespace mozilla::glean
#endif // mozilla_GleanNetwerkMetrics_h