Skip to content

ref(telemetry-processor): Migrate info from backend spec#16637

Open
philipphofmann wants to merge 19 commits intomasterfrom
ref/telemetry-processor-dedupe-arch
Open

ref(telemetry-processor): Migrate info from backend spec#16637
philipphofmann wants to merge 19 commits intomasterfrom
ref/telemetry-processor-dedupe-arch

Conversation

@philipphofmann
Copy link
Member

@philipphofmann philipphofmann commented Mar 2, 2026

DESCRIBE YOUR PR

First step of #16189 to consolidate duplicate content between the backend and index telemetry processor pages. This PR moves the architecture overview and API definition to the index file and removes the duplicated parts from the backend file.

IS YOUR CHANGE URGENT?

Help us prioritize incoming PRs by letting us know when the change needs to go live.

  • Urgent deadline (GA date, etc.):
  • Other deadline:
  • None: Not urgent, can wait up to 1 week+

SLA

  • Teamwork makes the dream work, so please add a reviewer to your PRs.
  • Please give the docs team up to 1 week to review your PR unless you've added an urgent due date to it.
    Thanks in advance for your help!

PRE-MERGE CHECKLIST

Make sure you've checked the following before merging your changes:

  • Checked Vercel preview for correctness, including links
  • PR was reviewed and approved by any necessary SMEs (subject matter experts)
  • PR was reviewed and approved by a member of the Sentry docs team

Co-Authored-By: Claude noreply@anthropic.com

First step of a multi-part refactoring to consolidate duplicate content
between the backend and index telemetry processor pages. This PR moves
the architecture overview and API definition to the index file and
removes the duplicated parts from the backend file.

Co-Authored-By: Claude <noreply@anthropic.com>
@vercel
Copy link

vercel bot commented Mar 2, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
develop-docs Ready Ready Preview, Comment Mar 3, 2026 10:27am
sentry-docs Ready Ready Preview, Comment Mar 3, 2026 10:27am

Request Review

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
@philipphofmann philipphofmann marked this pull request as ready for review March 3, 2026 10:12
Comment on lines -63 to -65
- **Category isolation**: Separate ring buffers for each telemetry type prevent head-of-line blocking.
- **Weighted scheduling**: High-priority telemetry gets sent more frequently via weighted round-robin selection.
- **Transport compatibility**: Works with existing HTTP transport implementations without modification.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All covered now in the index.mdx

Comment on lines -22 to -23
- Add(item).
- Flush(timeout).
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved to index.mdx

Comment on lines -27 to -58
┌────────────────────────────────────────────────────────────────────────────┐
│ Client │
│ captureEvent / captureTransaction / captureCheckIn / captureLog │
└────────────────────────────────────────────────────────────────────────────┘

┌────────────────────────────────────────────────────────────────────────────┐
│ TelemetryProcessor │
│ Add(item) · Flush(timeout) · Close(timeout) │
│ │
│ ┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────┐ │
│ │ Error Buffer │ │ Check-in Buffer │ │ Log Buffer │ │
│ │ (CRITICAL) │ │ (HIGH) │ │ (LOW) │ │
│ │ Timeout: N/A │ │ Timeout: N/A │ │ Timeout: 5s │ │
│ │ BatchSize: 1 │ │ BatchSize: 1 │ │ BatchSize: 100 │ │
│ └──────────────────────┘ └──────────────────────┘ └──────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ TelemetryScheduler (Weighted Round-Robin) │ │
│ │ - Priority weights: CRITICAL=5, HIGH=4, MEDIUM=3, LOW=2, LOWEST=1 │ │
│ │ - Processes a batch of items based on BatchSize and/or Timeout │ │
│ │ - Builds envelopes from batch │ │
│ │ - Submits envelopes to transport │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────────┘

┌────────────────────────────────────────────────────────────────────────────┐
│ Transport │
│ - Single worker, disk cache, offline retry, client reports │
└────────────────────────────────────────────────────────────────────────────┘
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Redundant with the diagrams in the index.mdx, so I removed it.

6. When the size limit is reached, the telemetry buffer **MUST** forward all items to the telemetry scheduler. The buffer **MAY** forward items in batches.
7. The telemetry buffer **SHOULD** use separate buffers per telemetry item type (e.g., one for spans, one for logs, one for metrics).

## Batch Size Limit
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added more detailed here and renamed this to BatchSizeLimit because I removed the batch size info with the backend diagram.

@philipphofmann philipphofmann requested a review from giortzisg March 3, 2026 10:12
@philipphofmann philipphofmann changed the title ref(telemetry-processor): Dedupe arch overview ref(telemetry-processor): Migrate info from backend spec Mar 3, 2026
philipphofmann added a commit that referenced this pull request Mar 3, 2026
…processor

Addresses PR feedback from #16637 where Close(timeout) was missing
from the minimal API definition.

Co-Authored-By: Claude <noreply@anthropic.com>
… API

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant