gpt4 book ai didi

python - 剖析 CherryPy

转载 作者:太空宇宙 更新时间:2023-11-03 13:47:31 25 4
gpt4 key购买 nike

我一直在尝试开始分析我的 CherryPy 网络服务器,但文档缺乏关于如何设置它的详细信息。我知道我应该能够使用 cherrypy.lib.profiler 作为中间件来安装我的初始服务器。现在,我有如下代码:

server_app = ServerClass()
cherrypy.tree.mount(server_app, '/', '/path/to/config/file.cfg')
cherrypy.engine.start()
cherrypy.engine.block()

我想挂载profiling中间件,好像需要类似下面的东西:

from cherrypy.lib import profiler

server_app = ServerClass()
server_cpapp = cherrypy.Application(server_app, '/', '/path/to/config/file.cfg')
server_profile_cpapp = profiler.make_app(server_cpapp, '/home/ken/tmp/cprofile', True)
#cherrypy.tree.mount(server_profile_cpapp)
cherrypy.tree.graft(server_profile_cpapp)

cherrypy.engine.start()
cherrypy.engine.block()

由于某些原因 cherrypy.tree.mount 不起作用,但如果我使用 cherrypy.tree.graft 似乎一切正常(我可以向服务器正常)

但是,上面的代码在 /home/ken/tmp/cprofile 下生成了一个 cp_0001.prof 文件,我不确定如何解释它。我尝试使用 pyprof2calltree 将数据读入 KCacheGrind,但出现解析错误。我正在做的事情看起来是否正确,如果正确,我该如何解释输出文件?

最佳答案

事实证明,可以使用 profiler.py 解释 CherryPy 生成的配置文件。脚本作为 CherryPy 的一部分提供。只需运行 profiler.py<site-packages>/cherrypy/lib目录如下:

python profiler.py /directory/containing/prof/files 8080

然后导航到localhost:8080在您的浏览器中以及所有 .prof 的分析结果目标目录中的文件将以简单的文本界面显示。

我仍然希望能够将结果导出到调用树中以使用 KCacheGrind 进行分析,但这似乎只适用于基本分析。

这记录在 change log for v2.1 of CherryPy 中当引入探查器时(尽管该页面上描述如何设置探查器的其他详细信息已被弃用)

关于python - 剖析 CherryPy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16630208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com