summaryrefslogtreecommitdiff
path: root/data/extensions/spyblock@gnu.org/lib/timeline.js
diff options
context:
space:
mode:
Diffstat (limited to 'data/extensions/spyblock@gnu.org/lib/timeline.js')
-rw-r--r--data/extensions/spyblock@gnu.org/lib/timeline.js155
1 files changed, 0 insertions, 155 deletions
diff --git a/data/extensions/spyblock@gnu.org/lib/timeline.js b/data/extensions/spyblock@gnu.org/lib/timeline.js
deleted file mode 100644
index 18c10fb..0000000
--- a/data/extensions/spyblock@gnu.org/lib/timeline.js
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * This file is part of Adblock Plus <http://adblockplus.org/>,
- * Copyright (C) 2006-2014 Eyeo GmbH
- *
- * Adblock Plus is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3 as
- * published by the Free Software Foundation.
- *
- * Adblock Plus is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/**
- * @fileOverview Debugging module used for load time measurements.
- */
-
-let nestingCounter = 0;
-let firstTimeStamp = null;
-let lastTimeStamp = null;
-
-let asyncActions = {__proto__: null};
-
-/**
- * Time logging module, used to measure startup time of Adblock Plus (development builds only).
- * @class
- */
-let TimeLine = exports.TimeLine = {
- /**
- * Logs an event to console together with the time it took to get there.
- */
- log: function(/**String*/ message, /**Boolean*/ _forceDisplay)
- {
- if (!_forceDisplay && nestingCounter <= 0)
- return;
-
- let now = Date.now();
- let diff = lastTimeStamp ? Math.round(now - lastTimeStamp) : "first event";
- lastTimeStamp = now;
-
- // Indent message depending on current nesting level
- for (let i = 0; i < nestingCounter; i++)
- message = "* " + message;
-
- // Pad message with spaces
- let padding = [];
- for (let i = message.toString().length; i < 80; i++)
- padding.push(" ");
- dump("[" + now + "] ABP timeline: " + message + padding.join("") + "\t (" + diff + ")\n");
- },
-
- /**
- * Called to indicate that application entered a block that needs to be timed.
- */
- enter: function(/**String*/ message)
- {
- if (nestingCounter <= 0)
- firstTimeStamp = Date.now();
-
- this.log(message, true);
- nestingCounter = (nestingCounter <= 0 ? 1 : nestingCounter + 1);
- },
-
- /**
- * Called when application exited a block that TimeLine.enter() was called for.
- * @param {String} message message to be logged
- * @param {String} [asyncAction] identifier of a pending async action
- */
- leave: function(message, asyncAction)
- {
- if (typeof asyncAction != "undefined")
- message += " (async action pending)";
-
- nestingCounter--;
- this.log(message, true);
-
- if (nestingCounter <= 0)
- {
- if (firstTimeStamp !== null)
- dump("ABP timeline: Total time elapsed: " + Math.round(Date.now() - firstTimeStamp) + "\n");
- firstTimeStamp = null;
- lastTimeStamp = null;
- }
-
- if (typeof asyncAction != "undefined")
- {
- if (asyncAction in asyncActions)
- dump("ABP timeline: Warning: Async action " + asyncAction + " already executing\n");
- asyncActions[asyncAction] = {start: Date.now(), total: 0};
- }
- },
-
- /**
- * Called when the application starts processing of an async action.
- */
- asyncStart: function(/**String*/ asyncAction)
- {
- if (asyncAction in asyncActions)
- {
- let action = asyncActions[asyncAction];
- if ("currentStart" in action)
- dump("ABP timeline: Warning: Processing reentered for async action " + asyncAction + "\n");
- action.currentStart = Date.now();
- }
- else
- dump("ABP timeline: Warning: Async action " + asyncAction + " is unknown\n");
- },
-
- /**
- * Called when the application finishes processing of an async action.
- */
- asyncEnd: function(/**String*/ asyncAction)
- {
- if (asyncAction in asyncActions)
- {
- let action = asyncActions[asyncAction];
- if ("currentStart" in action)
- {
- action.total += Date.now() - action.currentStart;
- delete action.currentStart;
- }
- else
- dump("ABP timeline: Warning: Processing not entered for async action " + asyncAction + "\n");
- }
- else
- dump("ABP timeline: Warning: Async action " + asyncAction + " is unknown\n");
- },
-
- /**
- * Called when an async action is done and its time can be logged.
- */
- asyncDone: function(/**String*/ asyncAction)
- {
- if (asyncAction in asyncActions)
- {
- let action = asyncActions[asyncAction];
- let now = Date.now();
- let diff = now - action.start;
- if ("currentStart" in action)
- dump("ABP timeline: Warning: Still processing for async action " + asyncAction + "\n");
-
- let message = "Async action " + asyncAction + " done";
- let padding = [];
- for (let i = message.toString().length; i < 80; i++)
- padding.push(" ");
- dump("[" + now + "] ABP timeline: " + message + padding.join("") + "\t (" + action.total + "/" + diff + ")\n");
- }
- else
- dump("ABP timeline: Warning: Async action " + asyncAction + " is unknown\n");
- }
-};