Браузер JS
SDK браузера ClickStack позволяет вам инструментировать ваше фронтенд-приложение для отправки событий в ClickStack. Это позволяет вам просматривать сетевые запросы и исключения наряду с событиями бэкенда в одной временной шкале.
Кроме того, он автоматически собирает и коррелирует данные воспроизведения сессий, так что вы можете визуально пройтись и отладить то, что пользователь видел, используя ваше приложение.
Этот гид интегрирует следующее:
- Логи консоли
- Воспроизведения сессий
- Запросы XHR/Fetch/Websocket
- Исключения
Начало работы
- Импорт пакета
- Тег скрипта
Установка через импорт пакета (Рекомендуется)
Используйте следующую команду для установки браузерного пакета.
Инициализация ClickStack
Установка через тег скрипта (Альтернатива)
Вы также можете включить и установить скрипт через тег скрипта вместо установки через NPM. Это создаст глобальную переменную HyperDX
, которая может использоваться так же, как и пакет NPM.
Это рекомендуется, если ваш сайт в настоящее время не построен с использованием сборщика.
Опции
apiKey
- Ваш ключ API для приемки ClickStack.service
- Имя сервиса, которое будет отображаться в интерфейсе HyperDX.tracePropagationTargets
- Список регулярных выражений для сопоставления с HTTP запросами для связывания фронтенд и бэкенд трасс, он добавит дополнительный заголовокtraceparent
ко всем запросам, соответствующим любому из шаблонов. Это должно быть установлено на ваш домен API бэкенда (например,api.yoursite.com
).consoleCapture
- (Опционально) Захват всех логов консоли (по умолчаниюfalse
).advancedNetworkCapture
- (Опционально) Захват полных заголовков и тел запросов/ответов (по умолчанию false).url
- (Опционально) URL-адрес коллектора OpenTelemetry, необходим только для самоуправляемых экземпляров.maskAllInputs
- (Опционально) Нужно ли маскировать все поля ввода в воспроизведении сессии (по умолчаниюfalse
).maskAllText
- (Опционально) Нужно ли маскировать весь текст в воспроизведении сессии (по умолчаниюfalse
).disableIntercom
- (Опционально) Нужно ли отключить интеграцию Intercom (по умолчаниюfalse
)disableReplay
- (Опционально) Нужно ли отключить воспроизведение сессий (по умолчаниюfalse
)
Дополнительная конфигурация
Присоединение информации о пользователе или метаданных
Присоединение информации о пользователе позволит вам искать/фильтровать сессии и события в интерфейсе HyperDX. Это можно вызывать в любой момент в течение клиентской сессии. Текущая клиентская сессия и все события, отправленные после вызова, будут ассоциироваться с информацией о пользователе.
userEmail
, userName
и teamName
будут заполнять интерфейс сессий соответствующими значениями, но могут быть опущены. Любые другие дополнительные значения могут быть указаны и использованы для поиска событий.
Автоматический захват ошибок границы ошибок React
Если вы используете React, вы можете автоматически захватывать ошибки, которые происходят в пределах границ ошибок React, передав ваш компонент границы ошибок в функцию attachToReactErrorBoundary
.
Отправка пользовательских действий
Чтобы явно отслеживать конкретное событие приложения (например, регистрацию, отправку и т. д.), вы можете вызвать функцию addAction
с именем события и опциональными метаданными события.
Пример:
Включение захвата сети динамически
Чтобы динамически включить или отключить захват сети, просто вызовите функцию enableAdvancedNetworkCapture
или disableAdvancedNetworkCapture
по мере необходимости.
Включение тайминга ресурсов для CORS запросов
Если ваше фронтенд-приложение делает API-запросы к другому домену, вы можете по желанию включить заголовок Timing-Allow-Origin
, который будет отправлен с запросом. Это позволит ClickStack захватывать детальную информацию о тайминге ресурсов для запроса, такую как DNS-lookup, скачивание ответа и т.д. через PerformanceResourceTiming
.
Если вы используете express
с пакетами cors
, вы можете использовать следующий фрагмент для включения заголовка: