الطريقة المعتادة لإعداد تطبيق Rails لـ APM هي استخدام ملف تهيئة (initializer) - وأنا لست (بعد) على دراية عميقة بنظام الإضافات في discourse. هل توجد طريقة لتحميل مثل هذا الملف في وقت مبكر من عمر تطبيق discourse باستخدام نظام الإضافات الحالي؟ إذا لم تكن هناك طريقة، فما هي الخيارات الأخرى المتاحة؟ أفضل عدم الاضطرار إلى إنشاء نسخة من التطبيق بالكامل فقط لإضافة ملف تهيئة واحد
@سام جربت ذلك، لكن يبدو أن مكتبة ddtrace هذه تتوقع القدرة على العمل أيضًا في before_initialize. لكن يبدو أن before_initialize ليست دالة صالحة في plugin.rb. هل توجد خيارات أخرى لتمكين إضافة من العمل في مرحلة أبكر من دورة حياة التطبيق؟
الخطأ:
[2020-06-30T15:30:40.348519 #2313] ERROR -- ddtrace: [ddtrace] (/workspace/plugins/discourse-datadog/gems/2.6.2/gems/ddtrace-0.37.0/lib/ddtrace/contrib/patcher.rb:43:in `on_patch_error') فشل في تطبيق تصحيح Datadog::Contrib::Rails::Patcher. السبب: لا يمكن تعديل مصفوفة مجمدة الموقع: /home/vscode/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/stack.rb:102:in `insert'
خطوتي التالية ستكون عدم استخدام أدوات القياس التلقائية التي تُطبّق عبر “المُصلحات” الخاصة بهذه المكتبة، بل دمج جزء من منطق القياس الفعلي داخل الإضافة نفسها، على غرار ما فعلته مع discourse-prometheus. أعتقد أن هذا منطقي أيضًا للتكامل مع بعض التفاصيل الخاصة بمنصة discourse. كنت آمل فقط في وجود طريقة للاستفادة من السحر الذي لم أره بعد.