使用Datadog日志和RUM sdk在抛出错误时发送多个请求



我有以下问题:

抛出未捕获的异常,datadog记录SDK发送请求以记录该事件。

预期结果

发送一个请求/事件,事件仅在Datadog UI中记录一次。

实际结果

Datadog日志SDK发送多个请求/事件(1k-2.5k),该事件在Datadog UI中记录多次。

当禁用Datadog RUM SDK时,则Datadog日志SDK的行为与预期一致。但是,我想同时运行它们,所以目前这不是一个选项。

我使用3.1.3版本的@datadog/browser-logs@datadog/browser-rum包。

下面是一个截图来说明这个问题:

为一个未捕获的异常示例发送多个请求

这是我用来初始化日志和RUM sdk的代码:

import { datadogLogs } from '@datadog/browser-logs';
import { datadogRum } from '@datadog/browser-rum';
if (process.env.NODE_ENV === 'production' && process.env.DATADOG_CLIENT_TOKEN) {
const environment = getEnvironment();
const config = {
site: 'datadoghq.eu',
clientToken: process.env.DATADOG_CLIENT_TOKEN,
service: typeof DATADOG_SERVICE !== 'undefined' ? DATADOG_SERVICE : undefined,
env: environment ? `${environment}` : undefined,
proxyHost: process.env.PROXY_HOST
};

datadogLogs.init(config);


if (process.env.DATADOG_APPLICATION_ID) {
datadogRum.init({
...config,
trackInteractions: true,
applicationId: process.env.DATADOG_APPLICATION_ID
});

datadogRum.setUser({
name: service.getName(),
email: service.getEmail()
});
}
}

我也有同样的问题,升级Datadog Rum和日志到3.6.13为我修复了这个问题:

"@datadog/browser-logs": "^3.6.13",
"@datadog/browser-rum": "^3.6.13",

其他人:

  1. 使用localhost域名,不使用自定义域名。由于某些原因,DD_RUM.getInternalContext()对自定义域名不起作用。

  2. 安装两个版本的RUM和日志-最新的,可能是相同的版本。如果您需要特定的不同版本,请检查package.lock上的datadog包的依赖包。它可以是不同的,可以抛出错误。

相关内容

  • 没有找到相关文章

最新更新