开发更健壮python程序的一些工具


在众多语言中, Java 生态系统发展得最好, 比如异常logging报警, 比如性能监控工具. Python其实生态也不错, 这里列出一些出色的工具.

LogBook, 并结合 raven-python handler 与 sentry 集成.
http://logbook.readthedocs.io/en/stable/index.html
sentry raven-python https://docs.sentry.io/clients/python/


sentry, 专注于程序异常logging的分析系统, 支持多种语言.
https://docs.sentry.io/server/installation/
http://www.cnblogs.com/weaming/p/5158142.html
sentry raven-python 可以为 logging/logbook 提供handler.


pytest, 更好的单元测试框架, https://docs.pytest.org/en/latest/
Tox, 支持多个 python env 的单元测试工具(持续集成工具)
tox aims to automate and standardize testing in Python. It is part of a larger vision of easing the packaging, testing and release process of Python software.


实时追踪当前程序函数
pyrasite 包,
依赖Python2/3 + GDB 7.x
http://pyrasite.readthedocs.io/en/latest/Installing.html

lptrace 包
https://github.com/khamidou/lptrace
lptrace is strace for Python programs. It lets you see in real-time what functions a Python program is running. It's particularly useful to debug weird issues on production.
使用方法: sudo python lptrace -p <process_id>
依赖: Python 2.7.x and GDB 7.x


vprof 可视化profiler
https://github.com/nvdv/vprof
能展现: CPU火焰图, 内存 graph, 代码heatmap, Python profiler


supervisor
https://github.com/Supervisor/supervisor
Supervisor process control system for UNIX.

 

celery
http://www.celeryproject.org/
An asynchronous task queue/job queue based on distributed message passing.

 

posted @ 2018-04-27 12:54  harrychinese  阅读(297)  评论(0编辑  收藏  举报