逐行分析 Django 视图
Posted
技术标签:
【中文标题】逐行分析 Django 视图【英文标题】:Profiling Django views line-by-line 【发布时间】:2013-07-08 16:31:06 【问题描述】:我有一个带有视图的 Django 应用程序,我希望使用 line_profiler 或类似的逐行分析方法对其进行分析。我已经在其他 python 脚本上成功测试了 line_profiler,但还没有找到在 Django 视图上执行此操作的最佳方法。我创建的所有视图都是由 MATLAB url 请求启动的,因此很难调试。我需要的是某种包装视图的方法,这样当发出请求时 line_profiler 将创建一个统计文件以供以后查看(现在,我想出如何使用 line_profiler 的唯一方法是通过显式调用带有 kernprof 的脚本.py 在终端 - 也许在这一步模拟一个 http 请求会起作用,但我在这方面的尝试都没有成功。)。如果有人有任何建议,将不胜感激!
【问题讨论】:
【参考方案1】:-
django-debug-toolbar 提供大量调试信息,包括分析器。
django-devserver 是 django 的
runserver
的替代品,并且支持 line_profiler
只需要添加模块,因为它默认没有启用
DEVSERVER_MODULES = (
'devserver.modules.sql.SQLRealTimeModule',
'devserver.modules.sql.SQLSummaryModule',
'devserver.modules.profile.ProfileSummaryModule',
# Modules not enabled by default
'devserver.modules.ajax.AjaxDumpModule',
'devserver.modules.profile.MemoryUseModule',
'devserver.modules.cache.CacheSummaryModule',
'devserver.modules.profile.LineProfilerModule',
)
【讨论】:
此解决方案有效,尽管我最终编写了一个使用 line_profiler 包装其他视图的视图。以上是关于逐行分析 Django 视图的主要内容,如果未能解决你的问题,请参考以下文章