Agent skill
sentry-sdk-configuration
Use when initializing Sentry in applications, configuring SDK options, or setting up integrations across different frameworks and platforms.
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/testing/sentry-sdk-configuration-thebushidocollective-han
SKILL.md
Sentry - SDK Configuration
Initialize and configure Sentry SDKs across different platforms and frameworks.
JavaScript/TypeScript
Browser SDK
typescript
import * as Sentry from "@sentry/browser";
Sentry.init({
dsn: "https://examplePublicKey@o0.ingest.sentry.io/0",
environment: process.env.NODE_ENV,
release: process.env.RELEASE_VERSION,
tracesSampleRate: 1.0,
replaysSessionSampleRate: 0.1,
replaysOnErrorSampleRate: 1.0,
integrations: [
Sentry.browserTracingIntegration(),
Sentry.replayIntegration(),
],
});
Node.js SDK
typescript
import * as Sentry from "@sentry/node";
Sentry.init({
dsn: "https://examplePublicKey@o0.ingest.sentry.io/0",
environment: process.env.NODE_ENV,
release: process.env.RELEASE_VERSION,
tracesSampleRate: 1.0,
integrations: [
Sentry.httpIntegration(),
Sentry.expressIntegration(),
],
});
Next.js SDK
typescript
// sentry.client.config.ts
import * as Sentry from "@sentry/nextjs";
Sentry.init({
dsn: process.env.NEXT_PUBLIC_SENTRY_DSN,
tracesSampleRate: 1.0,
replaysSessionSampleRate: 0.1,
replaysOnErrorSampleRate: 1.0,
});
typescript
// sentry.server.config.ts
import * as Sentry from "@sentry/nextjs";
Sentry.init({
dsn: process.env.SENTRY_DSN,
tracesSampleRate: 1.0,
});
React SDK
tsx
import * as Sentry from "@sentry/react";
Sentry.init({
dsn: "https://examplePublicKey@o0.ingest.sentry.io/0",
integrations: [
Sentry.browserTracingIntegration(),
Sentry.reactRouterV6BrowserTracingIntegration({
useEffect,
useLocation,
useNavigationType,
createRoutesFromChildren,
matchRoutes,
}),
],
tracesSampleRate: 1.0,
});
// Wrap your app
const App = () => (
<Sentry.ErrorBoundary fallback={<ErrorFallback />}>
<YourApp />
</Sentry.ErrorBoundary>
);
Python SDK
python
import sentry_sdk
sentry_sdk.init(
dsn="https://examplePublicKey@o0.ingest.sentry.io/0",
environment=os.getenv("ENVIRONMENT"),
release=os.getenv("RELEASE_VERSION"),
traces_sample_rate=1.0,
profiles_sample_rate=1.0,
)
Django Integration
python
# settings.py
import sentry_sdk
sentry_sdk.init(
dsn="https://examplePublicKey@o0.ingest.sentry.io/0",
integrations=[
sentry_sdk.integrations.django.DjangoIntegration(),
],
traces_sample_rate=1.0,
send_default_pii=True,
)
Go SDK
go
import "github.com/getsentry/sentry-go"
func main() {
err := sentry.Init(sentry.ClientOptions{
Dsn: "https://examplePublicKey@o0.ingest.sentry.io/0",
Environment: os.Getenv("ENVIRONMENT"),
Release: os.Getenv("RELEASE_VERSION"),
TracesSampleRate: 1.0,
})
if err != nil {
log.Fatalf("sentry.Init: %s", err)
}
defer sentry.Flush(2 * time.Second)
}
Configuration Options
Sample Rates
typescript
Sentry.init({
// Error sampling (1.0 = 100%)
sampleRate: 1.0,
// Transaction/trace sampling
tracesSampleRate: 0.2,
// Or use a sampler function
tracesSampler: (samplingContext) => {
if (samplingContext.name.includes("/health")) {
return 0; // Don't trace health checks
}
return 0.2;
},
});
Filtering Events
typescript
Sentry.init({
beforeSend(event, hint) {
// Filter out specific errors
if (event.exception?.values?.[0]?.type === "NetworkError") {
return null;
}
return event;
},
ignoreErrors: [
"ResizeObserver loop limit exceeded",
/^Script error\.?$/,
],
denyUrls: [
/extensions\//i,
/^chrome:\/\//i,
],
});
Best Practices
- Always set
environmentandrelease - Use environment variables for DSN
- Configure appropriate sample rates for production
- Filter noisy or irrelevant errors
- Use framework-specific integrations
- Initialize Sentry as early as possible
Didn't find tool you were looking for?