敏感数据
在较旧的 SDK 中,您有时可能会看到复杂的构造以允许用户剥离敏感数据。较新的 SDK 不再具有此功能,因为维护每个 SDK 太难了。相反,只剩下两个简单的配置选项:
- send-default-pii 默认是禁用的,这意味着默认情况下不发送自然敏感的数据。这意味着,例如:
- https://docs.sentry.io/error-reporting/configuration/#send-default-pii
- 将 HTTP 请求附加到事件时,"raw(原始)" 主体(无法解析为 JSON 或 formdata 的主体)将被删除,并且已知的敏感 header(例如 Authorization 或 Cookies)也将被删除。
- 用户特定信息(例如,根据所使用的 Web 框架的当前用户 ID)根本不会发送。
- 请注意,如果用户在 scope 内明确设置请求,则不会从该请求中删除任何内容。上述规则仅适用于 SDK 附带的集成。
- before-send 可用于注册具有自定义逻辑的回调以删除敏感数据。
- https://docs.sentry.io/error-reporting/configuration/#before-send
可变大小
事件负载中允许用户指定值或动态值的字段大小受到限制。这适用于大多数元数据字段,例如堆栈跟踪中的变量,以及上下文(context)、标签(tag)和额外数据(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 帧。如果发送更多,数据将从堆栈的中间删除。
此外,大小限制适用于所有存储请求,包括请求(request)、事件负载(event payload)和附件(attachment)的总大小。Sentry 拒绝所有超过这些限制的请求。请参阅以下资源以了解确切的大小限制:
- 信封(Envelope)端点大小限制
- https://develop.sentry.dev/sdk/envelopes/#size-limits
- 存储(Store)端点大小限制
- https://develop.sentry.dev/sdk/store/#size-limits
更多
Sentry 开发者贡献指南 - SDK 开发(性能监控:Sentry SDK API 演进)