問題
New Relic Ruby エージェントと互換性のない Ruby gem を使用しています。
解決
New Relic はすべてのジェムと互換性があるように努めていますが、中には Ruby エージェントで正しく動作しないものもあります。ここでは、互換性のないジェムと既知の回避策について説明します。
Problem: db-charmer gem には、Rails コントローラーにパッチを適用する方法に関して非互換性があります。
Solution: DbCharmer.enable_controller_magic!
が呼び出される前に、New Relic を強制的にロードして起動します。 たとえば、 config/application.rbに次のコードを追加します。
require 'newrelic_rpm'NewRelic::Agent.manual_startDbCharmer.enable_controller_magic!
Problem: escape_utils gem は、 New Relicのページロードタイミング機能 (リアルユーザー監視またはRUMと呼ばれることもあります) の自動インストゥルメンテーションと互換性がありません。 escape_utils
Rack にモンキーパッチを適用する方法により、HTML 応答全体がエスケープされる可能性があります。
Solution: レンダリングされたページの代わりに HTML ソースが表示される場合は、次のいずれかのオプションを使用します。
escape_utils
宝石を削除します。- ページのロードタイミングには、 マニュアルインストルメント を使用します。
Problem: right_http_connection gem が newrelic_rpm
の後にロードされると、Net::HTTP
クラスにパッチが適用され、 New Relicの Externals インストゥルメンテーションが失われます。
Solution: newrelic_rpm
の前にright_http_connection
が必要であることを確認してください。
Problem: ar-octopus gem は、ActiveRecord の接続管理の動作方法を変更し、インスタンス情報を収集し、ベンダー固有の難読化をクエリに適用し、長時間実行されるデータベースクエリの説明プランを取得するRubyエージェントの機能を破壊します。
Solution: 回避策は知られていません。 ar-octopus
gem を削除するか、引き続き使用してください。その場合、説明プランはキャプチャされません。