Lerix بالإصدار 0.4.0 أو أحدث. تستخدم الميزتان الكائن الوحيد
LerixClient الذي تحقنه بعد التثبيت.
ولمعرفة ما تراه في لوحة التحكم، راجع التحليلات
والملاحظات.
التحليلات
سجّل ما يحدث على الخادم: التسجيلات الجديدة، والمدفوعات، والمهام. تظهر الأحداث تحت التحليلات في لوحة التحكم بجانب أحداث تطبيقاتك.OrdersService.cs
- لا يرمي
Trackأي استثناء ولا ينتظر الشبكة أبداً: يتحقق من الحدث ويضعه في ذاكرة مؤقتة. userIdهو معرّفك للمستخدم الذي يخصّه الحدث، وهو نفسه الذي تمرّره تطبيقاتك إلىsetUser()(بعد حذف المسافات الطرفية، حتى 255 حرفاً). يُرسل مع كل حدث، فتستطيع خدمة واحدة تتبّع مستخدمين كثيرين.- الأسماء تبدأ بحرف، ثم حروف أو أرقام أو مسافات أو
_أو.أو:أو-(من 2 إلى 64 حرفاً). وأي اسم آخر يُسقط الحدث. - الخصائص: حتى 25 مفتاحاً، يبدأ كل منها بحرف أو
_، ثم حروف أو أرقام أو_أو.أو-. والقيم نصوص (حتى 1024 حرفاً) أو أرقام منتهية (أي نوع رقمي أوdecimal) أوboolأوnull، ويصلح كذلكJsonElementمن أحد هذه الأنواع. وأي شيء آخر (كائنات متداخلة، أو قوائم، أو تواريخ، أو NaN) يُسقط مفتاحاً مفتاحاً، ويُسجَّل حين يكونDebugمفعّلاً.
الإرسال
تُرسل الأحداث كلFlushInterval (10 ثوانٍ)، وفور تجمّع FlushAt (50) حدثاً،
وعند FlushAsync()، وعند الإيقاف (IHostedService.StopAsync، أو التخلص من
العميل). يحمل كل طلب 100 حدث على الأكثر. وتتسع الذاكرة المؤقتة لـ MaxQueueSize
(1000) حدث، ويُحذف الأقدم حين تمتلئ. ولا يُكتب شيء على القرص.
إن تعذّر الوصول إلى الواجهة أو أعادت خطأً قابلاً لإعادة المحاولة، تُحفظ الدفعة
ويتباطأ الإرسال من ثانيتين حتى 5 دقائق. وتُحذف الدفعات التي ترفضها الواجهة لعدم
صلاحيتها. وإن أُوقفت التحليلات للمشروع من جهة Lerix، ينتظر الإرسال المدة التي
تطلبها الواجهة.
appsettings.json
"Analytics": { "Enabled": false } الدالة Track إلى عملية لا تفعل
شيئاً. وتحمل الأحداث البيئة من خيار Environment (أو ASPNETCORE_ENVIRONMENT /
DOTNET_ENVIRONMENT) بأحرف صغيرة، حيث تُرسل Production باسم prod
وDevelopment باسم dev.
الملاحظات
أرسل ملاحظات المستخدمين من واجهتك الخاصة أو صندوق الدعم أو روبوت. تظهر تحت الملاحظات في لوحة التحكم، مثل الملاحظات المُرسلة من حزم التطبيقات.Messageإلزامي (من 1 إلى 4000 حرف بعد حذف المسافات الطرفية). وLabelsهي مفاتيح التصنيفات المُعدّة للمشروع، وتُهمل الواجهة غير المعروف منها.- يقبل
Customحتى 50 مفتاحاً و16 كيلوبايت من JSON. Attachments: حتى 5 صور PNG أو JPEG أو WebP بحجم أقصاه 5 ميغابايت لكل منها. يُقرأ النوع من البايتات، ويُعدّContentTypeالمخالف لها خطأً.- الاستدعاء داخل طلب مُتتبَّع يحمل معرّف تتبّع ذلك الطلب، ويُحتفظ بالتتبّع.
- ترمي المدخلات غير الصالحة
LerixApiExceptionمعCode = "INVALID_FEEDBACK"قبل إرسال أي شيء. وتُعاد محاولة أخطاء الشبكة و5xx و429 مرتين بمعرّف العميل نفسه، فلا تُنشئ إعادة المحاولة بلاغاً ثانياً. ويُرمى آخر خطأ كـLerixApiException. - تُرجع معرّف الملاحظة، أو
nullحين تكون الحزمة معطّلة (Enabled = false).
يُخزَّن
UserId الذي تمرّره على أنه مُبلَّغ عنه من خادمك. ولا تُرسل الردود
بالإشعارات إلا للمستخدمين المُتحقَّق منهم عبر setUser في حزم العميل.