У меня есть долго работающий сервис Python, и я хотел бы знать, сколько кумулятивного времени настенных часов было потрачено любыми работающими потоками (то есть потоками, которые не были заблокированы по какой-либо другой причине), ожидающими GIL. Есть простой способ сделать это? Например, возможно, я мог бы периодически сбрасывать какой-то счетчик в его файл журнала.
Моя основная мотивация состоит в том, чтобы исключить GIL как источник загадочной задержки ответа от этих длительных процессов. Нет особой причины подозревать GIL (кроме того, что он соответствовал бы симптомам), но другие формы ведения журнала еще ничего не выявили, поэтому если это просто , было бы неплохо иметь эту информацию.