باختصاراستنسخ HackerNews Analyzer، واملأ ملف
.env بنقطة نهاية OTLP والرمز المميز الخاصين بك، ثم ألصق توجيه agent. لا تحتاج الواجهة الخلفية إلى أي عمليات استيراد لـ OpenTelemetry؛ إذ يوصّل agent الحزمة @hyperdx/node-opentelemetry عند بدء العملية.الوقت المطلوب: نحو 10 دقائقالمتطلبات الأساسية
- Node 18+ وnpm
- نقطة نهاية لـ ClickStack OTLP/HTTP ورمز مميز للاستيعاب:
- ClickHouse Cloud: افتح الخدمة، ثم ClickStack → تهيئة exporter لـ OpenTelemetry → متغيرات البيئة. البروتوكول هو
http/protobuf. تكون headers بالشكلauthorization=<ingestion token>، من دون بادئةBearer. - collector محلي: استخدم
http://localhost:4318. إذا كان collector غير مؤمَّن، فاتركauthorization=فارغًا.
- ClickHouse Cloud: افتح الخدمة، ثم ClickStack → تهيئة exporter لـ OpenTelemetry → متغيرات البيئة. البروتوكول هو
استنسخ المستودع
استنسخ HackerNews Analyzer، وثبّت التبعيات، وانسخ قالب ملف البيئة:.env في الخطوات التالية، ثم جهّز التطبيق لإرسال بيانات التتبّع من هذا الدليل.
أضِف أدوات القياس عن بُعد إلى التطبيق
1
شغّل التطبيق
من الدليل المستنسخ افتح http://localhost:5001. سترى محدِّدًا للسنة، وإحصاءات موجزة، ومخططًا للنشاط، وجدولي أبرز المستخدمين والنطاقات، ومربع بحث. استكشف التطبيق بالنقر: بدّل السنوات وتعمّق في القصص.
في هذه المرحلة، يكون التطبيق قيد التشغيل لكنه غير مزوَّد بأدوات التتبّع. لا يعرض ClickStack أي بيانات، إذ ينتظر بيانات التتبّع.
hn-news-analyzer، شغّل التطبيق. يتصل مصدر بيانات ClickHouse افتراضيًا بالعنقود التجريبي العام للقراءة فقط، لذا يعمل دون الحاجة إلى أي إعداد إضافي:
2
تهيئة البيئة
تقرأ حِزم SDK متغيرات exporter القياسية لـ 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 نقطة النهاية والرمز في الحزمة العامة وقت البناء، لذا استخدم رمز استيعاب مؤقتًا، وليس رمزًا مخصصًا للإنتاج.3
زوّد التطبيق بأدوات القياس عن بُعد
اختر مسارًا واحدًا. تنتهي المسارات الثلاثة بالتطبيق نفسه المزوّد بأدوات القياس.
- إضافة أدوات القياس باستخدام agent
- إضافة أدوات القياس يدويًا
- استخدم فرعًا مجهزًا مسبقًا بأدوات القياس
بعد استنساخ المستودع وتعبئة ملف
.env، الصق هذا الـprompt في agent برمجي من داخل ذلك الدليل لإضافة أدوات القياس إلى التطبيق.4
أنشئ حركة مرور واعرض بيانات التتبّع
أعد تشغيل التطبيق لتفعيل أمر التشغيل الجديد وحزمة المتصفح التي أُنشئت حديثًا:تأكد من أن رسالة بدء التشغيل تطبع ثلاثة أسطر «Health check passed» لـ 


تظهر السجلات والمقاييس والتتبعات وإعادات تشغيل الجلسات في واجهة المستخدم نفسها، وتستخدم لغة الاستعلام نفسها، وترتبط تلقائيًا.
/v1/traces و/v1/metrics و/v1/logs. أعد تحميل علامة تبويب المتصفح لكي يقدّم Vite الحزمة المحدّثة، ثم بدّل بين السنوات وانقر على القصص لإنشاء حركة مرور.افتح واجهة مستخدم ClickStack:- انتقل إلى Search وطبّق عامل تصفية لآخر 5 دقائق. ستظهر سجلات
hn-analyzer-apiتباعًا.

- انقر على طلب وتتبّع الـ trace صعودًا. سترى span لمعالج Express، وspan HTTP تابعًا يشير إلى
sql-clickhouse.clickhouse.comمع مدة شبكة فعلية، وسجلاتconsole.logمرتبطة بالـ trace نفسه.

- افتح Session Replay لتشغيل فيديو قابل للتمرير لجلسة متصفح، متزامن مع المخطط الزمني للـ trace.

تعرّف على المزيد
- HackerNews Analyzer: المستودع التجريبي الذي يوضّح هذا الدليل كيفية تزويده بأدوات القياس.
- إعادة تشغيل الجلسة: نظرة عامة على الميزة، وخيارات SDK، وعناصر التحكّم في الخصوصية.
- عرض توضيحي لإعادة تشغيل الجلسة: عرض توضيحي مستقل مع مثيل ClickStack محلي.
- البدء مع ClickStack: انشر ClickStack وأدخِل أولى بياناتك.
- كل مجموعات البيانات التجريبية: مجموعات بيانات تجريبية وأدلة أخرى.