Skip to content

Allow sourcemaps to be used by multiple projects #752

@Slooowpoke

Description

@Slooowpoke

Problem Statement

Current Impact

  • Build Time: Sourcemap uploads currently take 3 minutes per upload, representing a substantial portion of our total build time
  • Reference Issue: This aligns with known performance issues documented in getsentry/sentry-javascript#15100

Monorepo Context

Our project operates within a large monorepo structure with the following characteristics:

  • Multiple teams own different parts of the codebase
  • Smaller teams and projects experience error sampling issues, leading to:
    • Errors being sampled out of existence
    • Loss of visibility on individual team statistics
    • Only high-traffic portions of the codebase receiving proper error attribution

Current Limitation

After consultation with Sentry support, we've identified a critical limitation:

  • Sourcemap Reuse: It's not possible to reuse sourcemaps that are already uploaded for different projects, even when they share the same release
  • Proposed Workaround: Upload sourcemaps multiple times (once per team/project)

If we implement the suggested workaround of uploading sourcemaps per team and per project:

  • Additional Build Time: 15-20 minutes added to each build
  • Scalability Concern: This approach doesn't scale effectively with our monorepo structure
  • Resource Waste: Uploading identical sourcemaps multiple times is inefficient

We need a more efficient approach that allows us to:

  1. Maintain proper error attribution across all teams and projects
  2. Avoid excessive build time increases
  3. Leverage shared sourcemaps across related projects within the same release

Solution Brainstorm

The feature I would love to see is simple: allow projects to share a sourcemap if their release is the same.

Must be configurable

I think this needs to be a configurable option, since there I'm sure there are setups that rely on the same release allowing different sourcemaps for projects. Maybe even a monorepo where the frontend is uploaded to sentry and the backend is uploaded to sentry, sharing the same release.

Product Area

Issues - Source Maps

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions