• English日本語한국어
  • ログイン今すぐ開始

この機械翻訳は参考用に提供されます。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、 を参照してください。

問題を作成する

Magentoに特化した機能

New Relic の PHP エージェントには、Magento 1 および 2 の Community エディションおよび Enterprise エディション向けの自動トランザクション名付けのサポートが含まれています。このドキュメントでは、この仕組みと、自動化された名前を使って Magento アプリケーションの問題を追跡する方法について説明します。

Magento 1

Magento 1 アプリケーションのトランザクションは、リクエストを処理するモジュール、コントローラ、およびアクションに基づいて命名されます。例えば、デフォルトの顧客アカウントページのトランザクションは、 customer/account/index という名前になり、 indexAction() Mage_Customer_AccountControllercustomer モジュール内の account コントローラ)のメソッドがトランザクションを担当したことを示します。

Magento 2

Magento 2 アプリケーションの通常のウェブトランザクションは、Magento 1 のトランザクションと同様に、トランザクション名には、リクエストを処理したモジュール、コントローラ、アクションがエンコードされています。例えば、 Magento®Customer®Controller®Account®Index コントローラクラスが処理したリクエストは、 customer/account/index という名前にもなります。

Web API

Magento 2 には、 Web API のサポートも組み込まれています。これらは、RESTやSOAPで利用可能なウェブサービスです。

PHP エージェントのバージョン 7.0 より、New Relic はこの機能を使用するトランザクションに自動的に名前を付けることをサポートしています。以前のバージョンの PHP エージェントでは、Web API トランザクションの名前はデフォルトで unknown となっていました。

Magento 2 Web API

コメント

SOAP

SOAPトランザクションは、リクエストを処理したサービスクラスとメソッドに基づいて命名されます。例えば、トランザクション名 Webapi/Soap/Magento\Catalog\Api\CategoryManagementInterface/getTree は、 Magento\Catalog\Api\CategoryManagementInterface を実装したモデルの getTree() メソッドによって SOAP リクエストが処理されたことを示しています。

WSDL トランザクションにも自動的に名前が付けられます。 Webapi/Soap/WsdlList は、利用可能な API のリストを返すトランザクションに使用されます。一方、 Webapi/Soap/Wsdl は、特定の SOAP API の WSDL を取得するトランザクションに使用されます。

REST

Magento 2.1 以降では、REST トランザクションは SOAP トランザクションと同様に命名されます。唯一の違いは、REST リクエストのプレフィックスが Webapi/Soap ではなく Webapi/Rest であることです。

Magento 2.0 では、PHP エージェントは、トランザクションを処理した特定のサービスクラスとメソッドを自動的に指定することができません。その代わりに、REST リクエストは現在、 FrontController/Magento\Webapi\Controller\Rest\Interceptor という一般的な名前を受け取ります。これは、将来の PHP エージェントのリリースで改善される可能性があります。回避策として、New Relic では、より高い解像度が必要な場合、 newrelic_name_transaction() をサービスメソッドで使用することを推奨します。

FrontControllerInterfaceのプラグイン

Magento 2 では、 プラグインやインターセプターMagento®Framework®App\FrontControllerInterface インターフェースに登録することで、デフォルトのルーティングエンジンを置き換えることができます。例えば、 Web API 機能 はこのように動作します。

Magento\FrameworkApp\FrontControllerInterface にインターセプターが登録されている場合、New Relic の PHP エージェントのバージョン 7.0 以降を使用する際には、そのクラスの名前がデフォルトのトランザクション名として使用されます。また、必要に応じて newrelic_name_transaction() を使って手動で命名することもできます。

トランザクションの自動ネーミングの解除

トランザクションの自動命名が有用でない場合には、 newrelic_name_transaction() API 関数を使用して、PHP エージェントの自動トランザクション命名を上書きすることができます。

Copyright © 2023 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.