الأحداث لا تظهر في AllStak: شخّص المشكلة في دقائق
ثبّت الـ SDK لكن اللوحة فاضية، أو الأخطاء الجديدة توقفت عن الوصول. أغلب الحالات سببها واحد من الفحوصات الستة أدناه.
كيف تبدو المشكلة
هيّأت حزمة AllStak SDK ونشرت وأطلقت خطأ تجريبيًا — ولا شيء يظهر في المشروع. أو كانت الأحداث تتدفق ثم توقفت فجأة بعد نشر جديد أو تدوير مفتاح أو تغيير في البنية التحتية. نادرًا ما يطبع الـ SDK شيئًا واضحًا عند فشل الإرسال، لذا تبقى اللوحة الفارغة هي العرَض الوحيد غالبًا.
وقد "تختفي" الأحداث وهي في الحقيقة وصلت — لكن تحت بيئة مختلفة عن البيئة المفلترة في لوحتك، أو كأحداث مُعالَجة بينما أنت تبحث عن الأعطال فقط. امشِ على الخطوات بالترتيب؛ كل خطوة تستبعد فئة كاملة من الأسباب.
الأسباب الجذرية الشائعة
مفتاح API خاطئ أو غير محمّل
المفتاح في شيفرتك يشير إلى مشروع آخر، أو متغيّر البيئة الذي يفترض أن يحمله فارغ في العملية الجارية — وهذا شائع بعد عمليات نشر لا تنقل المتغيّر معها.
فلتر البيئة يخفي الأحداث
تصل الأحداث تحت قيمة البيئة التي أرسلها الـ SDK (مثل development)، بينما اللوحة مفلترة على production. البيانات موجودة — لكنك لا تنظر إليها.
تهيئة الـ SDK تتأخر أو لا تعمل أصلًا
إذا وقعت الأخطاء قبل أن يُهيَّأ الـ SDK — أو لم يُنفَّذ مسار التهيئة أصلًا في نسخ الإنتاج — فلا يوجد ما يلتقطها.
منافذ الشبكة أو حدود الخطة
جدار ناري أو بروكسي أو اعتراض TLS يمنع HTTPS إلى نقطة الاستقبال فيُسقط الأحداث بصمت. وبشكل منفصل، قد يُقيَّد الحجم العالي المستمر وفق حدود خطتك.
التشخيص خطوة بخطوة
نفّذ هذه الفحوصات بالترتيب — كل واحدة تستبعد السبب الأكثر شيوعًا قبل التي بعدها.
- 1
تحقّق من قيمة مفتاح API
افتح إعدادات مشروعك في لوحة AllStak وقارن المفتاح حرفًا بحرف مع ما يستخدمه تطبيقك. المفاتيح بشكل ask_live_… ومرتبطة بمشروع واحد — ومفتاح مشروع آخر يرسل أحداثك لمكان غير مكانها.
- 2
تأكد أن متغيّر البيئة محمّل وقت التشغيل
اطبع في السجل عند بدء التشغيل وجود المتغيّر (لا قيمته) — مثلًا هل ALLSTAK_API_KEY مضبوط. متغيّر معرّف في .env المحلي لكنه غائب عن بيئة النشر هو أكثر سبب شيوعًا للوحة فارغة.
- 3
افحص فلتر البيئة في اللوحة
تظهر الأحداث تحت البيئة التي أرسلها الـ SDK (خيار environment في التهيئة أو الإعداد). بدّل فلتر البيئة في اللوحة إلى القيمة المضبوطة فعليًا في الـ SDK — بما فيها قيمة افتراضية مثل development إن لم تضبطها.
- 4
تأكد أن التهيئة تسبق وقوع الأخطاء
هيّئ الـ SDK في أبكر نقطة ممكنة من ملف الدخول — قبل استيراد بقية التطبيق حيث يُدعم ذلك (مثل AllStak.init في أعلى ملف دخول Node.js، أو instrumentation.ts في Next.js، أو allstak.init() قبل إنشاء تطبيق Python).
- 5
اختبر منفذ الشبكة إلى نقطة الاستقبال
من الجهاز الذي يشغّل تطبيقك، تأكد أن طلبات HTTPS إلى نقطة استقبال AllStak تنجح — فالبروكسيات المؤسسية وسياسات شبكات الحاويات وأجهزة اعتراض TLS كلها تُسقط حركة الـ SDK بصمت.
- 6
افحص بوّابات الالتقاط وحدود الخطة
تُلتقط الاستثناءات غير المُعالَجة تلقائيًا، أما المُعالَجة فتحتاج نداء captureException صريحًا — وبعض التكاملات لها بوّابات التقاط (مثل allstak.capture-exceptions) قد تكون عُطّلت. وإذا كان الحجم عاليًا جدًا، فقد يُقيَّد الاستقبال وفق حدود الخطة.
كيف تمنع تكرارها
- احقن مفتاح API من متغيّر بيئة في كل بيئة نشر — ولا تضمّنه في الشيفرة أبدًا.
- اضبط environment صراحةً في تهيئة الـ SDK حتى لا تختلط بيئتا الاختبار والإنتاج أو تخفي إحداهما الأخرى.
- هيّئ الـ SDK أولًا في ملف الدخول، قبل أي شيفرة قد ترمي خطأ.
- بعد كل نشر، أطلق خطأ تجريبيًا واحدًا معروفًا وتأكد من وصوله قبل أن تكمل.
- راقب استهلاك خطتك حتى لا يفاجئك التقييد أثناء حادثة.
ما زلت عالقًا؟
إذا أنهيت الخطوات الست وما زالت الأحداث لا تصل، تحقّق أولًا من صفحة حالة AllStak لاستبعاد مشكلة من جهة المنصّة، ثم راسلنا على [email protected] باسم مشروعك والـ SDK ونسخته والوقت التقريبي الذي توقعت فيه الأحداث — وسنتتبعها من جهة الاستقبال.
الأسئلة الشائعة
كم يستغرق ظهور الأحداث بعد إرسالها؟
تظهر الأحداث عادةً شبه لحظيًا — خلال ثوانٍ من إرسال الـ SDK لها. إذا كنت تنتظر دقائق، فشيء مما في هذا الدليل يحجبها؛ والأحداث لا تُجدوَل لتسليم متأخر من جهة اللوحة.
ليش أحداثي تظهر تحت بيئة غلط؟
تجمّع اللوحة الأحداث حسب قيمة البيئة التي أرسلها الـ SDK. إذا كان نشر الإنتاج ما زال يمرّر environment: 'development' (أو لا يضبطها أصلًا)، فستصل الأحداث هناك. صحّح خيار environment في التهيئة وأعد النشر.
هل تُلتقط الاستثناءات المُعالَجة تلقائيًا؟
لا. غير المُعالَجة تُلتقط تلقائيًا؛ أما المُعالَجة داخل try/catch فتحتاج نداء captureException صريحًا. إذا كنت ترى الأعطال فقط دون الأخطاء الملتقطة، فهذا هو السلوك المقصود — أضف التقاطًا يدويًا حيث تحتاجه.
هل تسبب حدود الخطة إسقاط الأحداث؟
الحجم المستمر فوق حدود خطتك قد يُقيَّد. إذا كانت الأحداث تصل طبيعيًا عند الحجم المنخفض وتختفي أثناء الذروات، راجع استهلاك خطتك في اللوحة.
استكشف المزيد
حسب إطار العمل
قارن
خلّ أحداثك تتدفق
مفتاح API واحد ونداء تهيئة واحد، وتصل أخطاؤك وسجلاتك وتتبّعاتك إلى لوحة واحدة. ابدأ مجانًا وشاهد أول حدث خلال دقائق.