КраткоКлонируйте HackerNews Analyzer, укажите в
.env конечную точку OTLP и токен, затем вставьте промпт агента. Backend не требует импортов OpenTelemetry: агент подключает @hyperdx/node-opentelemetry при запуске процесса.Требуемое время: около 10 минутПредварительные требования
- Node 18+ и npm
- Конечная точка ClickStack OTLP/HTTP и токен ингестии:
- ClickHouse Cloud: откройте сервис, затем перейдите в ClickStack → Configure your OpenTelemetry exporter → Env vars. Протокол:
http/protobuf. Заголовок:authorization=<ingestion token>без префиксаBearer. - Локальный collector: используйте
http://localhost:4318. Если collector не защищён, оставьтеauthorization=пустым.
- ClickHouse Cloud: откройте сервис, затем перейдите в ClickStack → Configure your OpenTelemetry exporter → Env vars. Протокол:
Клонируйте репозиторий
Клонируйте HackerNews Analyzer, установите зависимости и скопируйте шаблон файла окружения:.env, а затем из этого каталога инструментируете приложение.
Инструментируйте приложение
1
Запустите приложение
В клонированном каталоге Откройте http://localhost:5001. Вы увидите переключатель года, сводную статистику, диаграмму активности, таблицы самых активных пользователей и доменов, а также поле поиска. Попробуйте приложение: переключайте годы, открывайте подробности историй.
На этом этапе приложение запущено, но не оснащено инструментированием. ClickStack пока не показывает данных: он ожидает телеметрию.
hn-news-analyzer запустите приложение. По умолчанию источником данных ClickHouse служит общедоступный демонстрационный кластер в режиме «только для чтения», поэтому дополнительная настройка не требуется:
2
Настройте окружение
SDK используют стандартные переменные экспортёра OpenTelemetry. Они не прописаны жёстко в исходном коде. Откройте
.env и задайте:OTEL_EXPORTER_OTLP_ENDPOINT — конечная точка OTLP/HTTP (порт 4318). OTEL_EXPORTER_OTLP_HEADERS — заголовок авторизации в формате authorization=<token> без префикса Bearer.Если коллектор не требует аутентификации, оставьте токен пустым (OTEL_EXPORTER_OTLP_HEADERS=authorization=). Переменная всё равно должна быть задана: SDK пропускает инициализацию, если она не задана или полностью пуста.Browser SDK использует те же значения. vite.config.ts встраивает конечную точку и токен в публичный bundle на этапе сборки, поэтому используйте одноразовый токен ингестии, а не токен для продакшна.3
Инструментируйте приложение
Выберите один из вариантов. Все три приведут к одному и тому же инструментированному приложению.
- Инструментирование с помощью агента
- Ручное инструментирование
- Используйте предварительно инструментированную ветку
Клонировав репозиторий и заполнив
.env, вставьте этот промпт в coding agent из этого каталога, чтобы инструментировать приложение.4
Создайте трафик и просмотрите телеметрические данные
Перезапустите приложение, чтобы применились новая команда запуска и свежесобранная сборка для браузера:Убедитесь, что в стартовом баннере выводятся три строки “Проверка работоспособности пройдена” для 


Журналы, метрики, трассировки и воспроизведения сеансов отображаются в одном интерфейсе, используют один язык запросов и автоматически коррелируются.
/v1/traces, /v1/metrics и /v1/logs. Перезагрузите вкладку браузера, чтобы Vite отдал обновлённый bundle, затем переключайте годы и открывайте истории, чтобы сгенерировать трафик.Откройте интерфейс ClickStack:- Перейдите в Search и установите период «последние 5 минут». Начнут поступать журналы
hn-analyzer-api.

- Откройте запрос и перейдите к родительским спанам трассировки. Вы увидите спан обработчика Express, дочерний HTTP-спан, указывающий на
sql-clickhouse.clickhouse.com, с фактической длительностью сетевого запроса, а также коррелированные записиconsole.logв той же трассировке.

- Откройте Воспроизведение сеанса, чтобы просмотреть видео сеанса браузера с возможностью перемотки, синхронизированное со шкалой времени трассировки.

Подробнее
- HackerNews Analyzer: репозиторий демо-приложения, которое инструментируется в этом руководстве.
- Воспроизведение сеанса: обзор этой возможности, варианты SDK и настройки конфиденциальности.
- Демо воспроизведения сеанса: автономное демо с локальным экземпляром ClickStack.
- Начало работы с ClickStack: разверните ClickStack и настройте приём первых данных.
- Все демонстрационные наборы данных: другие демонстрационные наборы данных и руководства.