34 lines
881 B
Python
34 lines
881 B
Python
# Gnu General Public License - see LICENSE.TXT
|
|
from __future__ import division, absolute_import, print_function, unicode_literals
|
|
|
|
import sys
|
|
import functools
|
|
import time
|
|
from .lazylogger import LazyLogger
|
|
|
|
log = LazyLogger(__name__)
|
|
|
|
enabled = False
|
|
|
|
|
|
def set_timing_enabled(val):
|
|
global enabled
|
|
enabled = val
|
|
|
|
|
|
def timer(func):
|
|
@functools.wraps(func)
|
|
def wrapper(*args, **kwargs):
|
|
started = time.time()
|
|
value = func(*args, **kwargs)
|
|
ended = time.time()
|
|
if enabled:
|
|
data = ""
|
|
if func.__name__ == "download_url" and len(args) > 1:
|
|
data = args[1]
|
|
elif func.__name__ == "main_entry_point" and len(sys.argv) > 2:
|
|
data = sys.argv[2]
|
|
log.info("timing_data|{0}|{1}|{2}|{3}".format(func.__name__, started, ended, data))
|
|
return value
|
|
return wrapper
|