تكرار المكدس اللانهائي عند استخدام Sentry

مرحباً!

أردت النشر هنا لمعرفة ما إذا كان لدى أي شخص أفكار حول هذه المشكلة التي أراها عند محاولة استخدام Sentry مع Discourse. أبحث عن استخدام Sentry (باستخدام تنفيذ خادم Glitchtip مفتوح المصدر) لجمع جميع الأخطاء التي يتم رفعها في المهام الخلفية وفي الخادم. أعرف أن Discourse لديه مجموعة الأخطاء الخاصة به مع Logster، ولكنني أردت تجربة استخدام Sentry للمساعدة في تتبع جميع الأخطاء التي يتم رفعها وفحصها بسياق أكبر.

لقد أضفت مُهيئًا بإعداد Sentry:

Sentry.init do |config|
  config.breadcrumbs_logger = [:active_support_logger, :http_logger]

  config.dsn =  ENV['SENTRY_DSN']
end

وكنت أجد أنه يتكرر بلا نهاية أثناء استدعاءات HTTP لمهام rake ومهام sidekiq (حتى لو كانت تخرج بشكل نظيف قبل إضافة sentry). هناك المزيد من التفاصيل وطريقة لإعادة الإنتاج في مشكلة Github التي فتحتها مع sentry-ruby:

أعرف أنني لا أستخدم مستودع discourse_docker المدعوم، ولكنني أردت النشر هنا على أي حال لمعرفة ما إذا كان أي شخص آخر قد واجه خطأً مشابهًا ولديه أي أفكار.

لاحظ أن هناك إضافة Sentry موجودة لـ Discourse (Discourse Sentry)، ولكنها تستخدم مكتبة عميل غير مدعومة (sentry-raven) لذلك اخترت عدم استخدامها.

لكل من يهتم باستخدام Sentry مع Discourse، قام أحد القائمين على صيانة الحزمة بالرد باقتراح حل.

قالوا إن المشكلة كانت تأتي من MethodProfiler الخاص بـ Discourse الذي يستخدم alias_method. واقترحوا استبدال ذلك بـ prepend الذي قالوا إنه أصبح أكثر شيوعًا وسيسمح لكلا الأداتين بالعمل معًا.

أنا لست على دراية كافية بلغة Ruby لفهم الاختلافات. في الوقت الحالي، سأحاول التعليق على هذا الجزء من الكود لتعطيل تحليل الأساليب الخاص بـ Discourse.

إعجاب واحد (1)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.