From 99e645c5f5604b5b1c8cbab0bed22177fc01c695 Mon Sep 17 00:00:00 2001 From: Alexandre Teles Date: Mon, 20 Nov 2023 23:15:48 -0300 Subject: [PATCH] feat(observability): sentry --- .vscode/settings.json | 9 ++++++++- Dockerfile | 3 +++ app.py | 19 +++++++++++++++++-- pyproject.toml | 6 +++--- 4 files changed, 31 insertions(+), 6 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index cc5a352..ad9bb99 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,10 @@ { - "python.analysis.typeCheckingMode": "off" + "python.analysis.typeCheckingMode": "off", + "spellright.language": [ + "pt" + ], + "spellright.documentTypes": [ + "markdown", + "latex" + ] } diff --git a/Dockerfile b/Dockerfile index f8d3360..8c044a7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,10 @@ FROM python:3.11-slim ARG GITHUB_TOKEN +ARG SENTRY_DSN + ENV GITHUB_TOKEN $GITHUB_TOKEN +ENV SENTRY_DSN $SENTRY_DSN WORKDIR /usr/src/app diff --git a/app.py b/app.py index 064734d..1e6a6c6 100644 --- a/app.py +++ b/app.py @@ -1,19 +1,34 @@ # app.py + +import os + from sanic import Sanic import sanic.response from sanic_ext import Config from api import api -from config import * +from config import openapi_title, openapi_version, openapi_description from limiter import configure_limiter from auth import configure_auth +import sentry_sdk + +if os.environ.get("SENTRY_DSN"): + sentry_sdk.init( + dsn=os.environ["SENTRY_DSN"], + enable_tracing=True, + traces_sample_rate=1.0, + debug=True, + ) +else: + print("WARNING: Sentry DSN not set, not enabling Sentry") + REDIRECTS = { "/": "/docs/swagger", } -app = Sanic("ReVanced-API") +app = Sanic("revanced-api") app.extend(config=Config(oas_ignore_head=False)) app.ext.openapi.describe( title=openapi_title, diff --git a/pyproject.toml b/pyproject.toml index 1d0c5f9..b1848cf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,8 +8,8 @@ readme = "README.md" [tool.poetry.dependencies] python = "^3.11" -aiohttp = {version = "^3.8.6", extras = ["speedups"]} -sanic = {version = "^23.6.0", extras = ["ext"]} +aiohttp = { version = "^3.8.6", extras = ["speedups"] } +sanic = { version = "^23.6.0", extras = ["ext"] } ujson = "^5.8.0" asyncstdlib = "^3.10.9" pydantic = "^1.10.13" @@ -34,7 +34,7 @@ bson = "^0.5.10" fastpbkdf2 = "^0.2" cryptography = "^41.0.5" sanic-limiter = { git = "https://github.com/Omegastick/sanic-limiter" } -sentry-sdk = {extras = ["sanic"], version = "^1.35.0"} +sentry-sdk = { extras = ["sanic"], version = "^1.35.0" } [tool.pytest.ini_options] asyncio_mode = "auto"