1# Copyright (c) 2013 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
5import logging
6import time
7
8
9class TimeProfile(object):
10  """Class for simple profiling of action, with logging of cost."""
11
12  def __init__(self, description):
13    self._starttime = None
14    self._description = description
15    self.Start()
16
17  def Start(self):
18    self._starttime = time.time()
19
20  def Stop(self):
21    """Stop profiling and dump a log."""
22    if self._starttime:
23      stoptime = time.time()
24      logging.info('%fsec to perform %s',
25                   stoptime - self._starttime, self._description)
26      self._starttime = None
27