Исключение запросов XHR и Fetch из мониторинга
Исключение запросов XHR и Fetch из мониторинга
По умолчанию RUM фиксирует событие запроса всякий раз, когда приложение отправляет запрос XMLHttpRequest (XHR) или Fetch. Если запрос инициируется щелчком мыши, также фиксируется действие пользователя, связанное с запросом. Вы можете исключить как события запроса, так и события действия пользователя, создав правила исключения XHR. Эти правила особенно полезны, когда ваше приложение часто отправляет XHR-запросы на основе статуса, которые вы не хотите включать в данные пользователя.
Настройка правила исключения XHR
Чтобы исключить запросы XHR и Fetch из мониторинга:
- Перейдите в раздел Ключевые показатели опыта > Обзор.
- Выберите Веб, чтобы просмотреть все веб-интерфейсы.
- Выберите интерфейс, который хотите настроить.
- На вкладке Настройки выберите Настройки XHR.
- В разделе Исключить XHR-запросы из мониторинга выберите Добавить.
- В правиле исключения XHR укажите регулярное выражение JavaScript, соответствующее URL-адресам запрашиваемых ресурсов.
Избегайте неэффективных регулярных выражений
Неэффективные регулярные выражения могут вызывать проблемы с производительностью вашего приложения, включая зависание браузера на несколько секунд. Для повышения производительности пишите выражения, которые соответствуют подстроке URL-адреса, а не всему URL-адресу целиком. Это особенно актуально для длинных URL-адресов.
Как применяются правила исключения XHR
JavaScript-код RUM проверяет регулярное выражение по отношению к URL-адресу с помощью RegExp.prototype.test(). Регулярное выражение не обязательно должно соответствовать полному URL-адресу, а только его подстроке. Совпадение нечувствительно к регистру, и косые черты (/) не нужно экранировать.
В RUM совпадающий URL всегда является абсолютным. В RUM Classic URL — это то, что было передано в вызов XHR или Fetch, и это может быть как относительный, так и абсолютный URL. Правила исключения XHR, которые вы настраиваете в RUM, также применяются в RUM Classic, поэтому, если вы хотите, чтобы правило работало для обоих случаев, напишите регулярное выражение, которое соответствует как абсолютному URL, так и URL, переданному в вызов XHR или Fetch.
Сайты для тестирования регулярных выражений
При составлении регулярного выражения с помощью такого сайта, как Regex101, выберите следующие параметры:
- Вариант ECMAScript (JavaScript)
- Разделитель
" - Флаг совпадения, нечувствительный к регистру
Примеры
В следующих примерах показано, как задать правила исключения XHR для распространенных сценариев.
Исключение запросов подтверждения активности из вашего собственного приложения
Приложение отправляет запросы подтверждения активности с помощью XMLHttpRequest, и поскольку это запросы из одного источника, оно использует относительный URL /api/heartbeat. Поэтому RUM Classic сопоставляет правила исключения XHR с относительным URL /api/heartbeat, а RUM — с абсолютным URL https://example.com/api/heartbeat.
Указание правила исключения XHR с помощью регулярного выражения /api/heartbeat исключает запросы подтверждения активности из мониторинга как в RUM, так и в RUM Classic.
Исключение маяков Google Analytics
Приложение использует Google Analytics, который отправляет маяки с URL-адресом https://www.google-analytics.com/g/collect?v=2&tid=G-XXXXXXXX&.... Поскольку это междоменные запросы, и для вызова используется абсолютный URL-адрес, правила исключения XHR сопоставляются с абсолютным URL-адресом как в RUM, так и в RUM Classic.
Указание правила исключения XHR с помощью регулярного выражения google-analytics\.com/g/collect исключает эти запросы из мониторинга как в RUM, так и в RUM Classic.
Исключение запросов Google Analytics полностью
Приложение использует Google Analytics, который отправляет запросы на следующие URL-адреса:
https://www.google-analytics.com/g/collect?v=2&tid=G-XXXXXXXX&...https://region1.google-analytics.com/g/collect?v=2&tid=G-XXXXXXXX&...https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXhttps://www.googletagmanager.com/gtm.js?id=GTM-XXXXXXXhttps://www.google-analytics.com/collect?v=1&tid=UA-XXXXXXXX-1&...
Поскольку это междоменные запросы, и для вызова используется абсолютный URL-адрес, правила исключения XHR сопоставляются с абсолютным URL-адресом как в RUM, так и в RUM Classic.
Указание правила исключения XHR с помощью регулярного выражения google-analytics\.com|googletagmanager\.com исключает эти запросы из мониторинга как в RUM, так и в RUM Classic.