使用 Datadog 日志和 RUM SDK 在抛出错误时发送多个请求
Using the Datadog logs and RUM SDKs sends multiple requests when errors are being thrown
我有以下问题:
触发器
正在抛出未捕获的异常,datadog logs SDK 发送请求记录事件。
预期结果
一个请求是 sent/incident 并且事件仅在 Datadog UI 中记录一次。
实际结果
Datadog 日志 SDK 发送许多 requests/incident(在 1k-2.5k 之间)并且事件在 Datadog UI.
中记录了很多次
附加信息
当禁用 Datadog RUM SDK 时,Datadog 日志 SDK 会按预期运行。但是,我想 运行 他们两个,所以目前这不是一个选项。
我正在为 @datadog/browser-logs
和 @datadog/browser-rum
包使用版本 3.1.3
。
下面是说明问题的屏幕截图:
Many requests being sent for one uncaught exception example
这是我用来初始化日志和 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",
对于其他人:
使用localhost
,不是自定义域名。出于某种原因,DD_RUM.getInternalContext() 不适用于自定义域名。
同时安装 RUM 和日志版本 - 最新版本并且可能是同一版本。如果您需要特定的不同版本,请在 package.lock 上检查 datadog 包的依赖包。它可以是不同的,这可能会引发错误。
我有以下问题:
触发器
正在抛出未捕获的异常,datadog logs SDK 发送请求记录事件。
预期结果
一个请求是 sent/incident 并且事件仅在 Datadog UI 中记录一次。
实际结果
Datadog 日志 SDK 发送许多 requests/incident(在 1k-2.5k 之间)并且事件在 Datadog UI.
中记录了很多次附加信息
当禁用 Datadog RUM SDK 时,Datadog 日志 SDK 会按预期运行。但是,我想 运行 他们两个,所以目前这不是一个选项。
我正在为 @datadog/browser-logs
和 @datadog/browser-rum
包使用版本 3.1.3
。
下面是说明问题的屏幕截图:
Many requests being sent for one uncaught exception example
这是我用来初始化日志和 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",
对于其他人:
使用
localhost
,不是自定义域名。出于某种原因,DD_RUM.getInternalContext() 不适用于自定义域名。同时安装 RUM 和日志版本 - 最新版本并且可能是同一版本。如果您需要特定的不同版本,请在 package.lock 上检查 datadog 包的依赖包。它可以是不同的,这可能会引发错误。