移行の準備ができたら、Ruby エージェントの 8.x シリーズと 9.x シリーズの間の主な変更点を確認してください。バージョン 9.x への移行を確実に成功させるために、アップグレード中に直面する可能性のある問題についても学びます。
概要
主な変更点は以下の通りです。
- 非推奨の設定オプションをすべて削除
- Ruby 2.2 および 2.3 のサポートを終了
- デフォルトでスレッドトレースを有効にしました
- gem の非推奨のインストルメンテーションを削除しました
- 更新された API メソッド
set_transaction_name
- 非推奨の API メソッドを削除
詳細については、 9.0 のマイルストーン を参照してください。
非推奨の構成を削除
次の構成オプションは削除されたため、機能しなくなります。以下にリストされている置換を使用するようにすべての構成を更新してください。詳細については、 構成ドキュメントを 参照してください。
削除 | 置き換え |
|
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ruby 2.2 および 2.3 のサポートを削除
Ruby 2.2 および 2.3 は、Ruby エージェントでサポートされなくなりました。最新の Ruby エージェント バージョンを引き続き使用するには、Ruby 2.4.0 以降に更新してください。
New Relic は、Ruby 言語開発チーム (Ruby チーム) が提供する正式にサポートされているメンテナンス期間が終了した後も、特定の古い Ruby バージョンを引き続きサポートします。たとえば、2023 年 3 月 31 日の時点で、Ruby チームがサポートする最も古い Ruby バージョンはバージョン 3.0 になりますが、Ruby エージェント バージョン 9.0 では、Ruby バージョン 2.4 以降が引き続きサポートされます。Ruby バージョンの公式 Ruby チーム サポートの詳細については、 Ruby Maintenance Branchesを参照してください。
デフォルトでスレッドトレースを有効にしました
構成オプション instrumentation.thread.tracing
がデフォルトで有効になりました。この構成により、エージェントはスレッド内で発生するコードを監視できます。Ruby エージェント 9.0 は、インストルメント化されたコードをスレッド内に記録し、それを現在のトランザクションに関連付けます。
現在カスタム スレッド インストルメンテーションを使用している場合、これは重大な変更になる可能性があります。スレッド内の新しいトランザクションは、既に存在する場合は開始されなくなりました。
古い UI を使用している場合、トランザクション チャートに「#」という名前のセグメントが表示されることがあります。セグメント テーブルを見ると、フル ネームは「Thread: #」です。これらのセグメントは、スレッド インストルメンテーションを参照します。詳細については、 Issue #1859 を参照してください。
非推奨のインストルメンテーションを削除
以下の計装された gem は、以前は非推奨であり、現在はサポートされていません。
Solrとして機能
オーソロジック
DataMapper
レインボーズ
Sunspot
次のテクノロジのバージョンは、以前は非推奨であり、サポートされていません。
乗客: 2.2.x - 4.0.x
プーマ: 2.0.x
ブドウ: 0.2.0
パドリーノ: 0.14.x
レール: 3.2.x
シナトラ: 1.4.x,1.5.x
モンゴ: 1.8.x - 2.3.x
続編: 3.37.x、4.0.x
Delayed_Job: 2.0.x - 4.0.x
サイドキー: 4.2.x
Excon:0.55.0未満
HttpClient: 2.2.0 - 2.8.0
HttpRb: 0.9.9 - 2.2.1
発疹チフス: 0.5.3 - 1.2.x
バニー: 2.0.x - 2.6.x
アクティブマーチャント: 1.25.0 - 1.64.x
更新された API メソッド set_transaction_name
メソッド NewRelic::Agent.set_transaction_name
が呼び出されると、現在実行中のトランザクションの名前とカテゴリが、メソッドに渡されたものに常に変更されるようになりました。これは、以前のエージェント バージョンからの変更です。
以前は、トランザクションに既に割り当てられているカテゴリと一致しない新しいトランザクション名と新しいカテゴリで set_transaction_name
が呼び出された場合、新しい名前もカテゴリもトランザクションに保存されませんでした。
以前はカテゴリの違いにより無視されていた状況でこのメソッドが呼び出された場合、トランザクションの名前とカテゴリが変更されます。
削除された API メソッド
非推奨の API メソッドNewRelic::Agent.disable_transaction_tracing
が削除されました。代わりに、 NewRelic::Agent#ignore_transaction
を使用して現在のトランザクションの記録を無効にするか、 NewRelic::Agent.disable_all_tracing
を使用して後続の呼び出しでメトリックまたはトレースを収集せずにブロックを生成します。