消息系统和 onboarding 遥测

这份文档(结合Glean 字典中消息系统 ping 部分)现在是查找消息系统和 onboarding 遥测信息的首选位置。出于历史原因,一些相关的文档仍然与活动流文档混合在一起。如果您在此处找不到所需内容,请查看我们收集的旧指标旧数据字典

使用 Glean 收集

消息系统中的所有代码都将 JSON ping 对象传递到几个中心位置。它可能会在传递过程中添加归因注释,或者在发送之前由一些策略例程进行调整。在发送到 Glean 之前,JSON 将会进行进一步的轻微转换.

消息系统数据收集的设计

数据发送在消息系统 Ping中。您获得的消息系统 Ping 使用Ping 类型记录。如果您希望扩展数据收集,请考虑数据是否属于messaging-system ping(通常是在数据对 ping 本身及时时),或者它是否是更一般的收集,在这种情况下,数据可以放在默认的send_in_pings条目中,它是metrics ping。在任何一种情况下,您都可以在metrics.yaml文件中添加指标定义。

添加或更改遥测

可以在活动流遥测文档中找到一般流程概述。

请注意,当您需要添加新的指标(即 JSON 密钥)时,必须将其添加到browser/components/newtab/metrics.yaml中,以便在 Glean 数据中正确显示。

避免添加任何新的嵌套对象,因为 Glean 无法处理这些对象。在最好的情况下,任何此类添加将在发送之前被展平或转换为字符串。

监控 FxMS 遥测健康状况

OMC 团队拥有一个用于 FxMS 桌面 Glean 遥测的OpMon 仪表板,并带有警报。请注意,它一次只能显示一个通道,以下是Windows 发布版的链接。仪表板在firefox-messaging-system.toml中指定,阅读源代码可以帮助阐明其确切含义。我们是此文件的所有者,鼓励我们根据需要对其进行调整,尽管最好获得数据科学人员的审查。

目前的计划是在我们的每周分类会议中作为小组审查 OpMon 仪表板,将任何看起来不寻常的事情记录到我们的Google 文档日志中,如果我们想要进一步调查,则提交阻止fxms-glean的 Bug

仪表板配置为在各种情况下发出警报,这些警报可以在仪表板底部看到。在撰写本文时,警报有一些需要清理的噪音,然后我们才能自动对其采取行动。

本地调试

本地调试包括将遥测记录到控制台和/或使用 Glean 的人体工程学测试 API 和/或 Glean 调试 Ping 查看器,您可以在about:glean上了解更多信息。

了解您将生成的遥测的最简单方法是打开日志记录。在about:config中,将browser.newtabpage.activity-stream.telemetry设置为true,并将messaging-system.log设置为debug

您现在可以使用ASRouter 开发者工具与在浏览器控制台中生成的日志一起操作您关心的消息。

要使用about:glean监控事件,可以使用以下 mach 命令。这将打开遥测日志记录并打开about:gleanMOZ_LOG="glean_core::upload:3" ./mach run --setpref browser.newtabpage.activity-stream.telemetry=true about:glean

  • 单击步骤 3 中的复选框(“可选。如果希望在提交 Ping 时也记录 Ping,请选中前面的复选框…”)。

  • 单击步骤 4 中的“应用设置并提交 Ping”按钮。

  • 访问about:welcome(Ping 可能需要一段时间才会显示在终端中)。

附录:Glean 简要介绍,适用于此项目(由 Chris H-C 提供)

  • Glean 是 Mozilla 为 Mozilla 开发的数据收集库。您定义诸如计数、计时等指标,并将这些指标打包成 Ping,Ping 是发送到我们服务器的有效负载。

  • 您可以在 Glean 字典的桌面部分查看当前的FxMS Glean 指标和 Ping。将 Glean 嵌入到 Firefox 桌面的层称为Firefox on Glean (FOG)

  • 文档将自动生成并托管在 Glean 字典上,因此请编写冗长的富文本描述并使用 Glean 注释对其进行补充。

  • 摄取模式会自动生成。您可以从落地新的 Ping 到查询发送的数据在两天内

  • 犯错了吗?别担心。更改快速且简单,并在一天内反映在接收到的数据中。

  • 如果您有任何疑问,Glean 团队可在 Matrix 上的#glean:mozilla.org频道和 Slack 上的#data-help频道上提供跨多个时区的支持。