From c358f9f67f3f42e6b29bd40a3b5c36f2b97e5d25 Mon Sep 17 00:00:00 2001 From: Albert Crespell Date: Fri, 11 Jul 2014 07:02:59 +0200 Subject: [PATCH] Bug 1034490: Optimize saveStats function of NetworkStatsDB. --- dom/network/src/NetworkStatsDB.jsm | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/dom/network/src/NetworkStatsDB.jsm b/dom/network/src/NetworkStatsDB.jsm index 02833272ccca..dbc5f3c9e591 100644 --- a/dom/network/src/NetworkStatsDB.jsm +++ b/dom/network/src/NetworkStatsDB.jsm @@ -382,7 +382,11 @@ NetworkStatsDB.prototype = { debug("New stats: " + JSON.stringify(stats)); } - let request = aStore.index("network").openCursor(stats.network, "prev"); + let lowerFilter = [stats.appId, stats.serviceType, stats.network, 0]; + let upperFilter = [stats.appId, stats.serviceType, stats.network, ""]; + let range = IDBKeyRange.bound(lowerFilter, upperFilter, false, false); + + let request = aStore.openCursor(range, 'prev'); request.onsuccess = function onsuccess(event) { let cursor = event.target.result; if (!cursor) { @@ -401,16 +405,9 @@ NetworkStatsDB.prototype = { return; } - let value = cursor.value; - if (stats.appId != value.appId || - (stats.appId == 0 && stats.serviceType != value.serviceType)) { - cursor.continue(); - return; - } - // There are old samples if (DEBUG) { - debug("Last value " + JSON.stringify(value)); + debug("Last value " + JSON.stringify(cursor.value)); } // Remove stats previous to now - VALUE_MAX_LENGTH