datasette-sentry 作者 simonw

星标

README 源代码

datasette-sentry

PyPI Changelog Tests License

用于配置 Sentry 错误报告的 Datasette 插件

安装

pip install datasette-sentry

使用方法

仅当你的 metadata.json 文件在 `"datasette-sentry"` 配置键中包含相关的顶级插件配置时,此插件才会生效。

你需要一个 Sentry DSN - 请参阅他们的 入门指南

将其添加到 metadata.json 中,如下所示

{
    "plugins": {
        "datasette-sentry": {
            "dsn": "https://KEY@sentry.io/PROJECTID"
        }
    }
}

metadata.json 中的设置对于访问 /-/metadata URL 的任何人都是可见的,因此这是一个利用 Datasette 秘密配置值的好地方,在这种情况下,你的配置将如下所示

{
    "plugins": {
        "datasette-sentry": {
            "dsn": {
                "$env": "SENTRY_DSN"
            }
        }
    }
}

然后让 Datasette 可以访问 SENTRY_DSN 环境变量。

配置

除了 dsn 设置之外,你还可以通过将 sample_rate 设置为 0 到 1 之间的浮点数来配置 Sentry 采样率

例如,要捕获 25% 的错误,你可以这样做

{
    "plugins": {
        "datasette-sentry": {
            "dsn": {
                "$env": "SENTRY_DSN"
            },
            "sample_rate": 0.25
        }
    }
}

性能监控

Sentry 性能监控会记录完整的页面跟踪信息以供进一步分析,此外还跟踪错误。

你可以通过在插件配置中添加 "enable_tracing" 来启用此功能

{
    "plugins": {
        "datasette-sentry": {
            "dsn": {
                "$env": "SENTRY_DSN"
            },
            "enable_tracing": true
        }
    }
}

如果你这样做,默认采样率将是 1.0,这意味着每个响应都会被跟踪。这可能会很昂贵 - 你可以使用 traces_sample_rate 调整跟踪率。例如,将其设置为 0.1 可以对 10% 的请求进行采样

{
    "plugins": {
        "datasette-sentry": {
            "dsn": {
                "$env": "SENTRY_DSN"
            },
            "enable_tracing": true,
            "traces_sample_rate": 0.1
        }
    }
}