重要
最新のエージェント バージョンが利用可能になったらすぐに更新することをお勧めします。最新バージョンにアップグレードできない場合は、エージェントを 90 日以内のバージョンに更新してください。エージェントを最新の状態に保つ方法の詳細については、こちらをご覧ください。
エージェントのリリースとサポート日については、New Relic Ruby エージェントのEOL ポリシーを参照してください。
v9.13.0
バージョン9.13.0では、AWS Lambda関数のサポート強化、実験的なOpenSearch計装の追加、フレームワーク検出の更新、Bundlerの非推奨警告の抑制、Falconディスパッチャ検出の修正、Redis計装のインストレーションに関するバグの修正、およびJRuby固有の並行性の問題への対処が行われています。
- 機能:AWS Lambda関数の計装の強化
最新のAWS Lambda向けNew Relic Rubyレイヤーを介して利用すると、エージェントはAWS Lambda関数の計装に対するサポートをさらに強化します。
AWS Lambda関数向けのエージェントの計装は、ディストリビューティッド(分散)トレーシングをサポートするようになりました。
API Gatewayの呼び出しを伴う場合、Webトリガーによる呼び出しは「web」ベースとして識別されるようになりました。API Gatewayのバージョン1.0および2.0の両方をサポートしています。
Webベースの呼び出しでは、HTTPメソッド、URI、ステータスコードが記録されます。
エージェントは、Lambda関数の呼び出しをトリガーできる12の個別のAWSリソースを認識し、レポートするようになりました:ALB、API Gateway V1、API Gateway V2、CloudFront、CloudWatch Scheduler、DynamoStreams、Firehose、Kinesis、S3、SES、SNS、およびSQS。
各リソースに対して、トリガーとなるリソースのタイプとそのARNが記録されます。また、その多くについて、リソース固有の追加の属性も記録されます。たとえば、S3バケットのアクティビティによってトリガーされるLambda関数の呼び出しでは、S3バケット名が記録されるようになりました。PR#2811
機能:実験的なOpenSearch計装の追加
エージェントは、
opensearch-rubygemを自動的に計装するようになります。完全にテストするにはさらに作業が必要なため、この計装を実験的としてマークしています。OpenSearchの計装は、Elasticsearchと同様のテレメトリーを提供します。問題を報告していただいた@Earlopain、および計装の初期ドラフトを作成していただいた@praveen-ks、ありがとうございます。Issue#2228 PR#2796機能:GrapeおよびPadrinoのフレームワーク検出精度を向上
以前は、Grapeフレームワークを使用するアプリケーションは、環境レポート内でフレームワークとして
rubyを設定していました。今後は、Grapeアプリケーションはgrapeに設定されます。同様に、Padrinoフレームワークを使用するアプリケーションはsinatraに設定されていました。今後は、これらはpadrinoに設定されます。これは、New Relicセキュリティエージェントの互換性チェックに役立ちます。この変更を行っていただいた@prateeksen、ありがとうございます。Issue#2777 PR#2789機能:Bundlerの
all_specs非推奨警告の抑制Bundler.rubygems.all_specsBundlerバージョン2以降ではBundler.rubygems.installed_specsが推奨されて非推奨となったため、エージェントが非推奨警告を発する原因となっていました。Bundler 2以降が検出された場合にメソッドを更新し、警告が抑制されるようになりました。この問題を報告していただいた@jcoyneに感謝いたします。Issue#2733 PR#2823バグ修正:Falconディスパッチャーの検出を修正
以前は、オブジェクトスペースを使用して、Falcon Webサーバーが使用されているかどうかを判断しようとしていました。しかし、Falconは環境レポートが生成された後にのみオブジェクトスペースに追加されるため、結果として
nilディスパッチャーになっていました。今回は、File.basenameを使用してディスパッチャーを検出する以前の戦略に戻しました。この問題を報告し、調査していただいた@prateeksen、ありがとうございます。Issue#2778 PR#2795バグ修正:Redis::Cluster::Clientが存在する場合のRedis計装エラーの修正
Redisの計装には以前、メソッドの外部でRubyの
returnが使用されていたため、Redis::Cluster::Clientが存在する場合にエラーが発生するバグが含まれていました。このバグを報告してくださっただけでなく、根本原因も指摘していただいた@jdelStrotherに大変感謝いたします。Issue#2814 PR#2816バグ修正:設定ハッシュへのアクセスに関するJRubyの並行処理の問題に対処しました。
エージェントの内部設定クラスは、時々再構築されるハッシュを保持しています。再構築中、New Relic Rubyセキュリティ・エージェントのために、以前に動的に決定された特定の計装値が保持されます。変更中のハッシュへのアクセスに関連する並行処理の問題について、JRubyの顧客からの報告を受けた後、以前のハッシュ再構築ロジックに2つの別々の修正が加えられました:
Hash#dup操作とsynchronize doブロックです。しかし、依然としてエラーが報告されていました。JRubyおよび報告されたすべてのソフトウェアとまったく同じバージョンを使用しているにもかかわらず、弊社では依然としてこれらの並行処理のエラーを再現できません。問題のハッシュ・アクセス・コードはRubyセキュリティ・エージェント(非本番環境の専用セキュリティ・テスト環境でのみ動作します)にのみ必要であることを確認した後、JRubyが実行されていてセキュリティ・エージェントが実行されていない場合には、問題のあるコードを単にスキップする新しい修正をJRubyの顧客向けに導入しました。PR#2798