Sentry 开发者贡献指南 - SDK 开发(客户端报告)

简介: Sentry 开发者贡献指南 - SDK 开发(客户端报告)

基本操作



Client 报告作为 envelope 项发送给 Sentry, 通常是作为单独的 envelope 或已安排的 envelope 之一。它们不应该被发送得太频繁,但也不能太少。它们的主要目的是让人们了解 SDK 端发生的影响用户体验的事情。


例如,SDK 可能会在 SDK 中的几个地方丢弃事件,而这种事件丢失对客户来说可能是不可见的。 Client 报告让 SDK 发出此类事件结果,以提供有关这种情况发生频率的数据。例如,如果传输达到其最大内部队列大小,SDK 可能会丢弃事件, 因为速率限制指示 SDK 在事件超过配额等时丢弃事件。


Envelope(信封)项负载



Client 报告是名为 client_reportenvelope 中的一项。它包含一个大致如下所示的 JSON 负载:


{
  "timestamp": "2020-02-07T14:16:00Z",
  "discarded_events": [
    {
      "reason": "queue_overflow",
      "category": "error",
      "quantity": 23
    },
    {
      "reason": "queue_overflow",
      "category": "transaction",
      "quantity": 1321
    }
  ]
}


请注意,这必须包含在 envelope 中。所以完整的事件看起来像这样:


{}
{"type":"client_report"}
{"timestamp":"..."}


存在以下字段:


timestamp

  • String | Number, optional. 创建 client report 的时间戳。

必须是 ISO 日期时间字符串或 UNIX 时间戳。如果未发送,服务器将采用当前的 UTC 时间戳。在数据模型中,这称为 received

discarded_events

  • outcome 对象列表 {reason, category, quantity}
  • reason: 定义事件丢失原因的字符串原因。
  • category: 丢弃原因适用的数据类别。
  • quantity: 丢失的事件数

目前定义了以下丢弃原因:

  • queue_overflow: SDK 内部队列(例如:传输队列)溢出
  • cache_overflow: SDK 内部缓存(例如:离线事件缓存)溢出
  • ratelimit_backoff: SDK 丢弃事件是因为较早的速率限制指示 SDK 退出。
  • network_error: 由于网络错误,事件被丢弃并且没有重试。
  • sample_rate: 由于配置的采样率,事件被丢弃。

此外,保留以下丢弃原因,但不期望 SDK 在正常操作下发送这些:

  • before_send: 事件在 before_send 中被丢弃
  • event_processor: 事件被事件处理器丢弃


SDK 端推荐



鼓励 SDK 减少不必要的通信总量。因此,推荐的方法是直接跟踪 transport 中丢弃原因的计数, 并定期将它们作为单独的 envelope 项冲洗掉或将其附加到已安排好的 envelope 上。由于某些 SDK 仍然发送旧事件而不是 envelope,以便与旧的 Sentry 服务器向后兼容, 因此在这种情况下,建议将其作为单独的 envelope 发送,或者将其附加到待处理的 session envelope

相关文章
|
7月前
|
算法 IDE 开发工具
火爆全网开源额温枪同平台之华大HC32L136 SDK开发入门
火爆全网开源额温枪同平台之华大HC32L136 SDK开发入门
136 1
|
4月前
|
开发工具 CDN 容器
基于Html+腾讯云播SDK开发的m3u8播放器
周末业余时间在家无事,学习了一下腾讯的云播放sdk,并制作了一个小demo(m3u8播放器),该在线工具是基于腾讯的云播sdk开发的,云播sdk非常牛,可以支持多种播放格式。
101 1
|
5月前
|
API 开发工具 C#
一套基于 .NET Core 开发的支付SDK集 - paylink
一套基于 .NET Core 开发的支付SDK集 - paylink
|
2月前
|
人工智能 Java 开发工具
阿里云视觉智能开放平台提供了多种SDK供开发者使用
阿里云视觉智能开放平台提供了多种SDK供开发者使用
32 6
|
4月前
|
API 开发工具 C#
[相机开发] VC++联合相机SDK开发
[相机开发] VC++联合相机SDK开发
43 0
|
4月前
|
供应链 安全 开发工具
供应链安全情报 | 恶意py包伪装代理SDK进行后门攻击,目标锁定python开发者
2023年11月28号,悬镜供应链安全实验室在Pypi官方仓库(https://pypi.org)监测到两起伪装成http和socks5代理SDK的开源组件投毒事件。python开发者一旦下载安装这些投毒Py包(libproxy、libsocks5),会触发执行Py包中的恶意代码,最终将导致开发者系统被投毒者植入恶意后门。
45 0
|
5月前
|
开发工具
Queen智能美化特效SDK需要高级美颜、常见美型、美体这样是属于按版本买,还是按客户端计费?
Queen智能美化特效SDK需要高级美颜、常见美型、美体这样是属于按版本买,还是按客户端计费?
27 1
|
5月前
|
开发框架 移动开发 前端开发
基于.Net Core开发的支付SDK,简化支付功能开发
基于.Net Core开发的支付SDK,简化支付功能开发
76 0
|
7月前
|
IDE 开发工具 开发者
ESP8266固件SDK开发初体验-打印helloworld
ESP8266固件SDK开发初体验-打印helloworld
126 0
|
7月前
|
网络协议 开发工具 数据安全/隐私保护
ESP8266固件SDK开发之微信配网(AIRKISS)原理(一)
ESP8266固件SDK开发之微信配网(AIRKISS)原理(一)
190 0