mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-10-29 15:36:32 +02:00
Bug 1960567 - Migrate histograms to use Glean APIs in netwerk/protocol/http/, r=chutten,necko-reviewers,jesup.
Differential Revision: https://phabricator.services.mozilla.com/D255547
This commit is contained in:
parent
27165f1e2c
commit
00313a80b6
4 changed files with 205 additions and 39 deletions
|
|
@ -1790,6 +1790,36 @@ networking:
|
|||
description: >
|
||||
Upgrading display content Channel Disposition (key: disabled_wont)
|
||||
|
||||
http_channel_disposition_upgrade:
|
||||
type: dual_labeled_counter
|
||||
description: >
|
||||
Upgrading display content Channel Disposition
|
||||
|
||||
This metric was generated to correspond to the Legacy Telemetry
|
||||
categorical histogram HTTP_CHANNEL_DISPOSITION_UPGRADE.
|
||||
dual_labels:
|
||||
key:
|
||||
description: No static keys unfortunately.
|
||||
category:
|
||||
labels:
|
||||
- cancel
|
||||
- disk
|
||||
- netOk
|
||||
- netEarlyFail
|
||||
- netLateFail
|
||||
description: Labels of the keyed categorical legacy telemetry histogram
|
||||
HTTP_CHANNEL_DISPOSITION_UPGRADE.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1440701
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1440701
|
||||
notification_emails:
|
||||
- necko@mozilla.com
|
||||
- seceng-telemetry@mozilla.com
|
||||
- jkt@mozilla.com
|
||||
expires: never
|
||||
telemetry_mirror: HTTP_CHANNEL_DISPOSITION_UPGRADE
|
||||
|
||||
http_channel_onstart_status:
|
||||
type: labeled_counter
|
||||
description: >
|
||||
|
|
@ -1807,6 +1837,33 @@ networking:
|
|||
- successful
|
||||
- fail
|
||||
|
||||
http3_channel_onstart_success:
|
||||
type: dual_labeled_counter
|
||||
description: >
|
||||
Successfully started HTTP channels when HTTP3 is used
|
||||
|
||||
This metric was generated to correspond to the Legacy Telemetry boolean
|
||||
histogram HTTP3_CHANNEL_ONSTART_SUCCESS.
|
||||
dual_labels:
|
||||
key:
|
||||
labels:
|
||||
- "http3"
|
||||
- "no_http3"
|
||||
description: Whether http3 was used.
|
||||
category:
|
||||
labels:
|
||||
- "false"
|
||||
- "true"
|
||||
description: Boolean
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1677987
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1677987
|
||||
notification_emails:
|
||||
- necko@mozilla.com
|
||||
expires: never
|
||||
telemetry_mirror: HTTP3_CHANNEL_ONSTART_SUCCESS
|
||||
|
||||
http_channel_page_open_to_first_sent:
|
||||
type: timing_distribution
|
||||
time_unit: millisecond
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@
|
|||
|
||||
#include "mozilla/StaticPrefs_network.h"
|
||||
#include "mozilla/glean/NetwerkProtocolHttpMetrics.h"
|
||||
#include "mozilla/Telemetry.h"
|
||||
#include "mozilla/Unused.h"
|
||||
#include "nsSocketTransportService2.h"
|
||||
|
||||
|
|
@ -24,9 +23,8 @@ static constexpr nsLiteralCString gKeyName[] = {
|
|||
};
|
||||
#undef DEFINE_CATEGORY
|
||||
|
||||
#define DEFINE_CATEGORY(_name, _idx) \
|
||||
Telemetry::LABELS_HTTP_TRAFFIC_ANALYSIS_3::Y##_idx##_##_name,
|
||||
static const Telemetry::LABELS_HTTP_TRAFFIC_ANALYSIS_3 gTelemetryLabel[] = {
|
||||
#define DEFINE_CATEGORY(_name, _idx) "Y##_idx##_##_name"_ns,
|
||||
static const nsLiteralCString gTelemetryLabel[] = {
|
||||
#include "HttpTrafficAnalyzer.inc"
|
||||
};
|
||||
#undef DEFINE_CATEGORY
|
||||
|
|
@ -187,8 +185,9 @@ void HttpTrafficAnalyzer::IncrementHttpTransaction(
|
|||
LOG(("HttpTrafficAnalyzer::IncrementHttpTransaction [%s] [this=%p]\n",
|
||||
gKeyName[aCategory].get(), this));
|
||||
|
||||
Telemetry::AccumulateCategoricalKeyed("Transaction"_ns,
|
||||
gTelemetryLabel[aCategory]);
|
||||
glean::http::traffic_analysis
|
||||
.Get("Transaction"_ns, gTelemetryLabel[aCategory])
|
||||
.Add();
|
||||
}
|
||||
|
||||
void HttpTrafficAnalyzer::IncrementHttpConnection(
|
||||
|
|
@ -200,8 +199,8 @@ void HttpTrafficAnalyzer::IncrementHttpConnection(
|
|||
LOG(("HttpTrafficAnalyzer::IncrementHttpConnection [%s] [this=%p]\n",
|
||||
gKeyName[aCategory].get(), this));
|
||||
|
||||
Telemetry::AccumulateCategoricalKeyed("Connection"_ns,
|
||||
gTelemetryLabel[aCategory]);
|
||||
glean::http::traffic_analysis.Get("Connection"_ns, gTelemetryLabel[aCategory])
|
||||
.Add();
|
||||
}
|
||||
|
||||
void HttpTrafficAnalyzer::IncrementHttpConnection(
|
||||
|
|
|
|||
|
|
@ -1383,7 +1383,6 @@ networking:
|
|||
- https://bugzil.la/1706842
|
||||
notification_emails:
|
||||
- arthur@mozilla.com
|
||||
- tanvi@mozilla.com
|
||||
- tihuang@mozilla.com
|
||||
expires: never
|
||||
telemetry_mirror: NETWORKING_DATA_TRANSFERRED_V3_KB
|
||||
|
|
@ -2894,6 +2893,118 @@ http:
|
|||
expires: never
|
||||
telemetry_mirror: h#ECHCONFIG_SUCCESS_RATE
|
||||
|
||||
cache_disposition:
|
||||
type: dual_labeled_counter
|
||||
description: >
|
||||
HTTP Cache v2 hit/miss stats keyed by content type.
|
||||
|
||||
This metric was generated to correspond to the Legacy Telemetry
|
||||
categorical histogram HTTP_CACHE_DISPOSITION_3.
|
||||
dual_labels:
|
||||
key:
|
||||
description: Keys of the keyed categorical legacy telemetry histogram
|
||||
HTTP_CACHE_DISPOSITION_3.
|
||||
labels:
|
||||
- ALL
|
||||
- UNKNOWN
|
||||
- OTHER
|
||||
- JAVASCRIPT
|
||||
- IMAGE
|
||||
- MEDIA
|
||||
- STYLESHEET
|
||||
- WASM
|
||||
category:
|
||||
labels:
|
||||
- Unresolved
|
||||
- Hit
|
||||
- HitViaReval
|
||||
- MissedViaReval
|
||||
- Missed
|
||||
- Unknown
|
||||
description: Labels of the keyed categorical legacy telemetry histogram
|
||||
HTTP_CACHE_DISPOSITION_3.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1611185
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1611185
|
||||
notification_emails:
|
||||
- necko@mozilla.com
|
||||
expires: never
|
||||
telemetry_mirror: HTTP_CACHE_DISPOSITION_3
|
||||
|
||||
traffic_analysis:
|
||||
type: dual_labeled_counter
|
||||
description: >
|
||||
Numbers of HTTP transactions and connections by type. There are some
|
||||
categories separated by labels based on 5 parameters: 1. normal browsing
|
||||
or private browsing 2. system principal or not 3. first party or third
|
||||
party 4. class of service (Leader/Background/Others) 5. tracking
|
||||
classification (Basic/Content/FingerprintingContent).
|
||||
|
||||
This metric was generated to correspond to the Legacy Telemetry
|
||||
categorical histogram HTTP_TRAFFIC_ANALYSIS_3.
|
||||
dual_labels:
|
||||
key:
|
||||
description: Keys of the keyed categorical legacy telemetry histogram
|
||||
HTTP_TRAFFIC_ANALYSIS_3.
|
||||
labels:
|
||||
- Connection
|
||||
- Transaction
|
||||
category:
|
||||
labels:
|
||||
- Y0_N1Sys
|
||||
- Y1_N1
|
||||
- Y2_N3Oth
|
||||
- Y3_N3BasicLead
|
||||
- Y4_N3BasicBg
|
||||
- Y5_N3BasicOth
|
||||
- Y6_N3ContentLead
|
||||
- Y7_N3ContentBg
|
||||
- Y8_N3ContentOth
|
||||
- Y9_N3FpLead
|
||||
- Y10_N3FpBg
|
||||
- Y11_N3FpOth
|
||||
- Y12_P1Sys
|
||||
- Y13_P1
|
||||
- Y14_P3Oth
|
||||
- Y15_P3BasicLead
|
||||
- Y16_P3BasicBg
|
||||
- Y17_P3BasicOth
|
||||
- Y18_P3ContentLead
|
||||
- Y19_P3ContentBg
|
||||
- Y20_P3ContentOth
|
||||
- Y21_P3FpLead
|
||||
- Y22_P3FpBg
|
||||
- Y23_P3FpOth
|
||||
description: Labels of the keyed categorical legacy telemetry histogram
|
||||
HTTP_TRAFFIC_ANALYSIS_3.
|
||||
bugs:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1533363
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1546796
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1546906
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1550756
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1572666
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1590124
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1621800
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1668604
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1706842
|
||||
data_reviews:
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1533363
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1546796
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1546906
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1550756
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1572666
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1590124
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1621800
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1668604
|
||||
- https://bugzilla.mozilla.org/show_bug.cgi?id=1706842
|
||||
notification_emails:
|
||||
- arthur@mozilla.com
|
||||
- tanvi@mozilla.com
|
||||
- tihuang@mozilla.com
|
||||
expires: never
|
||||
telemetry_mirror: HTTP_TRAFFIC_ANALYSIS_3
|
||||
|
||||
http3:
|
||||
ech_outcome:
|
||||
type: labeled_custom_distribution
|
||||
|
|
|
|||
|
|
@ -185,6 +185,25 @@ enum ChannelDisposition {
|
|||
kHttpsNetLateFail = 12
|
||||
};
|
||||
|
||||
static nsLiteralCString CacheDispositionToTelemetryLabel(
|
||||
CacheDisposition hitOrMiss) {
|
||||
switch (hitOrMiss) {
|
||||
case kCacheUnresolved:
|
||||
return "Unresolved"_ns;
|
||||
case kCacheHit:
|
||||
return "Hit"_ns;
|
||||
case kCacheHitViaReval:
|
||||
return "HitViaReval"_ns;
|
||||
case kCacheMissedViaReval:
|
||||
return "MissedViaReval"_ns;
|
||||
case kCacheMissed:
|
||||
return "Missed"_ns;
|
||||
case kCacheUnknown:
|
||||
return "Unknown"_ns;
|
||||
}
|
||||
return "Unresolved"_ns;
|
||||
}
|
||||
|
||||
void AccumulateCacheHitTelemetry(CacheDisposition hitOrMiss,
|
||||
nsIChannel* aChannel) {
|
||||
nsCString key("UNKNOWN");
|
||||
|
|
@ -214,31 +233,9 @@ void AccumulateCacheHitTelemetry(CacheDisposition hitOrMiss,
|
|||
}
|
||||
}
|
||||
|
||||
Telemetry::LABELS_HTTP_CACHE_DISPOSITION_3 label =
|
||||
Telemetry::LABELS_HTTP_CACHE_DISPOSITION_3::Unresolved;
|
||||
switch (hitOrMiss) {
|
||||
case kCacheUnresolved:
|
||||
label = Telemetry::LABELS_HTTP_CACHE_DISPOSITION_3::Unresolved;
|
||||
break;
|
||||
case kCacheHit:
|
||||
label = Telemetry::LABELS_HTTP_CACHE_DISPOSITION_3::Hit;
|
||||
break;
|
||||
case kCacheHitViaReval:
|
||||
label = Telemetry::LABELS_HTTP_CACHE_DISPOSITION_3::HitViaReval;
|
||||
break;
|
||||
case kCacheMissedViaReval:
|
||||
label = Telemetry::LABELS_HTTP_CACHE_DISPOSITION_3::MissedViaReval;
|
||||
break;
|
||||
case kCacheMissed:
|
||||
label = Telemetry::LABELS_HTTP_CACHE_DISPOSITION_3::Missed;
|
||||
break;
|
||||
case kCacheUnknown:
|
||||
label = Telemetry::LABELS_HTTP_CACHE_DISPOSITION_3::Unknown;
|
||||
break;
|
||||
}
|
||||
|
||||
Telemetry::AccumulateCategoricalKeyed(key, label);
|
||||
Telemetry::AccumulateCategoricalKeyed("ALL"_ns, label);
|
||||
nsLiteralCString label = CacheDispositionToTelemetryLabel(hitOrMiss);
|
||||
glean::http::cache_disposition.Get(key, label).Add();
|
||||
glean::http::cache_disposition.Get("ALL"_ns, label).Add();
|
||||
}
|
||||
|
||||
// Computes and returns a SHA1 hash of the input buffer. The input buffer
|
||||
|
|
@ -7862,10 +7859,10 @@ void nsHttpChannel::RecordOnStartTelemetry(nsresult aStatus,
|
|||
.Add(1);
|
||||
|
||||
if (mTransaction) {
|
||||
Telemetry::Accumulate(
|
||||
Telemetry::HTTP3_CHANNEL_ONSTART_SUCCESS,
|
||||
(mTransaction->IsHttp3Used()) ? "http3"_ns : "no_http3"_ns,
|
||||
NS_SUCCEEDED(aStatus));
|
||||
glean::networking::http3_channel_onstart_success
|
||||
.Get((mTransaction->IsHttp3Used()) ? "http3"_ns : "no_http3"_ns,
|
||||
NS_SUCCEEDED(aStatus) ? "true"_ns : "false"_ns)
|
||||
.Add();
|
||||
}
|
||||
|
||||
enum class HttpOnStartState : uint32_t {
|
||||
|
|
@ -9084,7 +9081,9 @@ nsresult nsHttpChannel::ContinueOnStopRequest(nsresult aStatus, bool aIsFromNet,
|
|||
upgradeKey = "disabledWont"_ns;
|
||||
}
|
||||
|
||||
Telemetry::AccumulateCategoricalKeyed(upgradeKey, upgradeChanDisposition);
|
||||
glean::networking::http_channel_disposition_upgrade
|
||||
.Get(upgradeKey, upgradeChanDispositionLabel)
|
||||
.Add();
|
||||
|
||||
LOG((" nsHttpChannel::OnStopRequest ChannelDisposition %d\n",
|
||||
chanDisposition));
|
||||
|
|
|
|||
Loading…
Reference in a new issue