将cprofile/pstats文件转换为sqlite数据库。

litestats的Python项目详细描述


#litestats

python中的概要分析一直都很容易,但是,分析
profiler的输出就不那么容易了。创建配置文件后,您可以使用python的“pstats”模块,但感觉很笨拙,而且没有真正的授权功能。

enter litests!litestats是一个简单的命令行工具,它接受python profiler的
输出并将数据转换为sqlite3
数据库。现在,您可以在命令行上使用“SQLite”BR/>轻松地分析探查器输出,对于图形界面或'BR/> 'SQLeBuff',使用数据库作为您自己的工具在BR/>分析的基础。

litestats读取探查器的转储,并创建一个具有树表的规范化数据库:

*`functions`:包含每个具有
文件名、行号和函数名的函数(调用方和被调用方)
*`stats`包含所有函数的统计信息(原始/总调用,
总/累积时间)
*` calls`a caller callee mapping

虽然这提供了转储的精确表示,但这些表使用起来会很麻烦。因此litests还创建了三个类似“pstats”的视图print\u stats,`打印呼叫者和
`打印呼叫者'功能:



*`pstats `
*`pstats `
*`呼叫者`
*`被叫叫者`
>
`


liteststats除了python本身没有任何要求,除了python本身:


`` bash
`` bash
`$pip install litests
`````




`>
``使用








<>``` bash
$运行探查器并转储输出$python3-m cprofile-o example.prof example.py
$将转储转换为sqlite3 db
$litestats example.prof
$example.prof.sqlite创建了
``````

按cumtime desc排序
…>;限制20;

----------------
18/1 0.000161 8.9444444444444e-06 0.067797 0.067797~:0(<;内置方法builtins.exec>;)
1 1.0e-06 1.0e-06 0.067755 0.067755<;string>;:1(<;module>;)
14.0e-06 4.0e-06 0.067754 0.067754/usr/lib/python3.7/run py.py:195(运行
1 6.0e-06 6.0e-06 0.066135 0.066135/usr/lib/python3.7/runpy.py:62(运行
1 1.1e-05 1.1e-05 0.066113 0.066113/home/venthur/documents/projects/lit
16.6E-05 6.6E-05 0.055152 0.055152/home/venthur/documents/projects/lit
14.1E-05 4.1E-05 0.0549 0.0549/home/venthur/documents/projects/lit
1 0.050196 0.050196 0.050196~:0(<;方法“executescript”的“sqli
20/3 8.9E-054.45E-06 0.011064 0.003688<;速冻进口品库存:978(20/3 4.8E-05 4.8E-05 2.4E-06 0.011005 0.00366833<;速冻进口品库存:948(20/3 7.5E-06 0.01083 0.003688<;速冻进口品库存:663(
15/3 3.5E
15/3.5E
15/3.5E
20/3 7.5E-05 0 0 0.011060.048(20/3 7.5E-05 3 7.5E-05 3.75E-06 0.07-05年2.33333333333E-06 0.01073 0.00357666<;冻结进口货物.\u bootstrap_externa
29/5 2.5E-05 8.62068965517241E-07 0.010215 0.002043<;冻结进口货物.\u bootstrap>;:211(\u c
36.0E-06 2.0E-06 0.010087 0.00336233 ~:0(<;内置方法内置。
28/6 9.0e-06 3.21428571428571e-07 0.008977 0.00149616<;冻结导入>;:1009(
19.0e-06 9.0e-06 0.00841 0.00841/home/venthur/documents/projects/lit
16 0.000138 8.625e-06 0.004802 0.00030012<;冻结进口lib._bootstrap_externa
1 4.5e-05 4.5e-05 0.004143 0.004143/usr/lib/python3.7/logging/_init_
1 0.004038 0.004038 0.004038 0.004038 0.004038 ~:0(<;“sqlite3.con”的“commit”方法
13 3.3e-05 2.5384615346154e-06 0.002368 0.00018215<;冻结导入程序

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaCenter是JavaFX2中不可执行的窗格   java Docker将容器连接到本地数据库   java无法通过Spring从Redis获得正确的值   java为什么要将数组转换为列表再转换为数组   Java泛型在方法中放入字符串或整数参数   在Cloud Bigtable SDK中找不到java类   java Mavensiteplugin无法加载生成的源(Jaxb)   java GWT序列化和Appengine通道Api   PrintWriter out=new PrintWriter(sWriter)和PrintWriter out=response之间的java差异。getWriter()   空手道DSL中的javascript,在java参数调用中传递变量时如何转义单引号   windows 64位java可以与32位tomcat一起使用   为for循环| Java输入参数   java您可以更改SWT选项卡项的背景和/或前景颜色吗?   用java生成6位pin码   java如何从另一个通量中排除通量中的所有元素   java无法调用“javafx.scene.control.ComboBox.getItems()”,因为“Controller.getMyBox()”的返回值为null   将Java字符串与数组匹配时出现问题   java如何使用HttpsUrlConnection对SSL连接使用代理身份验证?   java如何检查XML元素是否包含CDATA?