1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-05-09 18:38:47 +00:00
trezor-firmware/src/trezor/main.py
2016-09-27 17:24:03 +02:00

45 lines
1011 B
Python

import sys
sys.path.append('lib')
import gc
from trezor import loop
from trezor import layout
from trezor import log
log.level = log.INFO
def perf_info_debug():
while True:
queue = [str(x[1]).split("'")[1] for x in loop.time_queue]
delay_avg = sum(loop.log_delay_rb) / loop.log_delay_rb_len
delay_last = loop.log_delay_rb[loop.log_delay_pos]
mem_alloc = gc.mem_alloc()
gc.collect()
log.info(__name__, "mem_alloc: %s/%s, delay_avg: %d, delay_last: %d, queue: %s",
mem_alloc, gc.mem_alloc(), delay_avg, delay_last, ', '.join(queue))
yield loop.sleep(1000000)
def perf_info():
while True:
gc.collect()
log.info(__name__, "mem_alloc: %d", gc.mem_alloc())
yield loop.sleep(1000000)
def run(main_layout):
if __debug__:
perf_info_gen = perf_info_debug()
else:
perf_info_gen = perf_info()
loop.run_forever([
perf_info_gen,
layout.set_main(main_layout),
])