From 4301c5efb554dd46e440f53957f519bb088d0dd6 Mon Sep 17 00:00:00 2001 From: Willem Melching Date: Fri, 1 May 2020 10:49:02 -0700 Subject: [PATCH] small cleanup of profiling script --- selfdrive/test/profiling/controlsd.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/selfdrive/test/profiling/controlsd.py b/selfdrive/test/profiling/controlsd.py index 19e4701337..3048a497f5 100755 --- a/selfdrive/test/profiling/controlsd.py +++ b/selfdrive/test/profiling/controlsd.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3 +import time import cProfile import pprofile import pyprof2calltree @@ -12,16 +13,20 @@ BASE_URL = "https://commadataci.blob.core.windows.net/openpilotci/" SEGMENT = "99c94dc769b5d96e|2019-08-03--14-19-59/2" +def get_inputs(msgs): + sm = SubMaster(msgs, 'can', ['thermal', 'health', 'liveCalibration', 'dMonitoringState', 'plan', 'pathPlan', 'model']) + pm = PubMaster(['sendcan', 'controlsState', 'carState', 'carControl', 'carEvents', 'carParams']) + can_sock = SubSocket(msgs, 'can') + return sm, pm, can_sock + + if __name__ == "__main__": segment = SEGMENT.replace('|', '/') rlog_url = f"{BASE_URL}{segment}/rlog.bz2" msgs = list(LogReader(rlog_url)) - pm = PubMaster(['sendcan', 'controlsState', 'carState', 'carControl', 'carEvents', 'carParams']) - sm = SubMaster(msgs, 'can', ['thermal', 'health', 'liveCalibration', 'dMonitoringState', 'plan', 'pathPlan', 'model']) - can_sock = SubSocket(msgs, 'can') - # Statistical + sm, pm, can_sock = get_inputs(msgs) with pprofile.StatisticalProfile()(period=0.00001) as pr: try: controlsd_thread(sm, pm, can_sock) @@ -30,10 +35,7 @@ if __name__ == "__main__": pr.dump_stats('cachegrind.out.controlsd_statistical') # Deterministic - pm = PubMaster(['sendcan', 'controlsState', 'carState', 'carControl', 'carEvents', 'carParams']) - sm = SubMaster(msgs, 'can', ['thermal', 'health', 'liveCalibration', 'dMonitoringState', 'plan', 'pathPlan', 'model']) - can_sock = SubSocket(msgs, 'can') - + sm, pm, can_sock = get_inputs(msgs) with cProfile.Profile() as pr: try: controlsd_thread(sm, pm, can_sock)