Notes
This release of the Python agent adds support for Redis commands introduced in Redis v8.10.0 and redis-py v8.1.0. This release also resolves the issue of missing LlmChatCompletion events in LangChain when using MCP tools.
Install the agent using easy_install/pip/distribute via the Python Package Index, using conda via the Conda-Forge Package Index, or download it directly from the New Relic download site.
New features
Added Redis commands introduced in Redis v8.10.0 and redis-py v8.1.0
- The Python agent now supports the following recently added commands in Redis:
himport_discard_allhimport_discardhimport_preparelmovemnrangenrevrangequerylabelsreadsdiffcardsunioncardaliaslist
- The Python agent now supports the following recently added commands in Redis:
Bugs
Fixed missing LlmChatCompletion events in Gemini when using MCP tools
Swapped to trace cache ID in LangChain and Agent Framework
- For context propagation purposes, swap the LangChain and Agent Framework instrumentation to only store the trace cache ID rather than the full trace in a reference attribute. This is to prevent these objects from getting serialized unexpectedly in the case of leaks. The ID is a much smaller object while the trace could contain MBs of data.
Support statement
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date.
See the New Relic Python agent EOL policy for information about agent releases and support dates.
メモ
このリリースのPythonエージェントでは、AIモニタリングのサーバーサイドコンフィグレーションのサポートが追加され、Microsoft Agentフレームワークを介して行われるBedrock呼び出しのコンテキスト伝搬が追加され、リモートMCPサーバーをバックエンドとするLangChainツールの重複するツールエンティティが修正され、ガベージコレクションデータサンプラーの競合状態のリスクが軽減され、Wagtail使用時の不整合なトランザクション名が修正され、送信されるKombuのディストリビューティッド(分散)トレーシングヘッダーからバイトエンコーディングが削除されました。
Python パッケージ インデックス経由でeasy_install/pip/distributeを使用するか、 Conda-Forge パッケージ インデックス経由でcondaを使用してエージェントをインストールするか、 New Relic ダウンロード サイトから直接ダウンロードします。
新機能
AIモニタリングのサーバーサイドコンフィグレーションのサポートを追加
- Pythonエージェントは、AIモニタリングのサーバーサイドコンフィグレーションに対応しました。設定された場合、サーバーサイドの
ai_monitoring.enabled、ai_monitoring.record_content.enabled、およびai_monitoring.streaming.enabledの値がローカル設定よりも優先されます。
- Pythonエージェントは、AIモニタリングのサーバーサイドコンフィグレーションに対応しました。設定された場合、サーバーサイドの
エージェントフレームワークを介したBedrock呼び出しのコンテキスト伝搬を追加
- Microsoft エージェントフレームワークのBedrockインテグレーションによって作成されたスレッド境界を越えて、トレースコンテキストを伝播します。これにより、エージェントの既存のbotocore計装が、エージェントフレームワークを通じて行われたBedrock呼び出しのLLMイベントをキャプチャできるようになります。これは、エージェントフレームワーク自体の完全な計装を追加するものではありません。
バグ
Wagtail使用時の一貫性のないトランザクション名を修正
- 以前は、Wagtail上に構築されたアプリのトランザクション名は一貫性がなく、異なるページビューで同じになることがありました。これは修正されました。
リモートMCPサーバーをバックエンドとするLangChainツールの重複するツールエンティティを修正
- 以前は、LangChainツールが、個別にインストゥルメントされたリモートMCPサーバーをバックエンドとしている場合、重複したツールエンティティがUIに表示されていました。これは、既知のリモートツールが検出された場合に、LangChainツールからサブコンポーネント属性を除外することで修正されました。
LangChainおよびLangGraph MCPツール呼び出しでユーザー入力フィールドが欠落する問題を修正
- 以前は、LangChainまたはLangGraphがMCPサーバーのツールを使用した場合、入力メッセージがストリーミングされたシーケンスの最後のメッセージでないと、AIモニタリングデータからユーザー入力フィールドが欠落する可能性がありました。これは修正され、エージェントはこれらのケースで入力メッセージを正しく抽出するようになりました。
ガベージコレクションデータサンプラーにおける競合状態のリスクを軽減します。
- 以前は、設定に関係なく、エージェントはガベージコレクターのオブジェクト数をサンプリングするために常に
gc.get_objects()を呼び出していました。これは変更され、top_object_count_limitが0より大きく設定されている場合にのみgc.get_objects()が呼び出されるようになり、ガベージコレクターによって収集されたオブジェクトタイプを追跡しない顧客にとって不要なヒープの反復を回避するようになりました。
- 以前は、設定に関係なく、エージェントはガベージコレクターのオブジェクト数をサンプリングするために常に
アウトバウンドのKombuディストリビューティッド(分散)トレーシングヘッダーからバイトエンコーディングを削除
- 以前は、Kombuの計装によって追加されたディストリビューティッド(分散)トレーシングヘッダーがバイトエンコードされていたため、標準ライブラリの
jsonモジュールを使用してペイロードをシリアライズするトランスポート(たとえば、SQLAlchemyをバックエンドとするトランスポート)が正常に動作しなくなっていました。これらのトランスポートが正しく機能するように、バイトエンコーディングは削除されました。
- 以前は、Kombuの計装によって追加されたディストリビューティッド(分散)トレーシングヘッダーがバイトエンコードされていたため、標準ライブラリの
サポートステートメント
最新のエージェント バージョンが利用可能になったらすぐに更新することをお勧めします。最新バージョンにアップグレードできない場合は、エージェントを 90 日以内のバージョンに更新してください。エージェントを最新の状態に保つ方法の詳細については、こちらをご覧ください。
エージェントのリリースとサポート日については、New Relic Python エージェントのEOL ポリシーを参照してください。
メモ
Pythonエージェントのこのリリースでは、Google ADKの計装サポートを追加し、複数のAIプロバイダー(Anthropic、Google生成AI、OpenAI、およびAWS Bedrock)のトークンカウントを追加し、アウトバウンドのtracestateヘッダーサイズを縮小し、graphql-core計装のクラッシュを修正しました。
Python パッケージ インデックス経由でeasy_install/pip/distributeを使用するか、 Conda-Forge パッケージ インデックス経由でcondaを使用してエージェントをインストールするか、 New Relic ダウンロード サイトから直接ダウンロードします。
改善された機能
Google ADKの計装を追加
Pythonエージェントは、Google ADK(Agent Development Kit)AIエージェントのワークフローを計装するようになりました。
インストゥルメントされたコンポーネントとしては、次のものがあります:
LlmAgentgoogle.genai経由でGeminiまたはVertexAIバックエンドにリンクされています- ユーザー定義の
FunctionToolインスタンス - 子エージェントおよび
AgentToolインスタンスを含むサブエージェントのワークフロー Workflowクラス、および非推奨のLoopAgent、ParallelAgent、SequentialAgentクラスを含むマルチエージェントワークフロー
Anthropic、Gemini、OpenAI、およびBedrockのトークンカウントを追加
Pythonエージェントは、複数のAIプロバイダーにわたるすべてのLLM呼び出しのトークンカウントを報告するようになりました:
- Anthropic SDK
- Google生成AI SDK
- OpenAI SDK
- botocoreおよびaiobotocore経由のAWS Bedrock
バグ
graphql-core v3.2.10 の計装のクラッシュを修正しました
- 以前は、graphql-core v3.2.10で
ExecutionContextのerrors属性がcollected_errorsに名前変更されたため、エージェントがクラッシュしていました。この問題は修正され、エージェントはgraphql-core v3.2.10以降で正常に動作するようになりました。
- 以前は、graphql-core v3.2.10で
アウトバウンドの
tracestateヘッダーからspanIdを削除- 以前は、エージェントはアウトバウンドの
tracestateヘッダーにspanIdを含めていました。spanIdはすでにtraceparentヘッダーに存在するため、これは不要な重複でした。アウトバウンドのヘッダーサイズを縮小するため、spanIdはtracestateから削除されました。
- 以前は、エージェントはアウトバウンドの
サポートステートメント
最新のエージェント バージョンが利用可能になったらすぐに更新することをお勧めします。最新バージョンにアップグレードできない場合は、エージェントを 90 日以内のバージョンに更新してください。エージェントを最新の状態に保つ方法の詳細については、こちらをご覧ください。
エージェントのリリースとサポート日については、New Relic Python エージェントのEOL ポリシーを参照してください。
メモ
Pythonエージェントのこのリリースでは、LangChainチェーンLLMイベントに追加のモデル情報を追加し、LangGraphストリーミング計装のバグを修正しました。
Python パッケージ インデックス経由でeasy_install/pip/distributeを使用するか、 Conda-Forge パッケージ インデックス経由でcondaを使用してエージェントをインストールするか、 New Relic ダウンロード サイトから直接ダウンロードします。
改善された機能
LangChain チェーン LLM イベントに追加のモデル情報を追加する
- LangChainチェーンによって生成されたLLMイベントに
request.modelおよびresponse.model属性を追加します。 - この情報はベストエフォートで取得されるため、常に利用可能であるとは限りません。
- LangChainチェーンによって生成されたLLMイベントに
バグ
LangGraphストリーミング計装におけるTypeErrorを修正
- 以前は、LangGraphでストリーミングAPIのサブセットを使用する際、LangGraphによる
weakref.WeakMethodの使用が原因で、エージェントでTypeErrorが発生していました。この問題は修正され、エージェントはそれらのLangGraphストリーミングメソッドで正しく動作するはずです。
- 以前は、LangGraphでストリーミングAPIのサブセットを使用する際、LangGraphによる
サポートステートメント
最新のエージェント バージョンが利用可能になったらすぐに更新することをお勧めします。最新バージョンにアップグレードできない場合は、エージェントを 90 日以内のバージョンに更新してください。エージェントを最新の状態に保つ方法の詳細については、こちらをご覧ください。
エージェントのリリースとサポート日については、New Relic Python エージェントのEOL ポリシーを参照してください。
メモ
Pythonエージェントの今回のリリースでは、複数の新しいRedisコマンドのサポートを追加し、LangGraph計装のバグを修正し、ハーベスト制限設定の処理とロギングを改善しています。
Python パッケージ インデックス経由でeasy_install/pip/distributeを使用するか、 Conda-Forge パッケージ インデックス経由でcondaを使用してエージェントをインストールするか、 New Relic ダウンロード サイトから直接ダウンロードします。
改善された機能
新しいRedis v8.8.0コマンドの計装を追加
redis-py v8.8.0 の 以下の新しいRedisコマンド の計装を追加:
- その他のコマンド:INCREX、XNACK
- 配列コマンド:ARCOUNT、ARDEL、ARDELRANGE、ARGET、ARGETRANGE、ARGREP、ARINFO、ARINSERT、ARLASTITEMS、ARLEN、ARMGET、ARMSET、ARNEXT、AROP、ARRING、ARSCAN、ARSEEK、ARSET
バグ
LangGraph計装でのクラッシュを修正
- 以前は、LangGraphの計装を使用すると、AsyncBackgroundExecutor内のジョブへのコンテキスト伝搬の問題により、エージェントがクラッシュしていました。この問題は修正され、エージェントはLangGraphで正常に動作するはずです。
ハーベスト制限設定の処理とロギングを改善
- エージェントは、New Relic OneのEnvironmentタブにハーベストメソッドと制限のリストをより正確に報告するようになりました。
- エージェントの起動時におけるハーベスト制限設定のデバッグログが、より一貫性を持つようになりました。
サポートステートメント
最新のエージェント バージョンが利用可能になったらすぐに更新することをお勧めします。最新バージョンにアップグレードできない場合は、エージェントを 90 日以内のバージョンに更新してください。エージェントを最新の状態に保つ方法の詳細については、こちらをご覧ください。
エージェントのリリースとサポート日については、New Relic Python エージェントのEOL ポリシーを参照してください。
Notes
This release of the Python agent fixes a context propagation issue in LangChain and LangGraph, an OpenAI chat completion recording issue, and an issue when using OpenAI(https://pypi.org/project/openai) streaming through LiteLLM as a proxy.
Install the agent using easy_install/pip/distribute via the Python Package Index, using conda via the Conda-Forge Package Index, or download it directly from the New Relic download site.
Bugs
Fix context propagation in LangChain and LangGraph
Fix an OpenAI chat completion recording issue
- OpenAI reintroduced logic that closes the streaming response even if the consumer hasn't read all data. Previously, the chat completion data was only recorded when reaching the stream's end which resulted in chat completion data not being recorded at the closing of the stream. Logic has now been added to capture the chat completion data even if the stream has not been fully read.
Fix an issue when using OpenAI streaming through LiteLLM as a proxy
Support statement
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date.
See the New Relic Python agent EOL policy for information about agent releases and support dates.