工具集
- viztracer
- py-spy
用法
viztracer带上attach参数
-
viztracer --attach $pid
-
py-spy top --pid $pid
py-spy示例
root@test:/usr/local/miniconda3/bin# ./py-spy top -i --full-filenames -p 656364
Collecting samples from '/usr/local/bin/python3 -u /usr/local/test/test.py' (python v3.7.7)
Total Samples 335200
GIL: 1.00%, Active: 2.00%, Threads: 4
%Own %Total OwnTime TotalTime Function (filename:line)
23.00% 23.00% 10998s 10998s do_poll (/usr/local/miniconda3/lib/python3.7/site-packages/urllib3/util/wait.py:105)
0.00% 0.00% 3664s 3664s _wait_for_tstate_lock (/usr/local/miniconda3/lib/python3.7/threading.py:1060)
100.00% 100.00% 3510s 3510s wait (/usr/local/miniconda3/lib/python3.7/threading.py:296)
100.00% 100.00% 3333s 3333s _worker (/usr/local/miniconda3/lib/python3.7/concurrent/futures/thread.py:78)
100.00% 100.00% 3331s 3331s __keepalive_check (/usr/local/nta/apps/api/device/device_analysis.py:748)
100.00% 100.00% 3273s 3273s select (/usr/local/miniconda3/lib/python3.7/selectors.py:415)
0.00% 0.00% 512.0s 512.0s get_cipher_list (/usr/local/miniconda3/lib/python3.7/site-packages/OpenSSL/SSL.py:2034)
0.00% 0.00% 254.5s 254.5s create_connection (/usr/local/miniconda3/lib/python3.7/site-packages/urllib3/util/connection.py:74)
1.00% 1.00% 175.0s 238.0s do_handshake (/usr/local/miniconda3/lib/python3.7/site-packages/OpenSSL/SSL.py:1933)
0.00% 0.00% 106.0s 106.0s __init__ (/usr/local/miniconda3/lib/python3.7/site-packages/OpenSSL/SSL.py:1577)
0.00% 0.00% 89.26s 89.30s set_cipher_list (/usr/local/miniconda3/lib/python3.7/site-packages/OpenSSL/SSL.py:1202)
0.00% 0.00% 87.15s 87.15s __init__ (/usr/local/miniconda3/lib/python3.7/site-packages/OpenSSL/SSL.py:728)
0.00% 0.00% 84.90s 84.90s print_exception (/usr/local/miniconda3/lib/python3.7/traceback.py:105)
0.00% 0.00% 68.76s 68.76s __init__ (/usr/local/miniconda3/lib/python3.7/socket.py:151)
0.00% 0.00% 66.31s 66.31s __init__ (/usr/local/miniconda3/lib/python3.7/site-packages/OpenSSL/SSL.py:1608)
0.00% 0.00% 64.11s 64.11s __init__ (/usr/local/miniconda3/lib/python3.7/site-packages/OpenSSL/SSL.py:1605)
0.00% 0.00% 57.99s 57.99s checkcache (/usr/local/miniconda3/lib/python3.7/linecache.py:74)
0.00% 0.00% 53.22s 53.22s send (/usr/local/miniconda3/lib/python3.7/site-packages/OpenSSL/SSL.py:1756)
0.00% 0.00% 47.57s 47.57s recv_into (/usr/local/miniconda3/lib/python3.7/site-packages/OpenSSL/SSL.py:1839)
0.00% 0.00% 45.86s 876.1s set_ciphers (/usr/local/miniconda3/lib/python3.7/site-packages/urllib3/contrib/pyopenssl.py:446)
0.00% 0.00% 35.35s 35.35s exists (/usr/local/miniconda3/lib/python3.7/genericpath.py:19)
0.00% 22.00% 31.04s 10862s readinto (/usr/local/miniconda3/lib/python3.7/socket.py:589)
0.00% 0.00% 29.32s 29.32s _real_close (/usr/local/miniconda3/lib/python3.7/socket.py:414)
0.00% 0.00% 26.66s 26.66s _raise_ssl_error (/usr/local/miniconda3/lib/python3.7/site-packages/OpenSSL/SSL.py:1644)
0.00% 0.00% 20.33s 37.28s close (/usr/local/miniconda3/lib/python3.7/site-packages/urllib3/connectionpool.py:468)
Press Control-C to quit, or ? for help.
process 656364 ended