Использование журналов регистрации данных и RUM SDK отправляет несколько запросов при возникновении ошибок

#javascript #reactjs #logging #datadog #rum

Вопрос:

У меня есть следующая проблема:

Спусковой крючок

Создается неперехваченное исключение, и datadog logs SDK отправляет запрос на регистрацию инцидента.

Ожидаемые результаты

Отправляется один запрос/инцидент, и инцидент регистрируется только один раз в пользовательском интерфейсе Datadog.

Фактический результат

Datadog регистрирует, что SDK отправляет много запросов/инцидентов (от 1 до 2,5 тыс.), и инцидент регистрируется много раз в пользовательском интерфейсе Datadog.

дополнительная информация

При отключении SDK Datadog RUM 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' amp;amp; 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()
                    });
                }
    }
 

Ответ №1:

У меня была та же проблема, обновление как регистратора данных, так и журнала до версии 3.6.13 исправило это для меня:

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