djangosampler是一个Django应用程序,可以让您品尝查询(SQL,蒙戈等)的百分比,并查看被占用的时间最多的人。查询都被它们源自于你的代码组合在一起。
安装
安装:
蟒蛇setup.py安装
配置:
- 添加djangosampler到您的INSTALLED_APPS
- 添加表(manage.py使用syncdb或manage.py迁移,如果你使用南)
- 添加了看法:
  URL模式+ =模式('',
 (R'^采样/',包括('djangosampler.urls')),
 )
- 设置DJANGO_SAMPLER_FREQ为0以外的值
- 设置DJANGO_SAMPLER_PLUGINS以插件的列表。对于刚刚采样SQL一个明智的默认值是:
  DJANGO_SAMPLER_PLUGINS =(
 “djangosampler.plugins.sql.Sql',
 #插件施加在相同的顺序列表
 )
- 有几个可用的插件,它是值得的,通过他们的阅读中获得最大的使用了这个工具。
- 如果您使用的是基于成本的采样然后设置DJANGO_SAMPLER_BASE_TIME到正常的查询以秒为单位的预期持续时间。默认情况下此设置为5毫秒。
查看结果
让采样运行一段时间后,你就可以查看查询(按来源划分),在你配置的URL。
组态
DJANGO_SAMPLER_PLUGINS
Django的取样器有一个插件架构,使您可以控制你有多少数据需要收集。
在您的settings.py添加以下内容:
DJANGO_SAMPLER_PLUGINS =(
 “djangosampler.plugins.sql.Sql',
 #插件施加在相同的顺序列表
)
上面的示例将添加SQL插件。
可用的插件和它们的设置在下面的插件章节中描述。
DJANGO_SAMPLER_FREQ
DJANGO_SAMPLER_FREQ配置将要记录的查询的百分比。它应该是0.0和1.0之间。
如果没有设置则没有插件将被安装,你的代码将正常运行。
DJANGO_SAMPLER_USE_COST
DJANGO_SAMPLER_USE_COST将使基于成本的采样。这将导致运行很长一段时间,以更频繁地采样比短查询的查询。
该查询被采样的机会乘以总时间查询采用。如果查询需要2秒钟,然后这将是两倍,可能被采样的查询需要1秒钟。
成本为查询被调节到占本如下:
成本= MAX(1.0,时间* DJANGO_SAMPLER_FREQ)/ DJANGO_SAMPLER_FREQ
插件
可用的插件列表如下。你可以写你自己的插件,这是一节“编写你自己的插件”所述。
Django的SQL
插件类:djangosampler.plugins.sql.Sql
在SQL采样器插件将采样SQL查询的发生在您的应用程序的百分比。这些样本将被查询和堆栈跟踪进行分组将被记录到寻找到查询始发。
Django的请求
插件类:djangosampler.plugins.request.Request
请求插件安装一个中间件,将样品采取的请求的时间。
样品的任何代码
这不是严格意义上的插件。这是一个上下文管理器,可以让你标记的代码块和采样块多久才能运行。例如:
从djangosampler.sampler进口取样
采样('my_code','some_fn'):
  do_something_slow()
芹菜
插件类:djangosampler.plugins.celery_task.Celery
芹菜插件使用芹菜的信号来样来执行任务所需的时间。
MongoDB的
插件类:djangosampler.plugins.mongo.Mongo
MongoDB的插件将采样蒙戈的百分比命令(查询,插入等)发生在你的应用程序。这些样本将被命令进行分组和堆栈跟踪将被记录到寻找到查询始发
要求:
- 蟒蛇
- 在Django的
评论没有发现