logging.js revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5/**
6 * @fileoverview
7 * Logging info for benchmarking purposes. Should be the first js file included.
8 */
9
10/* Stack of events that has been logged. */
11var eventLog = [];
12
13/**
14 * Logs an event.
15 * @param {string} name The name of the event (can be any string).
16 * @param {boolean} shouldLogTime If true, the event is used for benchmarking
17 *     and the time is logged. Otherwise, just push the event on the event
18 *     stack.
19 */
20function logEvent(name, shouldLogTime) {
21  if (shouldLogTime)
22    chrome.send('metricsHandler:logEventTime', [name]);
23  eventLog.push([name, Date.now()]);
24}
25
26logEvent('Tab.NewTabScriptStart', true);
27window.addEventListener('load', function(e) {
28  logEvent('Tab.NewTabOnload', true);
29});
30document.addEventListener('DOMContentLoaded', function(e) {
31  logEvent('Tab.NewTabDOMContentLoaded', true);
32});
33