- for e in encoder_thread_events[t]:
- if e[1] == 'encoder-sleep':
- if last is not None:
- encoding += e[0] - last
- last = e[0]
- elif e[1] == 'encoder-wake':
- wakes += 1
- asleep += e[0] - last
- last = e[0]
-
- print '-- Encoder thread %s' % t
- print 'Awoken %d times' % wakes
- total = asleep.float_seconds() + encoding.float_seconds()
- print 'Asleep: %s (%s%%)' % (asleep, asleep.float_seconds() * 100 / total)
- print 'Encoding: %s (%s%%)' % (encoding, encoding.float_seconds() * 100 / total)
+ for e in t.events:
+ if last is not None:
+ if last[1] == 'encoder-sleep':
+ asleep += e[0] - last[0]
+ elif last[1] == 'encoder-wake':
+ wakes += 1
+ elif last[1] == 'start-local-encode':
+ local_encoding += e[0] - last[0]
+ elif last[1] == 'start-remote-send':
+ sending += e[0] - last[0]
+ elif last[1] == 'start-remote-encode':
+ remote_encoding += e[0] - last[0]
+ elif last[1] == 'start-remote-receive':
+ receiving += e[0] - last[0]
+ elif last[1] == 'start-encoder-thread':
+ find_encoder_thread(last[2]['thread']).server = last[2]['server']
+
+ last = e
+
+ print('-- Encoder thread %s (%s)' % (t.server, t.id))
+ print('\tAwoken %d times' % wakes)
+
+ total = asleep.float_seconds() + local_encoding.float_seconds() + sending.float_seconds() + remote_encoding.float_seconds() + receiving.float_seconds()
+ if total == 0:
+ continue
+
+ print('\t%s: %2.f%% %fs' % ('Asleep'.ljust(16), asleep.float_seconds() * 100 / total, asleep.float_seconds()))
+
+ def print_with_fps(v, name, total, frames):
+ if v.float_seconds() > 1:
+ print('\t%s: %2.f%% %f %.2ffps' % (name.ljust(16), v.float_seconds() * 100 / total, v.float_seconds(), frames / v.float_seconds()))
+
+ print_with_fps(local_encoding, 'Local encoding', total, wakes)
+ if sending.float_seconds() > 0:
+ print('\t%s: %2.f%%' % ('Sending'.ljust(16), sending.float_seconds() * 100 / total))
+ print_with_fps(remote_encoding, 'Remote encoding', total, wakes)
+ if receiving.float_seconds() > 0:
+ print('\t%s: %2.f%%' % ('Receiving'.ljust(16), receiving.float_seconds() * 100 / total))
+ print('')