From f9b03ebeaccd5b0b0ed3976a8f11fba5d6482abe Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Wed, 8 Mar 2023 09:36:09 -0500 Subject: [PATCH] Report unprocessed network request count in troubleshooting info Related discussion: - https://github.com/uBlockOrigin/uAssets/discussions/16939 --- platform/common/vapi-background.js | 7 +++++-- src/js/assets.js | 2 +- src/js/background.js | 5 +++-- src/js/traffic.js | 1 + 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/platform/common/vapi-background.js b/platform/common/vapi-background.js index 071fe9caf..05a2251af 100644 --- a/platform/common/vapi-background.js +++ b/platform/common/vapi-background.js @@ -1175,6 +1175,7 @@ vAPI.Net = class { this.suspendableListener = undefined; this.listenerMap = new WeakMap(); this.suspendDepth = 0; + this.unprocessedRequestCount = 0; browser.webRequest.onBeforeRequest.addListener( details => { @@ -1227,8 +1228,10 @@ vAPI.Net = class { ); } onBeforeSuspendableRequest(details) { - if ( this.suspendableListener === undefined ) { return; } - return this.suspendableListener(details); + if ( this.suspendableListener !== undefined ) { + return this.suspendableListener(details); + } + this.unprocessedRequestCount += 1; } setSuspendableListener(listener) { this.suspendableListener = listener; diff --git a/src/js/assets.js b/src/js/assets.js index 150aaa690..2a72fc6be 100644 --- a/src/js/assets.js +++ b/src/js/assets.js @@ -560,7 +560,7 @@ const assetCacheRead = async function(assetKey, updateReadTime = false) { µb.supportStats.maxAssetCacheWait = Math.max( Date.now() - t0, - parseInt(µb.supportStats.maxAssetCacheWait, 10) + parseInt(µb.supportStats.maxAssetCacheWait, 10) || 0 ) + ' ms'; if ( diff --git a/src/js/background.js b/src/js/background.js index 9a4fa2b34..26ebe481e 100644 --- a/src/js/background.js +++ b/src/js/background.js @@ -219,8 +219,9 @@ const µBlock = { // jshint ignore:line readyToFilter: false, supportStats: { - allReadyAfter: '', - maxAssetCacheWait: '0 ms', + allReadyAfter: '?', + maxAssetCacheWait: '?', + unprocessedRequestCount: '?', }, pageStores: new Map(), diff --git a/src/js/traffic.js b/src/js/traffic.js index 6b0531474..5ade962c1 100644 --- a/src/js/traffic.js +++ b/src/js/traffic.js @@ -1147,6 +1147,7 @@ const webRequest = { } ); vAPI.net.unsuspend({ all: true }); + µb.supportStats.unprocessedRequestCount = `${vAPI.net.unprocessedRequestCount}`; }; })(),