将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第三方库


热门话题
Grails2.1.0/Java7在Windows8.1上从何处获取当前用户名?   JavaSpringJMSActiveMQ   java异常处理,捕获导致while循环停止   sql server 2008将日期时间解析为JAVA日期   java是第一个servlet,但无法打开它   如何在Java中使用XML bean创建典型的XML头?   java将iOs应用程序转换为Android   java将jsp页面内容读取到其他jsp页面中的html   客户端计算机中小型数据库应用程序的java实现   java同步和ServletContextListener   安卓 Java将所有转义字符替换为双转义   当我在布局单元中实现ScrollView时,java GridView的setOnItemLongClickListener不起作用(使用适配器)   禁用Java web服务端点Wsdl   java如何编写一个程序来反转用户输入的数字