| # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import logging |
| import time |
| |
| |
| class TimeProfile(object): |
| """Class for simple profiling of action, with logging of cost.""" |
| |
| def __init__(self, description): |
| self._starttime = None |
| self._description = description |
| self.Start() |
| |
| def Start(self): |
| self._starttime = time.time() |
| |
| def Stop(self): |
| """Stop profiling and dump a log.""" |
| if self._starttime: |
| stoptime = time.time() |
| logging.info('%fsec to perform %s', |
| stoptime - self._starttime, self._description) |
| self._starttime = None |