getsentry / getsentry/sentry-javascript

Replays rejected due to size limit exceeded.

未關閉
#12,866 8 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
Browser Improvement Replays
主要語言
TypeScript
星號
8.7k
分支
1.8k
平均合併
1 天 17 小時
30 天內合併 PR
523

描述

### Is there an existing issue for this?

- [X] I have checked for existing issues https://github.com/getsentry/sentry-javascript/issues
- [X] I have reviewed the documentation https://docs.sentry.io/
- [X] I am using the latest SDK release https://github.com/getsentry/sentry-javascript/releases

### How do you use Sentry?

Sentry Saas (sentry.io)

### Which SDK are you using?

@sentry/browser

### SDK Version

8.17.0

### Framework Version

_No response_

### Link to Sentry event

_No response_

### SDK Setup/Reproduction Example

_No response_

### Steps to Reproduce

CSS files are inlined in the replays segments, when this file is large enough it can easily make the segment reach the size limit specially in buffer mode. When the limit is reached, the following logs are printed in the console and the replay is dropped:

```
logger.js:75 Sentry Logger [info]: [Replay] Stopping Replay triggered by addEventSizeExceeded
logger.js:75 Sentry Logger [info]: [Replay] Destroying compression worker
logger.js:75 Sentry Logger [log]: Adding outcome: "internal_sdk_error:replay"
```

No workarounds at the moment.

### Expected Result

The size of the CSS file does not affect the the ability of the SDK sending the replay. The replay is sent to Sentry and the server can render the recording with CSS.

### Actual Result

Replays are dropped and marked as SDK internal error in the client reports.

貢獻指南

開啟貢獻指南

研究方向

先追蹤瀏覽器回放對 CSS 內嵌的處理,以及 addEventSizeExceeded 路徑,尤其是在緩衝模式下。使用大型 CSS 檔案重現此故障,並確認回放會被傳送,而不是被丟棄或標記為 SDK 內部錯誤,同時伺服器仍可使用 CSS 進行渲染。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
typescript
領域
frontend, observability-sre
Issue 類型
缺陷
難度
4/5
預估耗時
3-5 天
活躍度
停滯
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。