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