メモ
Pythonエージェントの今回のリリースでは、設定ファイルでのPython Lambda関数のサポートを削除し、デフォルトでnewrelicヘッダーを除外し、Hybridエージェントトレースの除外および包含設定、anthropicの計装、geminiのレスポンスストリーミングのサポートを追加し、パフォーマンス向上のためにgc_data.pyでのIS_PYPYのキャッシュを改善し、トランザクションイベントにhttp.statusCode属性を追加します。このリリースではまた、再接続時にモジュールを再送信して確実に記録されるようにし、ガベージコレクションのメトリクスをリエントラント呼び出しから保護し、非同期ジェネレーターでのタスク伝搬、およびStreamingResponseでのstarletteのコンテキスト伝搬を修正します。
Python パッケージ インデックス経由でeasy_install/pip/distributeを使用するか、 Conda-Forge パッケージ インデックス経由でcondaを使用してエージェントをインストールするか、 New Relic ダウンロード サイトから直接ダウンロードします。
削除された機能
設定ファイル内のPython Lambda関数のサポートを削除
- 以前は、エージェントでPythonのLambda関数を指定して、トランザクション、バックグラウンドタスク、データベーストレース、プロファイルトレース、外部トレースのURLとメソッド、関数トレース、ジェネレータートレース、およびmemcacheトレースに動的に名前を付けることができました。この機能のサポートにより、エージェントにセキュリティの脆弱性が生じるため、この機能は削除されます。
廃止予定
WebTransactionsのresponse.status属性は非推奨とみなされており、今後の14.0.0リリースで削除される予定です。http.statusCodeに置き換えられます。response.statusへのすべての参照をhttp.statusCodeに置き換えることを推奨します。
新機能
デフォルトで
newrelicヘッダーを除外するnewrelicのディストリビューティッド(分散)トレーシングヘッダーは、デフォルトでは送信されなくなりました。W3Cのtraceparentおよびtracestateヘッダーのみが送信されます。
Hybrid エージェントのトレースの除外および包含設定を追加する
opentelemetry.traces.include設定ファイル用、または環境変数として使用するNEW_RELIC_OPENTELEMETRY_TRACES_INCLUDEopentelemetry.traces.exclude設定ファイル用、または環境変数として使用するNEW_RELIC_OPENTELEMETRY_TRACES_EXCLUDE
ハイブリッドエージェントのデフォルトの動作も異なります。現在、OpenTelemetryでサポートされているが、New Relicではまだサポートされていないライブラリとトレーサーのみが、OpenTelemetryの計装を利用します。そうでない場合、エージェントはデフォルトでNew Relicの計装フックを使用します。
これらの設定の詳細については、Pythonエージェント設定ページおよびOpenTelemetry APIサポートページを参照してください。
Anthropicストリーミング計装を追加
- anthropicの計装サポートを追加します。
パフォーマンス向上のため、gc_data.pyにおけるIS_PYPYのキャッシュを改善
モジュールがロードされたときに IS_PYPY を1回チェックしてキャッシュするようになりました。
Geminiレスポンスストリーミングの追加
- google-genai パッケージを通じて、Gemini にレスポンス ストリーミング サポートを追加します。
トランザクションイベントに
http.statusCode属性を追加する- 他の言語エージェントに合わせるため、Pythonエージェントはhttpステータスを
WebTransaction属性http.statusCodeに送信するようになりました。Pythonエージェントは引き続きresponse.statusにも属性を送信しますが、response.status属性は将来的に削除されます。
- 他の言語エージェントに合わせるため、Pythonエージェントはhttpステータスを
バグ
再接続中にモジュールを再送信する
- エージェントは以前、最初の接続サイクル後にのみ定期的にモジュールリストを送信していました。エージェントがコレクターに再接続した場合、このデータは再送信されないため、UIにはモジュールデータが表示されなくなります。これは修正されました。
ガベージコレクションのメトリクスをリエントラント呼び出しから保護する
- Python 3.13以降での無限再帰を防ぐため、
_GCDataSource.record_gc()への再入呼び出しを防止するフラグを追加します。
- Python 3.13以降での無限再帰を防ぐため、
非同期ジェネレーターでのタスク伝播を有効にする
- 複数のタスクにまたがる場合に
AsyncGeneratorProxyがトランザクションコンテキスト伝搬を適切に処理しない問題を修正します。
- 複数のタスクにまたがる場合に
Starletteのコンテキスト伝搬を修正:
StreamingResponse- 同期および非同期ジェネレーターの両方に対して、starlette
StreamingResponseにトレースコンテキスト伝搬を追加します。
- 同期および非同期ジェネレーターの両方に対して、starlette
サポートステートメント
最新のエージェント バージョンが利用可能になったらすぐに更新することをお勧めします。最新バージョンにアップグレードできない場合は、エージェントを 90 日以内のバージョンに更新してください。エージェントを最新の状態に保つ方法の詳細については、こちらをご覧ください。
エージェントのリリースとサポート日については、New Relic Python エージェントのEOL ポリシーを参照してください。
メモ
今回の Python エージェントのリリースでは、最初のトークンまでの時間のサポートが追加され、互換性のないFlask add_url_rule関数のシグネチャが修正されました。
Python パッケージ インデックス経由でeasy_install/pip/distributeを使用するか、 Conda-Forge パッケージ インデックス経由でcondaを使用してエージェントをインストールするか、 New Relic ダウンロード サイトから直接ダウンロードします。
新機能
LLMレスポンスストリームの最初のトークンに時間を追加しました。
バグ修正
Flask
add_url_rule関数のシグネチャの不一致が解決されました- Flaskの計装を更新し、
add_url_rule関数のシグネチャをネイティブのFlask実装に合わせました。 この修正により、以前の署名不一致によって発生する可能性のあるアプリケーションのクラッシュを防ぎます。
- Flaskの計装を更新し、
サポートステートメント
最新のエージェント バージョンが利用可能になったらすぐに更新することをお勧めします。最新バージョンにアップグレードできない場合は、エージェントを 90 日以内のバージョンに更新してください。エージェントを最新の状態に保つ方法の詳細については、こちらをご覧ください。
エージェントのリリースとサポート日については、New Relic Python エージェントのEOL ポリシーを参照してください。
メモ
Pythonエージェントのこのリリースでは、クロスアプリケーション トレーシング (CAT)、 Python 3.8、およびバンドルされている SSL 証明書のサポートが削除されます。 また、ベンダー提供のすべてのパッケージを最新バージョンに更新し、フリースレッド対応のCPython、 Windows OSのサポートを追加し、Microsoft AG2(Autogen)の計測機能を改善します。 さらに、このリリースには、certifi を通じて SSL 証明書をインストールするための新しいオプションの追加機能が含まれています。 このリリースでは、重複した例外が報告される原因となった Strands エージェントインストゥルメンテーションのバグも修正されています。
Python パッケージ インデックス経由でeasy_install/pip/distributeを使用するか、 Conda-Forge パッケージ インデックス経由でcondaを使用してエージェントをインストールするか、 New Relic ダウンロード サイトから直接ダウンロードします。
削除された機能
クロスアプリケーション トレーシング (CAT) は削除され、ディストリビューティッド(分散)トレーシング (DT) が使用されます。
- クロスアプリケーショントレーシング(CAT)は、エージェントバージョン7.0.0.166で非推奨となり、今回のリリースで削除されました。まだクロスアプリケーション トレーシング (CAT) を使用している場合は、中断を避けるためにできるだけ早くディストリビューティッド(分散)トレーシング (DT) に移行することをお勧めします。
同梱されていたSSL証明書は削除されました。
- 環境に証明書が必要な場合は、OS のパッケージマネージャを介して証明書をインストールするか、オプションの
newrelic[certificates]エクストラを使用してエージェントをインストールできます。
- 環境に証明書が必要な場合は、OS のパッケージマネージャを介して証明書をインストールするか、オプションの
Python 3.8のサポートは削除されました。
- Python 3.8は2024年10月7日にサポート終了となり、エージェントによるサポートは終了しました。Pythonエージェントの更新を引き続き受け取るには、アプリケーションをサポートされているバージョンのPythonにアップグレードすることを検討してください。
セキュリティ
すべての内部パッケージが最新バージョンにアップデートされました。
urllib3バージョン2.6.3にアップデートしました- このリリースにより、
urllib3における、このリリース日時点での未解決のすべての CVE が修正されます。
- このリリースにより、
opentelemetry_protoバージョン1.40.0にアップデートしましたwraptバージョン2.1.2にアップデートしましたasgirefバージョン3.11.1にアップデートしました。
新機能
certifiを通じて SSL 証明書をインストールするための新しい
newrelic[certificates]追加機能。- エージェントは、バンドルされているSSL証明書をインストールするために使用できるオプションの追加機能
newrelic[certificates]を提供するようになりました。これは、証明書が必要だが、OS のパッケージマネージャから証明書をインストールできないユーザーを対象としています。
- エージェントは、バンドルされているSSL証明書をインストールするために使用できるオプションの追加機能
フリースレッドCPythonのサポート
- Python 3.13以降、CPythonはグローバルインタプリタロック(GIL)を無効にしたPythonビルドをリリースし、真のマルチスレッド処理を可能にしました。
- 今回のリリースでは、この動作に対するサポートが追加され、エージェントがフリースレッド環境で安全に実行できるようになります。
- このリリースには、Linux およびWindows上のフリースレッド CPython 用のビルド済みバイナリも含まれており、これらの環境で簡単にインストレーションを行うことができます。
Windowsサポート
- このリリースには、Windows 上の CPython 3.13 以降に対応したビルド済みバイナリが含まれています。
- タイマーの解像度に大きなばらつきがあるため、Python 3.12以前のバージョンはWindowsでは公式にはサポートされていませんのでご注意ください。エージェントをソースからインストールして使用することは引き続き可能ですが、ユーザーは不正確なタイミング データに関する問題が発生する可能性があるため、最高のエクスペリエンスを得るにはPython 3.13 以降にアップグレードする必要があります。
Microsoft AG2 (Autogen)用の計装の改善
- 非同期ジェネレータメソッド
on_messages_stream()によるストリーミング応答のサポートを追加しました。 - 計装には、ツールまたはエージェントの呼び出しを表すスパンの
subcomponentプロパティが含まれるようになりました。 これは、New RelicのUIにおいて、より高度なエンティティマッピングを提供するために使用されます。
- 非同期ジェネレータメソッド
バグ
Strandsエージェントでの重複例外
- Strandsエージェントのアップデートにより、一部の例外が新しい
EventLoopException型にカプセル化された後、重複したエラーが報告される可能性がありました。 この問題は修正され、根本的なエラーは一度だけ報告されるはずです。
- Strandsエージェントのアップデートにより、一部の例外が新しい
サポートステートメント
最新のエージェント バージョンが利用可能になったらすぐに更新することをお勧めします。最新バージョンにアップグレードできない場合は、エージェントを 90 日以内のバージョンに更新してください。エージェントを最新の状態に保つ方法の詳細については、こちらをご覧ください。
エージェントのリリースとサポート日については、New Relic Python エージェントのEOL ポリシーを参照してください。
メモ
Pythonエージェントのこのリリースでは、ハイブリッド エージェントのトレース/スパン サポート、 New RelicとOpenTelemetryの統合が追加されています。 また、 Agent Controlヘルス チェック ファイルにエンティティ GUID を追加し、エージェント AI 計装にsubcomponentプロパティを追加し、新しいRedisクライアント メソッドをサポートし、ImportHookFinder インスタンスが重複する可能性があるバグとOracleDB Cursor.callproc()計装のバグを修正します。
Python パッケージ インデックス経由でeasy_install/pip/distributeを使用するか、 Conda-Forge パッケージ インデックス経由でcondaを使用してエージェントをインストールするか、 New Relic ダウンロード サイトから直接ダウンロードします。
特徴
ハイブリッドエージェントのトレースサポートを追加
Hybrid エージェントは、既存のNew Relicダッシュボードとの下位互換性を維持しながら、 OpenTelemetry標準の採用を検討しているチームのギャップを埋めるように設計されています。 ハイブリッド エージェントは、New Relic の高度な可視性と OpenTelemetry API の互換性を組み合わせることで、「両方の長所を兼ね備えた」エクスペリエンスを提供します。次のOpenTelemetry API の統合サポートを備えたオブザーバビリティ ソリューションを提供します。
- トレース
- スタンドアロン ライブラリとネイティブ フレームワーク計装
Span リンクや Span 上のイベントなどの主要な機能強化が利用できるようになり、混合モード環境でのシームレスな相互運用性が保証されます。
新しいトレース ID 比率ベースのサンプラーを導入
- 新しいトレース ID 比率ベースのサンプラー。このサンプリング アルゴリズムは、OpenTelemetry の同じ名前のサンプラーに基づいており、設定された割合のトランザクションをサンプリングするように構成できます。
subcomponentプロパティをエージェント AI 計装に追加しますエンティティ GUID をAgent Controlヘルス チェック ファイルに追加する
- Agent Control環境内でエージェントが開始されると、各プロセスの構成されたファイルの場所にヘルス チェック ファイルが作成されます。 このファイルには、利用可能な場合、エージェントに関連するエンティティの GUID が含まれるようになりました。
新しいRedisメソッドの計装を追加
Redisクライアントに次の新しいメソッドの計装を追加します。
- ホットキー取得
- ホットキーリセット
- ホットキー_開始
- ホットキー停止
- 範囲
- xcfgセット
バグ
重複する ImportHookFinder インスタンスを修正
- 以前は、インポートフックファインダーの重複が
sys.meta_pathに追加される可能性がありました。
- 以前は、インポートフックファインダーの重複が
OracleDBの不正な署名を修正
Cursor.callproc()- 以前は、
Cursor.callproc()でキーワード引数を使用しようとすると、計算で引数名が間違っていたためクラッシュが発生していました。 これは修正され、追加の引数keyword_parametersもサポートされるようになりました。
- 以前は、
サポートステートメント
最新のエージェント バージョンが利用可能になったらすぐに更新することをお勧めします。最新バージョンにアップグレードできない場合は、エージェントを 90 日以内のバージョンに更新してください。エージェントを最新の状態に保つ方法の詳細については、こちらをご覧ください。
エージェントのリリースとサポート日については、New Relic Python エージェントのEOL ポリシーを参照してください。
メモ
Pythonエージェントのこのリリースでは、 LangGraphエージェントのサポートが追加されています。
Python パッケージ インデックス経由でeasy_install/pip/distributeを使用するか、 Conda-Forge パッケージ インデックス経由でcondaを使用してエージェントをインストールするか、 New Relic ダウンロード サイトから直接ダウンロードします。
特徴
LangGraphエージェントのサポートを追加
- LangChainの
create_agent()を介した LangGraph エージェント呼び出しの計装を追加します。 これには、invoke()、ainvoke()、stream()、およびastream()へのエージェント呼び出しが含まれます。
- LangChainの
サポートステートメント
最新のエージェント バージョンが利用可能になったらすぐに更新することをお勧めします。最新バージョンにアップグレードできない場合は、エージェントを 90 日以内のバージョンに更新してください。エージェントを最新の状態に保つ方法の詳細については、こちらをご覧ください。
エージェントのリリースとサポート日については、New Relic Python エージェントのEOL ポリシーを参照してください。