Skip to main content
КраткоКлонируйте HackerNews Analyzer, укажите в .env конечную точку OTLP и токен, затем вставьте промпт агента. Backend не требует импортов OpenTelemetry: агент подключает @hyperdx/node-opentelemetry при запуске процесса.Требуемое время: около 10 минут
HackerNews Analyzer — приложение Node.js, которое выполняет запросы к датасету HackerNews, размещённому в публичной демоверсии ClickHouse. Каждая диаграмма, таблица и поле поиска выполняют реальный запрос к ClickHouse, поэтому при каждом взаимодействии создаётся трассировка, основной спан которой — HTTPS-вызов из backend в ClickHouse. Это отличается от демонстрации воспроизведения сеанса, где браузерное приложение инструментируется для работы с локальным ClickStack в Docker. Здесь одно приложение предоставляет автоматическую инструментацию backend, спаны запросов к ClickHouse и воспроизведение сеанса.

Предварительные требования

  • 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= пустым.

Клонируйте репозиторий

Клонируйте HackerNews Analyzer, установите зависимости и скопируйте шаблон файла окружения:
На следующих шагах вы заполните .env, а затем из этого каталога инструментируете приложение.

Инструментируйте приложение

1

Запустите приложение

В клонированном каталоге hn-news-analyzer запустите приложение. По умолчанию источником данных ClickHouse служит общедоступный демонстрационный кластер в режиме «только для чтения», поэтому дополнительная настройка не требуется:
Откройте http://localhost:5001. Вы увидите переключатель года, сводную статистику, диаграмму активности, таблицы самых активных пользователей и доменов, а также поле поиска. Попробуйте приложение: переключайте годы, открывайте подробности историй.
Приложение HackerNews Analyzer, запущенное локально
На этом этапе приложение запущено, но не оснащено инструментированием. ClickStack пока не показывает данных: он ожидает телеметрию.
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:
  1. Перейдите в Search и установите период «последние 5 минут». Начнут поступать журналы hn-analyzer-api.
Поиск ClickStack с журналами hn-analyzer-api за последние пять минут
  1. Откройте запрос и перейдите к родительским спанам трассировки. Вы увидите спан обработчика Express, дочерний HTTP-спан, указывающий на sql-clickhouse.clickhouse.com, с фактической длительностью сетевого запроса, а также коррелированные записи console.log в той же трассировке.
Трассировка ClickStack со спаном обработчика Express и дочерним HTTP-спаном к ClickHouse
  1. Откройте Воспроизведение сеанса, чтобы просмотреть видео сеанса браузера с возможностью перемотки, синхронизированное со шкалой времени трассировки.
Воспроизведение сеанса ClickStack, синхронизированное со шкалой времени трассировки
Журналы, метрики, трассировки и воспроизведения сеансов отображаются в одном интерфейсе, используют один язык запросов и автоматически коррелируются.

Подробнее

Последнее изменение 26 сентября 2026 г.