跳转至

全局上下文(Global Context)

Global Context 会附加到设置之后产生的 RUM 事件,适合记录租户、版本渠道、实验分组等稳定业务维度。

选择 API

API 作用 返回值
setGlobalContextProperty(key, value) 添加或覆盖单个字段
setGlobalContext(context) 替换整个 Global Context
getGlobalContext() 获取当前 Global Context 的副本 Object
removeGlobalContextProperty(key) 移除单个字段
clearGlobalContext() 清空全部 Global Context
setGlobalContext() 会替换整个 Context

如果只需要更新一个字段,请使用 setGlobalContextProperty(),避免覆盖其他模块已经设置的字段。

NPM 示例

import { datafluxRum } from "@cloudcare/browser-rum"

datafluxRum.setGlobalContextProperty("tenant_id", "tenant-42")
datafluxRum.setGlobalContext({
  tenant_id: "tenant-42",
  release_channel: "stable"
})

const context = datafluxRum.getGlobalContext()
console.log(context)

datafluxRum.removeGlobalContextProperty("release_channel")
datafluxRum.clearGlobalContext()

CDN 示例

if (window.DATAFLUX_RUM) {
  window.DATAFLUX_RUM.setGlobalContextProperty("tenant_id", "tenant-42")
  const context = window.DATAFLUX_RUM.getGlobalContext()
  console.log(context)
}
window.DATAFLUX_RUM.onReady(function () {
  window.DATAFLUX_RUM.setGlobalContextProperty("tenant_id", "tenant-42")
  const context = window.DATAFLUX_RUM.getGlobalContext()
  console.log(context)
})

字段设计建议

  1. 使用稳定、含义明确的 key,例如 tenant_idrelease_channel
  2. 不要把时间戳、随机数等高基数值作为通用分析维度。
  3. 不要写入密码、Token、身份证号等敏感信息。
  4. Context 只影响设置之后产生的事件,不会修改已经上报的数据。

验证

设置字段后触发一次 View、Action 或 API 请求,在对应查看器中确认事件包含 tenant_id。如果旧事件没有该字段,请检查 Context 是否在事件发生前设置。

文档评价

文档内容是否对您有帮助?