You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Datadog RUM初始化配置中添加国家标识并实现多环境区分?

Datadog RUM 添加国家标识方案

1. 不能直接在DD_RUM.init中新增country配置

DD_RUM.init的参数是Datadog预定义的,没有内置的country字段,需要通过自定义属性或tags来实现国家标识的添加。

2. 添加国家标识的两种有效方法

  • 方法一:设置全局上下文(Global Context)
    在DD_RUM.init完成后,调用DD_RUM.addGlobalContext方法添加国家属性,该属性会附加到所有RUM监控事件中,方便后续筛选分析。

  • 方法二:使用自定义Tags
    在DD_RUM.init的tags参数中直接传入国家相关的键值对,格式为key:value,同样会被所有事件携带。

3. 无需维护多份脚本文件

不需要为不同国家或环境单独准备脚本,可通过动态逻辑获取用户国家(例如后端接口返回、URL参数、GeoIP解析等),再将值动态注入到配置中即可。

示例代码

<script>
  (function(h,o,u,n,d) {
     h=h[d]=h[d]||{q:[],onReady:function(c){h.q.push(c)}}
     d=o.createElement(u);d.async=1;d.src=n
     n=o.getElementsByTagName(u)[0];n.parentNode.insertBefore(d,n)
  })(window,document,'script','https://www.datadoghq-browser-agent.com/datadog-rum-v4.js','DD_RUM')
  
  // 动态获取用户国家,实际场景替换为你的获取逻辑(如接口、GeoIP等)
  const userCountry = 'us'; 
  const currentEnv = 'dev';

  DD_RUM.onReady(function() {
    DD_RUM.init({
      clientToken: 'myClientToken',
      applicationId: 'myAppId',
      site: 'datadog.com',
      service: 'my-web-application',
      env: currentEnv,
      version: '1.0.0',
      sampleRate: 100,
      sessionReplaySampleRate: 100,
      trackResources: true,
      trackLongTasks: true,
      trackInteractions: true,
      // 方法二:使用tags的写法
      // tags: [`country:${userCountry}`, `env:${currentEnv}`]
    });

    // 方法一:添加全局上下文的写法
    DD_RUM.addGlobalContext('country', userCountry);
  })
</script>

后续筛选使用

在Datadog RUM监控视图中,可通过@country:us或country:us(对应tags方式)的语法筛选特定国家的监控数据,结合环境标签@env:dev还能实现多维度筛选。

内容的提问来源于stack exchange,提问作者marhg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 19:15:56