Files
jellycon/resources/lib/tracking.py

38 lines
873 B
Python
Raw Normal View History

from __future__ import (
division, absolute_import, print_function, unicode_literals
)
2019-10-14 11:55:18 +11:00
import sys
import functools
import time
2023-01-12 20:50:41 -05:00
from .lazylogger import LazyLogger
2019-10-14 11:55:18 +11:00
log = LazyLogger(__name__)
2019-10-14 11:55:18 +11:00
enabled = False
2020-06-21 11:27:09 +10:00
2019-10-14 11:55:18 +11:00
def set_timing_enabled(val):
global enabled
enabled = val
2020-06-21 11:27:09 +10:00
2019-10-14 11:55:18 +11:00
def timer(func):
@functools.wraps(func)
def wrapper(*args, **kwargs):
started = time.time()
value = func(*args, **kwargs)
ended = time.time()
if enabled:
data = ""
2020-07-02 12:40:37 +10:00
if func.__name__ == "download_url" and len(args) > 1:
2019-10-14 11:55:18 +11:00
data = args[1]
2020-07-02 12:40:37 +10:00
elif func.__name__ == "main_entry_point" and len(sys.argv) > 2:
2019-10-14 11:55:18 +11:00
data = sys.argv[2]
2023-01-15 10:07:49 -05:00
log.info("timing_data|{0}|{1}|{2}|{3}".format(
func.__name__, started, ended, data)
)
2019-10-14 11:55:18 +11:00
return value
2020-06-21 11:27:09 +10:00
return wrapper