跳转到主要内容

Django的性能追踪中间件

项目描述

django-cavalry

性能追踪器!

CircleCI Codecov PyPI MIT License

设置

  • 'cavalry.middleware.cavalry' 添加到您的中间件。
  • CAVALRY_ENABLED = bool(DEBUG) (或类似~) 添加到您的设置。

设置 – 通用

CAVALRY_ENABLED

(布尔值,默认False)

中间件的开关。

这可以在运行时切换。也就是说,它不会通过 MiddlewareNotUsed 机制永久禁用中间件。

CAVALRY_PROBABILITY

(浮点数,默认1)

请求被追踪的概率(0..1);在生产环境中很有用。

CAVALRY_DB_RECORD_STACKS

(布尔值,默认True)

是否记录数据库堆栈跟踪。记录堆栈跟踪自然会有性能影响。

设置 – 发布

必须可用的 requests 库才能使发布工作。

您可以通过手动安装或使用安装Cavalry时的 [poster] 额外功能来安装它。

CAVALRY_ELASTICSEARCH_URL_TEMPLATE

(字符串)

一个用于向Elasticsearch发送有效负载的URL模板。使用Python语法进行插值{curly-braced}段。有效负载中的所有字段都可用,加上{ymd}是当前时间的YYYY-MM-DD。如果为假,则不尝试向Elasticsearch发送帖子。

一个有用的默认模板可能是'http://localhost:9200/my-app-{ymd}/item'。这很容易被Kibana接收。

CAVALRY_THREADED_POST

(布尔值,默认False)

是否在另一个线程中执行帖子操作。

启用此选项将产生积极的性能影响,因为在格式化和提交数据到Elasticsearch数据时,不会占用请求处理。

然而,如果工作进程在帖子完成之前死亡,则跟踪会丢失。

另外,如果你正在使用uWSGI,请确保已设置enable-threads

CAVALRY_POST_STACKS

(布尔值,默认True)

是否发布堆栈跟踪。

不发布堆栈跟踪会使ES有效负载更小。

运行时

  • DEBUG模式下运行时,或者
  • 当你是一个超级用户时,或者
  • 如果request._cavalry_can_inject_stats为真(例如,通过你自己设计的中间件)
    • 请注意,这可能会,特别是与_cavalry_stacks结合使用时,揭示敏感信息。请非常注意该中间件。

Cavalry在每个渲染的HTML页面中注入一个小型性能栏,以及一个输出SQL查询到开发控制台的脚本段。

默认情况下,不打印SQL查询的堆栈跟踪;添加_cavalry_stacks查询参数以打印它们。

项目详细信息


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

django_cavalry-0.5.0.tar.gz (8.4 kB 查看散列)

上传时间

构建分发

django_cavalry-0.5.0-py3-none-any.whl (10.8 kB 查看散列)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面