Sentry 開發(fā)者貢獻指南 - SDK 開發(fā)(數(shù)據(jù)處理)
敏感數(shù)據(jù)
在較舊的 SDK 中,您有時可能會看到復(fù)雜的構(gòu)造以允許用戶剝離敏感數(shù)據(jù)。較新的 SDK 不再具有此功能,因為維護每個 SDK 太難了。相反,只剩下兩個簡單的配置選項:
- send-default-pii 默認是禁用的,這意味著默認情況下不發(fā)送自然敏感的數(shù)據(jù)。這意味著,例如:
- https://docs.sentry.io/error-reporting/configuration/#send-default-pii
- 將 HTTP 請求附加到事件時,"raw(原始)" 主體(無法解析為 JSON 或 formdata 的主體)將被刪除,并且已知的敏感 header(例如 Authorization 或 Cookies)也將被刪除。
- 用戶特定信息(例如,根據(jù)所使用的 Web 框架的當前用戶 ID)根本不會發(fā)送。
- 請注意,如果用戶在 scope 內(nèi)明確設(shè)置請求,則不會從該請求中刪除任何內(nèi)容。上述規(guī)則僅適用于 SDK 附帶的集成。
- before-send 可用于注冊具有自定義邏輯的回調(diào)以刪除敏感數(shù)據(jù)。
- https://docs.sentry.io/error-reporting/configuration/#before-send
可變大小
事件負載中允許用戶指定值或動態(tài)值的字段大小受到限制。這適用于大多數(shù)元數(shù)據(jù)字段,例如堆棧跟蹤中的變量,以及上下文(context)、標簽(tag)和額外數(shù)據(jù)(extra):
- 值的映射(例如 HTTP data、extra data 等)限制為 50 個 item 對。
- Event ID 限制為 36 個字符,并且必須是有效的 UUID。
- Tag key 限制為 32 個字符。
- Tag 值限制為 200 個字符。
- Culprits 限制為 200 個字符。
- Context 對象限制為 8kB。
- 單個 extra data 項限制為 16kB???extra data 限制為 256kb。
- Message 限制為 8192 個字符。
- HTTP data(body)限制為 8kB。在將 HTTP data 附加到事件之前,始終對其進行修剪。
- 堆棧跟蹤限制為 50 幀。如果發(fā)送更多,數(shù)據(jù)將從堆棧的中間刪除。
此外,大小限制適用于所有存儲請求,包括請求(request)、事件負載(event payload)和附件(attachment)的總大小。Sentry 拒絕所有超過這些限制的請求。請參閱以下資源以了解確切的大小限制:
- 信封(Envelope)端點大小限制
- https://develop.sentry.dev/sdk/envelopes/#size-limits
- 存儲(Store)端點大小限制
- https://develop.sentry.dev/sdk/store/#size-limits
更多
Sentry 開發(fā)者貢獻指南 - SDK 開發(fā)(性能監(jiān)控:Sentry SDK API 演進)