Hallo zusammen! Erster Beitrag, entschuldigt bitte, falls ich die falsche Kategorie gewählt habe.
Ich möchte Discourse für Datadog APM-Instrumentierung konfigurieren und habe gedacht, es wäre sinnvoll, hierfür ein eigenes Plugin zu verwenden (angelehnt an die Idee von discourse-prometheus).
Die übliche Methode, eine Rails-App für APM zu konfigurieren, besteht darin, einen Initializer zu verwenden – ich bin mit dem Plugin-System in Discourse (noch) nicht tief vertraut. Gibt es eine Möglichkeit, einen solchen Initializer früh im Lebenszyklus der Discourse-App über das bestehende Plugin-System zu laden? Falls nicht, welche anderen Optionen gibt es? Ich möchte ungern die gesamte App forken, nur um einen einzigen Initializer hinzuzufügen
@sam Ich habe es versucht, aber anscheinend erwartet dieses spezielle ddtrace-Gem, auch in before_initialize ausgeführt zu werden. Es scheint jedoch, als ob before_initialize keine gültige Methode in plugin.rb ist. Gibt es andere Möglichkeiten, damit ein Plugin früher im Lebenszyklus der App ausgeführt wird?
Fehler:
[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') Das Anwenden des Datadog::Contrib::Rails::Patcher-Patches ist fehlgeschlagen. Ursache: Kann gefrorenes Array nicht ändern. Ort: /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'