Bug 1916832 - Expose class of service and tailing priorities to nimbus r=necko-reviewers,valentin

Expose class of service tailing preferences to nimbus so we can run experiments with them.

Differential Revision: https://phabricator.services.mozilla.com/D221086
This commit is contained in:
Andrew Creskey 2024-09-11 16:47:10 +00:00
Родитель b9ae31dd74
Коммит 4b006f290d
4 изменённых файлов: 79 добавлений и 17 удалений

Просмотреть файл

@ -13174,6 +13174,37 @@
value: true
mirror: always
# Priority urgency of tailed request. Default to 6, which is a very low priority
- name: network.http.tailing.urgency
type: int32_t
value: 6
mirror: always
# Tailing: When the page load has not yet reached DOMContentLoaded point, tail requestes are delayed
# by (non-tailed requests count + 1) * delay-quantum milliseconds.
- name: network.http.tailing.delay-quantum
type: int32_t
value: 600
mirror: always
# Tailing: The same as above, but applied after the document load reached DOMContentLoaded event.
- name: network.http.tailing.delay-quantum-after-domcontentloaded
type: int32_t
value: 100
mirror: always
# Tailing: Upper limit for the calculated delay, prevents long standing and comet-like requests tail forever. This is in milliseconds as well.
- name: network.http.tailing.delay-max
type: int32_t
value: 6000
mirror: always
# Tailing: Total limit we delay tailed requests since a page load beginning.
- name: network.http.tailing.total-max
type: int32_t
value: 45000
mirror: always
# When true, the default Accept request header will include the supported mime
# types for images.
- name: network.http.accept_include_images

Просмотреть файл

@ -1497,17 +1497,6 @@ pref("network.http.throttle.max-time-ms", 500);
// like click-to-play, image fancy-box zoom, navigation.
pref("network.http.on_click_priority", true);
// When the page load has not yet reached DOMContentLoaded point, tail requestes are delayed
// by (non-tailed requests count + 1) * delay-quantum milliseconds.
pref("network.http.tailing.delay-quantum", 600);
// The same as above, but applied after the document load reached DOMContentLoaded event.
pref("network.http.tailing.delay-quantum-after-domcontentloaded", 100);
// Upper limit for the calculated delay, prevents long standing and comet-like requests
// tail forever. This is in milliseconds as well.
pref("network.http.tailing.delay-max", 6000);
// Total limit we delay tailed requests since a page load beginning.
pref("network.http.tailing.total-max", 45000);
pref("network.proxy.http", "");
pref("network.proxy.http_port", 0);
pref("network.proxy.ssl", "");

Просмотреть файл

@ -811,7 +811,7 @@ uint8_t nsHttpHandler::UrgencyFromCoSFlags(uint32_t cos,
// background tasks can be deprioritzed to the lowest priority
urgency = 6;
} else if (cos & nsIClassOfService::Tail) {
urgency = 6;
urgency = mozilla::StaticPrefs::network_http_tailing_urgency();
} else {
// all others get a lower priority than the main html document
urgency = 4;
@ -1620,20 +1620,20 @@ void nsHttpHandler::PrefsChanged(const char* pref) {
&mTailBlockingEnabled);
}
if (PREF_CHANGED(HTTP_PREF("tailing.delay-quantum"))) {
Unused << Preferences::GetInt(HTTP_PREF("tailing.delay-quantum"), &val);
val = StaticPrefs::network_http_tailing_delay_quantum();
mTailDelayQuantum = (uint32_t)clamped(val, 0, 60000);
}
if (PREF_CHANGED(HTTP_PREF("tailing.delay-quantum-after-domcontentloaded"))) {
Unused << Preferences::GetInt(
HTTP_PREF("tailing.delay-quantum-after-domcontentloaded"), &val);
val = StaticPrefs::
network_http_tailing_delay_quantum_after_domcontentloaded();
mTailDelayQuantumAfterDCL = (uint32_t)clamped(val, 0, 60000);
}
if (PREF_CHANGED(HTTP_PREF("tailing.delay-max"))) {
Unused << Preferences::GetInt(HTTP_PREF("tailing.delay-max"), &val);
val = StaticPrefs::network_http_tailing_delay_max();
mTailDelayMax = (uint32_t)clamped(val, 0, 60000);
}
if (PREF_CHANGED(HTTP_PREF("tailing.total-max"))) {
Unused << Preferences::GetInt(HTTP_PREF("tailing.total-max"), &val);
val = StaticPrefs::network_http_tailing_total_max();
mTailTotalMax = (uint32_t)clamped(val, 0, 60000);
}

Просмотреть файл

@ -2351,6 +2351,48 @@ networkPrioritization:
setPref:
branch: default
pref: "network.fetchpriority.adjustments.images.auto"
lowerTrackersPriority:
description: Whether to lower priority of resources on the tracking protection list
type: boolean
setPref:
branch: default
pref: "privacy.trackingprotection.lower_network_priority"
enableHttpTailing:
description: Whether certain requests, mainly trackers, are put to the "tail", behind other requests
type: boolean
setPref:
branch: default
pref: "network.http.tailing.enabled"
httpTailingUrgency:
description: Priority urgency of tailed request
type: int
setPref:
branch: default
pref: "network.http.tailing.urgency"
httpTailingDelayQuantum:
description: When the page load has not yet reached DOMContentLoaded point, tail requestes are delayed by (non-tailed requests count + 1) * delay-quantum milliseconds.
type: int
setPref:
branch: default
pref: "network.http.tailing.delay-quantum"
httpTailingDelayQuantumAfterDCL:
description: After the page load reached DOMContentLoaded point, tail requestes are delayed by (non-tailed requests count + 1) * delay-quantum-after-domcontentloaded milliseconds.
type: int
setPref:
branch: default
pref: "network.http.tailing.delay-quantum-after-domcontentloaded"
httpTailingMaxDelay:
description: Upper limit for the calculated delay, prevents long standing and comet-like requests
type: int
setPref:
branch: default
pref: "network.http.tailing.delay-max"
httpTailingTotalMaxDelay:
description: Total limit we delay tailed requests since page load start
type: int
setPref:
branch: default
pref: "network.http.tailing.total-max"
networkingAuth:
description: "Firefox Networking (Necko) Authentication"