error-tracking

Sentry (Node.js / Express)

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "error-tracking" with this command: npx skills add claude-dev-suite/claude-dev-suite/claude-dev-suite-claude-dev-suite-error-tracking

Error Tracking

Sentry (Node.js / Express)

import * as Sentry from '@sentry/node';

Sentry.init({ dsn: process.env.SENTRY_DSN, environment: process.env.NODE_ENV, release: process.env.APP_VERSION, tracesSampleRate: process.env.NODE_ENV === 'production' ? 0.1 : 1.0, integrations: [Sentry.expressIntegration()], });

// Must be first middleware app.use(Sentry.expressErrorHandler());

// Add context app.use((req, res, next) => { Sentry.setUser({ id: req.user?.id, email: req.user?.email }); Sentry.setTag('tenant', req.tenantId); next(); });

// Manual capture try { await riskyOperation(); } catch (error) { Sentry.captureException(error, { extra: { orderId, userId }, tags: { component: 'payment' }, }); }

Sentry (React)

import * as Sentry from '@sentry/react';

Sentry.init({ dsn: process.env.NEXT_PUBLIC_SENTRY_DSN, environment: process.env.NODE_ENV, integrations: [Sentry.browserTracingIntegration(), Sentry.replayIntegration()], tracesSampleRate: 0.1, replaysSessionSampleRate: 0.1, replaysOnErrorSampleRate: 1.0, });

// Error boundary const SentryErrorBoundary = Sentry.withErrorBoundary(App, { fallback: <ErrorPage />, showDialog: true, });

// Component-level const ProfilePage = Sentry.withProfiler(Profile);

Sentry (Python)

import sentry_sdk from sentry_sdk.integrations.fastapi import FastApiIntegration

sentry_sdk.init( dsn=os.environ["SENTRY_DSN"], environment=os.environ.get("ENV", "development"), traces_sample_rate=0.1, integrations=[FastApiIntegration()], )

Sentry (Spring Boot)

<dependency> <groupId>io.sentry</groupId> <artifactId>sentry-spring-boot-starter-jakarta</artifactId> </dependency>

sentry: dsn: ${SENTRY_DSN} environment: ${SPRING_PROFILES_ACTIVE} traces-sample-rate: 0.1

Source Maps Upload (CI/CD)

GitHub Actions

  • name: Upload source maps to Sentry run: | npx @sentry/cli sourcemaps upload
    --release=${{ github.sha }}
    --org=my-org --project=my-app
    ./dist env: SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}

Breadcrumbs

Sentry.addBreadcrumb({ category: 'payment', message: Processing payment for order ${orderId}, level: 'info', data: { orderId, amount }, });

Anti-Patterns

Anti-Pattern Fix

100% trace sample rate in production Use 0.1-0.2 for production

No source maps uploaded Upload in CI/CD for readable stack traces

No release tracking Set release to git SHA or version

Capturing expected errors Only capture unexpected errors

No user context Set user ID/email for debugging

PII in error data Scrub sensitive fields in beforeSend

Production Checklist

  • DSN configured per environment

  • Source maps uploaded in CI/CD

  • Release version set to git SHA

  • Sample rate tuned (0.1-0.2 for production)

  • User context attached

  • Alert rules configured for error spikes

  • PII scrubbing enabled

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

cron-scheduling

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

error-tracking

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

token-optimization

No summary provided by upstream source.

Repository SourceNeeds Review