要約HackerNews Analyzerをクローンし、
.env にOTLPエンドポイントとトークンを設定してから、agentのプロンプトを貼り付けます。バックエンドにOpenTelemetryのインポートは必要ありません。agentがプロセスの起動時に @hyperdx/node-opentelemetry を組み込みます。所要時間:約10分前提条件
- Node 18 以降と npm
- ClickStack の OTLP/HTTP endpoint とインジェストトークン:
- ClickHouse Cloud: service を開き、ClickStack → OpenTelemetry exporter を設定 → 環境変数の順に選択します。プロトコルは
http/protobufです。headers にはauthorization=<ingestion token>を指定し、Bearerプレフィックスは付けません。 - ローカル collector:
http://localhost:4318を使用します。collector が保護されていない場合は、authorization=を空のままにします。
- ClickHouse Cloud: service を開き、ClickStack → OpenTelemetry exporter を設定 → 環境変数の順に選択します。プロトコルは
リポジトリをクローンする
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 は認証 header で、Bearer プレフィックスなしの authorization=<token> 形式です。collector で認証を強制していない場合は、token を空のままにします (OTEL_EXPORTER_OTLP_HEADERS=authorization=) 。変数自体は設定しておく必要があります。未設定または完全に空の場合、SDK は初期化をスキップします。Browser SDK ではこれらと同じ値を再利用します。vite.config.ts はビルド時にエンドポイントと token を Public bundle に埋め込むため、production 用ではなく、使い捨てのインジェスト token を使用してください。3
アプリケーションをインストルメントする
いずれかの方法を選んでください。どの方法でも、最終的には同じインストルメント済みアプリケーションになります。
- エージェントによるインストルメンテーション
- 手動インストルメンテーション
- 事前インストルメント済みブランチを使用する
リポジトリをクローンし、
.envを設定したら、アプリケーションをインストルメントするため、そのディレクトリでこのプロンプトをコーディングエージェントに貼り付けてください。4
トラフィックを生成してテレメトリーを表示する
新しい起動コマンドとビルドし直したブラウザーバンドルを反映するには、アプリケーションを再起動します。起動バナーに、


ログ、メトリクス、トレース、セッションリプレイはすべて同じUIに集約され、同じクエリ言語を使用し、自動的に相関付けられます。
/v1/traces、/v1/metrics、/v1/logs について「Health check passed」が3行表示されることを確認します。ブラウザのタブを再読み込みしてViteが更新済みのバンドルを配信するようにし、年を切り替えてストーリーをクリックし、トラフィックを生成します。ClickStack UIを開きます。- Search に移動し、過去5分間に絞り込みます。
hn-analyzer-apiのログがストリーミング表示されます。

- リクエストをクリックして、トレースを上流にたどります。Expressハンドラーのスパン、実際のネットワーク所要時間を示す
sql-clickhouse.clickhouse.com向けの子HTTPスパン、および同じトレース上で相関付けられたconsole.logレコードが表示されます。

- Session Replay を開くと、トレースタイムラインと同期したブラウザセッションの動画をシークしながら再生できます。

詳しくはこちら
- HackerNews Analyzer: このガイドでインストルメントするデモリポジトリ。
- セッションリプレイ: 機能の概要、SDK オプション、プライバシー制御。
- セッションリプレイ Demo: ローカルの ClickStack インスタンスで試せる自己完結型デモ。
- ClickStack 入門: ClickStack をデプロイし、最初のデータを取り込むためのガイド。
- サンプルデータセット一覧: そのほかのサンプルデータセットとガイド。