sentry-python-setup

📁 jaffrepaul/agent-skills 📅 Today
3
总安装量
1
周安装量
#61656
全站排名
安装命令
npx skills add https://github.com/jaffrepaul/agent-skills --skill sentry-python-setup

Agent 安装分布

amp 1
cline 1
opencode 1
cursor 1
continue 1
kimi-cli 1

Skill 文档

Sentry Python Setup

Install and configure Sentry in Python projects.

Invoke This Skill When

  • User asks to “add Sentry to Python” or “install Sentry” in a Python app
  • User wants error monitoring, logging, or tracing in Python
  • User mentions “sentry-sdk” or Python frameworks (Django, Flask, FastAPI)

Important: The configuration options and code samples below are examples. Always verify against docs.sentry.io before implementing, as APIs and defaults may have changed.

Install

pip install sentry-sdk

Configure

Initialize as early as possible in your application:

import sentry_sdk

sentry_sdk.init(
    dsn="YOUR_SENTRY_DSN",
    send_default_pii=True,
    
    # Tracing
    traces_sample_rate=1.0,
    
    # Profiling
    profile_session_sample_rate=1.0,
    profile_lifecycle="trace",
    
    # Logs
    enable_logs=True,
)

Async Applications

For async apps, initialize inside an async function:

import asyncio
import sentry_sdk

async def main():
    sentry_sdk.init(
        dsn="YOUR_SENTRY_DSN",
        send_default_pii=True,
        traces_sample_rate=1.0,
        enable_logs=True,
    )
    # ... rest of app

asyncio.run(main())

Framework Integrations

Use the same sentry_sdk.init() call shown above. Place it where it runs before your app starts:

Framework Where to Init Notes
Django Top of settings.py Auto-detects Django, no extra install
Flask Before app = Flask(__name__) Auto-detects Flask
FastAPI Before app = FastAPI() Auto-detects FastAPI
Celery In Celery worker config Auto-detects Celery
AIOHTTP Before app creation Auto-detects AIOHTTP

Configuration Options

Option Description Default Min SDK
dsn Sentry DSN None (SDK no-ops without it) —
send_default_pii Include user data None —
traces_sample_rate % of transactions traced None (tracing disabled) —
profile_session_sample_rate % of sessions profiled None (profiling disabled) 2.24.1+
profile_lifecycle Profiling mode ("trace" or "manual") "manual" 2.24.1+
enable_logs Send logs to Sentry False 2.35.0+
environment Environment name "production" (or SENTRY_ENVIRONMENT env var) —
release Release version Auto-detected —

Environment Variables

The SDK auto-reads these:

SENTRY_DSN=https://xxx@o123.ingest.sentry.io/456
SENTRY_ENVIRONMENT=production
SENTRY_RELEASE=1.0.0

For sentry-cli (source maps, releases), also set:

SENTRY_AUTH_TOKEN=sntrys_xxx
SENTRY_ORG=my-org
SENTRY_PROJECT=my-project

Or pass DSN in code:

import os
import sentry_sdk

sentry_sdk.init(
    dsn=os.environ.get("SENTRY_DSN"),
    # ...
)

Verification

# Intentional error to test
division_by_zero = 1 / 0

Or capture manually:

sentry_sdk.capture_message("Test message from Python")

Troubleshooting

Issue Solution
Errors not appearing Ensure init() is called early, check DSN
No traces Set traces_sample_rate > 0
IPython errors not captured Run from file, not interactive shell
Async errors missing Initialize inside async function