Веб-приложения: сеансы неправильно помечены или отсутствуют метаданные
Если вы заметили, что ваши сеансы неправильно помечены или в них отсутствуют метаданные, скорее всего, это связано с настройкой конфиденциальности данных приложения под названием «Не отслеживать».
Для этого параметра опция Сбор данных анонимных сеансов пользователей для браузеров с включенной опцией «Не отслеживать» включена по умолчанию, что является важным элементом конфиденциальности данных RUM. Эта опция гарантирует, что Ключ-АСТРОМ будет собирать только анонимные сеансы, если в браузерах пользователей обнаружена опция «Не отслеживать».
Вы можете изменить настройку «Не отслеживать» для своего приложения. Обратите внимание: если вы выберите опцию Отключить мониторинг реальных пользователей для браузеров с поддержкой «Не отслеживать» , RUM будет отключен при обнаружении настройки «Не отслеживать» в браузерах пользователей.
Подробные инструкции см. в разделе Настройка параметров конфиденциальности данных для веб-приложений | Не отслеживать.
Проверьте следующее, если в ваших веб-приложениях отсутствуют необходимые метаданные. Также проверьте веб-приложения: сеансы случайным образом разбиваются на более короткие сеансы.
- Проверьте, содержится ли переменная JS или элемент DOM в Frames/IFrame
- Проверьте, неверен ли селектор DOM или недоступен ли querySelector.
- Проверьте, используют ли файлы cookie HttpOnly
- Убедитесь, что файлы cookie установлены на правильном домене.
В JavaScript-коде RUM есть функция dtrum.getAndEvaluateMetaData(), которая собирает все настроенные метаданные и выводит список текущих значений. Если метаданные не были собраны, функция указывает причину.
- Если выражение метаданных не указано, возможно, страница, на которой вы сейчас находитесь, не сопоставлена с правильным приложением.
- Если выражение метаданных показывает данные, которые вы намеревались получить, эти данные могут быть недоступны во время их сбора с помощью RUM JavaScript. Данные собираются после завершения действия, поэтому, если данные доступны только после этого, RUM JavaScript не сможет получить эти значения.
Проверьте, содержится ли переменная JS или элемент DOM в Frames/IFrame
У IFrame и Frames есть собственный контекст JavaScript, поэтому невозможно получить доступ к переменным, которые доступны только в другом фрейме. Элементы DOM также должны быть доступны во Frames или IFrame, в который внедряется RUM JavaScript, поскольку у IFrame могут быть ограничения доступа.
Вы можете использовать Chrome DevTools для проверки захвата переменных JavaScript или элементов DOM. Для этого выполните необходимое действие в приложении. Затем перейдите на вкладку «Консоль» в Chrome DevTools и проверьте журнал на наличие записей DOM Element value и Variable value. Убедитесь, что эти записи имеют допустимые значения.
На следующем рисунке показан доступ к элементу DOM в IFrame, содержащем элемент DOM.
На этом изображении показан доступ к элементу DOM в IFrame, который не содержит элемента DOM.
Проверьте, неверен ли селектор DOM или недоступен ли querySelector
Выполните следующие действия, чтобы проверить правильность селектора DOM:
- Убедитесь, что параметр
document.querySelectorдоступен, введя его в консоль Chrome DevTools. Если он недоступен, вы не сможете получать значения в этом браузере. Однако это маловероятно, так какdocument.querySelectorподдерживается даже в более старых версиях браузеров. - Убедитесь, что
document.querySelector('yourselector')возвращает нужное значение. Если нет, то ваш кодqueryselectorневерен, и RUM JavaScript не предоставляет данные. Подробнее обqueryselectorсм. в разделе W3C Selectors API.
Чтобы проверить возвращаемое значение для document.querySelector, выполните необходимое действие в приложении. Затем в Chrome DevTools перейдите на вкладку «Элементы» , выполните поиск по строке document.querySelector и проверьте возвращаемое значение.
На следующем изображении показаны данные, правильно возвращенные из document.querySelector:
Проверьте, используют ли файлы cookie HttpOnly
Если у файлов cookie установлен флаг HttpOnly, RUM JavaScript не может получить доступ к их значениям, и значение не сообщается, как показано на следующем рисунке.
Проверить, установлен ли флаг HttpOnly для файлов cookie, можно на вкладке «Приложение» в Chrome DevTools.
Убедитесь, что файлы cookie установлены на правильном домене.
Иногда файлы cookie устанавливаются не в нужном домене, хотя они отображаются в Chrome DevTools. Это означает, что вы можете увидеть значение файла cookie в Chrome DevTools, но он недоступен из RUM JavaScript.
Чтобы попробовать это, вы можете выполнить поиск по строке document.cookie в консоли Chrome DevTools и проверить, содержит ли возвращаемая строка файл cookie, который вы хотите получить.




