Skip to content

Add Sentry integration for Gust and DAG run failures #122

Description

@marciok

Summary

Add an optional Sentry integration so Gust operators can monitor application exceptions and failed DAG/task executions from their existing observability workflow.

The integration should attach enough Gust context to diagnose a failure while preventing secrets and sensitive task data from being reported.

Proposed scope

  • Capture unhandled exceptions from Gust runtime processes.
  • Report failed DAG and task executions with structured context.
  • Include safe identifiers and metadata such as:
    • DAG name;
    • run ID;
    • task name and mapped task index;
    • run and task status;
    • retry attempt;
    • Gust version and environment.
  • Link Sentry events back to the corresponding Gust run dashboard when a dashboard base URL is configured.
  • Record or expose the Sentry event ID from the Gust run/task view when practical.

Configuration

  • The integration is disabled by default.
  • Support configuration through standard application configuration and environment variables.
  • Allow operators to configure DSN, environment, release, sample rate, and enabled event types.
  • Provide hooks or configuration for filtering and redacting event data.
  • Do not require Sentry for Gust to start or execute DAGs.

Safety and resilience

  • Never send secrets, credentials, complete task payloads, or task results by default.
  • Apply redaction before an event leaves the Gust process.
  • Sentry outages or reporting failures must not change DAG execution status or crash Gust processes.
  • Avoid duplicate events for the same failure and retry attempt.
  • Make network reporting asynchronous and bounded.

Acceptance criteria

  • Operators can enable Sentry through documented configuration.
  • An unhandled Gust exception produces a Sentry event with useful Gust metadata.
  • A failed DAG task produces a Sentry event with the correct DAG, run, task, mapped index, and retry context.
  • Events can link to the relevant Gust run dashboard.
  • Sensitive fields are excluded or redacted by default.
  • Gust continues operating normally when Sentry is unavailable or misconfigured.
  • Add focused tests for configuration, event metadata, redaction, deduplication, and reporting failures.
  • Document setup and provide an example configuration.

Metadata

Metadata

Assignees

Labels

enhancementAn enhancement adds or expands functionality.feature

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions