跳转到主要内容

用于调试和集成测试的模拟Sentry服务

项目描述

肯特是一个用于调试和集成测试Sentry的服务。

代码::

https://github.com/willkg/kent/

问题::

https://github.com/willkg/kent/issues

许可协议::

MPL v2

目标

肯特的目标

  1. 在使用sentry-sdk时,使调试before_send和before_breadcrumb净化代码成为可能

  2. 使调试其他sentry事件提交有效负载问题成为可能

  3. 使编写针对模拟Sentry实例的集成测试成为可能

快速入门

在本地机器上安装和运行

  1. 安装肯特。

    您可以使用pipx或pip或其他方式从PyPI安装肯特

    pipx install kent

    您可以从GitHub安装REVISH(“main”,分支名称,提交等)

    pipx install https://github.com/willkg/kent/archive/refs/heads/<REVISH>.zip

    您可以从此存储库的检出版本安装

    pipx install .
  2. 运行肯特

    kent-server run [-h HOST] [-p PORT]

在Docker容器中运行

我使用的是类似这样的东西

FROM python:3.11.5-slim-bookworm

WORKDIR /app/

ENV PYTHONUNBUFFERED=1 \
    PYTHONDONTWRITEBYTECODE=1

RUN groupadd -r kent && useradd --no-log-init -r -g kent kent

# NOTE(willkg): This installs Kent from main tip. If you're using Kent for
# realzies, you probably don't want to do this because Kent could change and
# break all your stuff. Pick a specific commit or tag.
RUN pip install -U 'pip>=8' && \
    pip install --no-cache-dir 'kent==<VERSION>'

USER kent

ENTRYPOINT ["/usr/local/bin/kent-server"]
CMD ["run"]

确保将<VERSION>替换为您要使用的肯特版本。有关发布信息,请参阅https://pypi.ac.cn/project/kent

然后

$ docker build -t kent:latest .
$ docker run --init --rm --publish 8000:8000 kent:latest run --host 0.0.0.0 --port 8000

关于肯特须知的事项

肯特是最假的Sentry服务器。您可以设置Sentry DSN以指向肯特,并让您的应用程序将事件发送到它。

Kent用于测试sentry-sdk功能。Kent不用于测试Relay。

Kent是一个精炼的假Sentry服务,不喜欢快餐。

Kent将在内存中跟踪最后100个接收到的有效载荷。不会将任何内容持久化到磁盘。

您可以通过访问Kent的首页,使用网络浏览器访问事件列表和事件数据。

您也可以通过API访问。这对于想要断言关于事件的集成测试最有用。

GET /api/eventlist/

内存中所有事件的列表,每个事件都有一个唯一的ID。

GET /api/event/EVENT_ID

通过ID检索特定事件的负载。

POST /api/flush/

清除事件管理器中的所有事件。

您可以使用多个项目ID。Kent将保持事件分离。

如果您使用默认设置运行 kent-server run,则您的DSN是

http://public@localhost:5000/1    for project id 1
http://public@localhost:5000/2    for project id 2
etc.

Kent肯定与

  • Python sentry-sdk客户端

  • Python raven客户端(已弃用)

我对其他任何东西都不了解。如果您使用Kent与另一个Sentry客户端,请在README中添加一个带有详细信息的issue或pull request。

开发

安装

  1. mkvirtualenv kent

  2. pip install -e '.[dev]'

项目详情


下载文件

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

源分布

kent-2.0.0.tar.gz (36.0 kB 查看哈希值)

上传时间

构建分布

kent-2.0.0-py3-none-any.whl (29.5 kB 查看哈希值)

上传时间 Python 3

支持者:

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