Expand description
Relay is a standalone service for scrubbing personal information and improving event submission response time. It acts as a middle layer between your application and Sentry.io. For information on setting up Relay in front of Sentry, see:
§Event Ingestion
Relay is also the primary event ingestion system at Sentry. When compiled with the processing
feature and configured for ingestion, Relay ships functionality for:
- Acknowledging and handling web requests on store endpoints
- Applying rate limits and inbound data filters
- Data scrubbing of event payloads and attachments
- Validation and normalization of malformed or outdated data
- Forwarding of all information into the event processing pipeline
§Feature Flags
processing
: Includes event ingestion and processing functionality. This should only be specified when compiling Relay as Sentry service. Standalone Relays do not need this feature.crash-handler
: Allows native crash reporting for segfaults and out-of-memory situations when internal error reporting to Sentry is enabled.
§Workspace Crates
Relay is split into the following workspace crates:
relay
: Main entry point and command line interface.relay-auth
: Authentication and crypto.relay-base-schema
: Basic types for Relay’s API schema used across multiple services.relay-cabi
: C-bindings for exposing functionality to Python.relay-cardinality
: Metrics cardinality limiter.relay-common
: Common utilities and crate re-exports.relay-config
: Static configuration for the CLI and server.relay-cogs
: Break down the cost of Relay by its features.relay-crash
: Crash reporting for the Relay server.relay-dynamic-config
: Dynamic configuration passed from Sentry.relay-event-derive
: Derive for visitor traits on the Event schema.relay-event-normalization
: Event normalization and processing.relay-event-schema
: Event schema (Error, Transaction, Security) and types for event processing.relay-ffi
: Utilities for error handling in FFI bindings.relay-ffi-macros
: Macros for error handling in FFI bindings.relay-filter
: Inbound data filters.relay-kafka
: Kafka-related functionality.relay-log
: Error reporting and logging.relay-metrics
: Metrics protocol and processing.relay-monitors
: Monitors protocol and processing for Sentry.relay-pattern
: A glob like pattern used throughout Relay.relay-pii
: Scrubbing of personally identifiable information (PII) from events.relay-profiling
: Profiling protocol and processing.relay-protocol
: Types and traits for building JSON-based protocols and schemas.relay-protocol-derive
: Derives for Relay’s protocol traits.relay-quotas
: Sentry quotas and rate limiting.relay-redis
: Pooled Redis and Redis cluster abstraction.relay-replays
: Session replay protocol and processing.relay-sampling
: Dynamic sampling functionality.relay-server
: Endpoints and services.relay-statsd
: High-level StatsD metric client for internal measurements.relay-system
: Foundational system components for Relay’s services.relay-test
: Helpers for testing the web server and services.relay-ua
: User agent parser with built-in rules.
§Tools
Complementary to the Relay binary, the workspace contains a set of tools to interface with some of Relay’s functionality or to export information:
document-metrics
: Generate documentation for metrics.process-event
: Process a Sentry event payload.scrub-minidump
: Scrub PII from a Minidump file.
Modules§
Statics§
- GLOBAL 🔒