feat: show when sleeping due to the GIL
This commit is contained in:
parent
6ad41d6fb6
commit
3bf1384162
@ -83,6 +83,7 @@ def main(argv=sys.argv):
|
|||||||
# a bit pendantic to keep these separated
|
# a bit pendantic to keep these separated
|
||||||
last_run_time = {}
|
last_run_time = {}
|
||||||
last_sleep_time = {}
|
last_sleep_time = {}
|
||||||
|
last_sleep_stacktrace = {}
|
||||||
verbose = args.verbose
|
verbose = args.verbose
|
||||||
time_first = None
|
time_first = None
|
||||||
store_runing = args.running
|
store_runing = args.running
|
||||||
@ -138,6 +139,7 @@ def main(argv=sys.argv):
|
|||||||
trace_events.append(event)
|
trace_events.append(event)
|
||||||
|
|
||||||
last_sleep_time[pid] = time
|
last_sleep_time[pid] = time
|
||||||
|
last_sleep_stacktrace[pid] = stacktrace
|
||||||
del last_run_time[pid]
|
del last_run_time[pid]
|
||||||
elif event == "sched:sched_wakeup":
|
elif event == "sched:sched_wakeup":
|
||||||
# e.g: swapper 0 [040] 3498299.642199: sched:sched_waking: comm=python pid=393320 prio=120 target_cpu=040
|
# e.g: swapper 0 [040] 3498299.642199: sched:sched_waking: comm=python pid=393320 prio=120 target_cpu=040
|
||||||
@ -160,7 +162,11 @@ def main(argv=sys.argv):
|
|||||||
log(f'Waking up {name}')
|
log(f'Waking up {name}')
|
||||||
if store_sleeping:
|
if store_sleeping:
|
||||||
dur = time - last_sleep_time[pid]
|
dur = time - last_sleep_time[pid]
|
||||||
event = {"pid": parent_pid.get(pid, pid), "tid": pid, "ts": last_sleep_time[pid], "dur": dur, "name": f"S", "ph": "X", "cat": "process state"} #3579742.654826
|
if takes_gil(last_sleep_stacktrace[pid]):
|
||||||
|
name = 'S(GIL)'
|
||||||
|
else:
|
||||||
|
name = 'S'
|
||||||
|
event = {"pid": parent_pid.get(pid, pid), "tid": pid, "ts": last_sleep_time[pid], "dur": dur, "name": name, "ph": "X", "cat": "process state"}
|
||||||
trace_events.append(event)
|
trace_events.append(event)
|
||||||
last_run_time[pid] = time
|
last_run_time[pid] = time
|
||||||
del last_sleep_time[pid]
|
del last_sleep_time[pid]
|
||||||
|
Loading…
Reference in New Issue
Block a user