跳转到主要内容

一个暴露大量PostgreSQL数据库指标的Django应用。

项目描述

django-postgres-metrics

GitHub Build Status Codecov coverage Read the Docs Version License: BSD Python Versions: see setup.py Django Versions: see setup.py

一个暴露大量PostgreSQL数据库指标的Django应用。

背景

在2017年PyCon加拿大会议上,Craig Kerstiens发表了题为"Postgres at any scale"的演讲。在他的演讲中,Craig指出了一些应该关注的指标,以了解为什么PostgreSQL数据库可能会“慢”或未按预期表现。

此项目通过开启is_superusers标志,向Django用户添加了一个Django Admin视图,以公开这些指标。

安装

首先从PyPI安装django-postgres-metrics

(env)$ python -m pip install django-postgres-metrics

您还需要确保安装了psycopg2psycopg,因为Django已经将其作为对PostgreSQL支持的必需要求。

然后,您需要将postgres_metrics添加到您的INSTALLED_APPS列表中。由于django-postgres-metrics的工作方式,您需要在admin应用之前包含它。

INSTALLED_APPS = [
    'postgres_metrics.apps.PostgresMetrics',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

您还需要确保在 TEMPLATES 设置中包含 request 上下文处理器。对于在 Django 1.8 或更高版本中开始的项目,它默认已包含。

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'OPTIONS': {
            'context_processors': [
                ...,
                'django.template.context_processors.request',
                ...,
            ],
        },
    },
]

最后,您需要在全局 urls.py 中添加一个 URL 路径,在 admin URL 模式之前。

from django.urls import include, path

urlpatterns = [
    path('admin/postgres-metrics/', include('postgres_metrics.urls')),
    path('admin/', admin.site.urls),
]

这是一个度量指标可能的样子:![详细索引使用指标的截图,带有帮助文本和每个索引的行表](https://pypi-camo.freetls.fastly.net/35f3b0a9c3a49635c0fda09f157c0214fdbbfc1d/68747470733a2f2f6769746875622e636f6d2f646a616e676f2d706f7374677265732d6d6574726963732f646a616e676f2d706f7374677265732d6d6574726963732f626c6f622f6d61696e2f646f63732f736f757263652f5f7374617469632f73637265656e73686f742d766965772e706e67)

The same output but using the pgm_show_metric management command

安全性

如果您发现或认为发现了安全漏洞,请通过 info+django-postgres-metrics *at* markusholtermann *dot* eu 联系我们。

我在业余时间处理这个问题。我没有时间24小时监控电子邮件。但您通常应该在一周内收到回复。如果两周内我没有回复您,请再次联系。

贡献

该项目使用 blackisort 对其代码进行格式化。使用 flake8 进行代码审查。所有这些都被整合到 pre-commit 中,在每次提交和推送之前运行。要设置它

(env)$ python -m pip install '.[dev,test]'
(env)$ pre-commit install -t pre-commit -t pre-push --install-hooks

运行单元测试

(env)$ django-admin test -v 2 --settings=tests.settings

项目详情


下载文件

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

源分布

django-postgres-metrics-0.15.0.tar.gz (116.7 kB 查看哈希值)

上传时间

构建分布

django_postgres_metrics-0.15.0-py3-none-any.whl (19.5 kB 查看哈希值)

上传时间 Python 3

由以下支持

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