27 lines
711 B
Python
27 lines
711 B
Python
|
# 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
|