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

相关文章
|
9天前
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
137 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
14天前
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
111 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
23天前
|
API 开发工具 Android开发
【01】完整开发即构美颜sdk的uni官方uts插件—让所有开发者可以直接使用即构美颜sdk的能力-优雅草卓伊凡
【01】完整开发即构美颜sdk的uni官方uts插件—让所有开发者可以直接使用即构美颜sdk的能力-优雅草卓伊凡
68 23
【01】完整开发即构美颜sdk的uni官方uts插件—让所有开发者可以直接使用即构美颜sdk的能力-优雅草卓伊凡
|
4月前
|
API 开发工具 C#
神策SDK不支持Windows客户端全埋点,怎么实现用户统计分析?
本文将介绍,ClkLog针对神策不支持全埋点的客户端实现用户访问基础统计分析 1。
神策SDK不支持Windows客户端全埋点,怎么实现用户统计分析?
|
6月前
|
数据采集 开发工具 Python
海康威视工业相机SDK+Python+PyQt开发数据采集系统(支持软件触发、编码器触发)
该系统基于海康威视工业相机SDK,使用Python与PyQt开发,支持Gige与USB相机设备的搜索及双相机同时显示。系统提供软件触发与编码器触发模式,并可在数据采集过程中实时保存图像。此外,用户可以调节曝光时间和增益,并进行信息输入,这些信息将被保存至配置文件以便下次自动加载。参数调节与实时预览等功能进一步增强了系统的实用性。
417 1
|
6月前
|
小程序 Serverless 开发工具
小程序开发问题之在小程序中安装并初始化小程序Serverless客户端SDK如何解决
小程序开发问题之在小程序中安装并初始化小程序Serverless客户端SDK如何解决
|
7月前
|
存储 并行计算 开发工具
SLS Prometheus存储问题之相比客户端SDK聚合写入,SLS网关侧聚合写入有什么优势
SLS Prometheus存储问题之相比客户端SDK聚合写入,SLS网关侧聚合写入有什么优势
|
6月前
|
存储 监控 开发工具
Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱
Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱
130 0
|
7月前
|
NoSQL 开发工具 数据库
开发与运维测试问题之应用启动报 Can not load this fake sdk class 的异常如何解决
开发与运维测试问题之应用启动报 Can not load this fake sdk class 的异常如何解决
106 0
|
9月前
|
监控 Ubuntu Docker
Sentry 监控 Docker 方式部署
Sentry 监控 Docker 方式部署
571 0

热门文章

最新文章