getsentry/sentry

Developer-first error tracking and performance monitoring

43,483 stars Python 11 components 4 connections

Full-stack error tracking and application monitoring platform

Frontend bootstraps with config from Django, sends API requests through authentication middleware, which routes to endpoint classes that query models and return serialized data to React components for rendering

Under the hood, the system uses 3 feedback loops, 3 data pools, 4 control points to manage its runtime behavior.

Structural Verdict

A 11-component dashboard with 4 connections. 16654 files analyzed. Loosely coupled — components are relatively independent.

How Data Flows Through the System

Frontend bootstraps with config from Django, sends API requests through authentication middleware, which routes to endpoint classes that query models and return serialized data to React components for rendering

  1. Bootstrap — Frontend fetches initial configuration and user context from /api/client-config/
  2. Authentication — Requests pass through authentication layer supporting API keys, tokens, and sessions
  3. Authorization — Permission system validates user access to organizations, projects, and resources
  4. Endpoint Processing — Base endpoint classes handle request parsing, validation, and business logic
  5. Data Serialization — Models are serialized to JSON for API responses using DRF serializers
  6. Frontend Rendering — React components consume API data and render UI with error tracking context

System Behavior

How the system actually operates at runtime — where data accumulates, what loops, what waits, and what controls what.

Data Pools

Django Models (database)
Organizations, projects, users, events, and incident data
Frontend Cache (cache)
Bootstrapped configuration and preloaded organization data
API Response Cache (cache)
Cached API responses and query results

Feedback Loops

Delays & Async Processing

Control Points

Technology Stack

Django (framework)
Backend web framework with ORM and admin interface
React (framework)
Frontend UI framework with TypeScript
Django REST Framework (framework)
API framework for REST endpoints
rspack (build)
Module bundler for frontend assets
Jest (testing)
JavaScript testing framework
eslint (build)
JavaScript/TypeScript linting
stylelint (build)
CSS linting
Emotion (library)
CSS-in-JS styling library
Sentry SDK (library)
Self-monitoring and error tracking

Key Components

Configuration

figma.config.json (json)

vercel.json (json)

src/sentry/api/endpoints/organization_events_spans_performance.py (python-dataclass)

src/sentry/api/endpoints/organization_events_spans_performance.py (python-dataclass)

Explore the interactive analysis

See the full architecture map, data flow, and code patterns visualization.

Analyze on CodeSea

Related Dashboard Repositories

Frequently Asked Questions

What is sentry used for?

Full-stack error tracking and application monitoring platform getsentry/sentry is a 11-component dashboard written in Python. Loosely coupled — components are relatively independent. The codebase contains 16654 files.

How is sentry architected?

sentry is organized into 4 architecture layers: Frontend UI, API Layer, Core Services, Data Storage. Loosely coupled — components are relatively independent. This layered structure keeps concerns separated and modules independent.

How does data flow through sentry?

Data moves through 6 stages: Bootstrap → Authentication → Authorization → Endpoint Processing → Data Serialization → .... Frontend bootstraps with config from Django, sends API requests through authentication middleware, which routes to endpoint classes that query models and return serialized data to React components for rendering This pipeline design reflects a complex multi-stage processing system.

What technologies does sentry use?

The core stack includes Django (Backend web framework with ORM and admin interface), React (Frontend UI framework with TypeScript), Django REST Framework (API framework for REST endpoints), rspack (Module bundler for frontend assets), Jest (JavaScript testing framework), eslint (JavaScript/TypeScript linting), and 3 more. This broad technology surface reflects a mature project with many integration points.

What system dynamics does sentry have?

sentry exhibits 3 data pools (Django Models, Frontend Cache), 3 feedback loops, 4 control points, 3 delays. The feedback loops handle retry and circuit-breaker. These runtime behaviors shape how the system responds to load, failures, and configuration changes.

What design patterns does sentry use?

6 design patterns detected: Permission-based Authorization, Context Providers, Token-based Parsing, Base Endpoint Classes, Feature Flag Gates, and 1 more.

Analyzed on March 31, 2026 by CodeSea. Written by .