• EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

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

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

問題を作成する

PHPフレームワーク。New Relic のサポートを統合しました。

このドキュメントは、PHP フレームワークの開発者やメンテナを対象としています。New Relic のサポートを追加してフレームワークを拡張する方法を提案します。

PHPエージェントは、フレームワークをサポートするために、 フレームワークのコードのどこにWebトランザクションが適切な名前を つけられるかを把握し、クラスや関数の呼び出しなどの情報に基づいて Webトランザクションを命名します。このソリューションは脆弱で、開発者がコードを変更した場合に影響を受けます。New Relic は、フレームワークの開発者に対して、自分が保守しているフレームワークのアウトオブボックスのユーザーエクスペリエンスを向上させるために必要ないくつかのコールを行うことを推奨しています。

ユーザーのために

New Relic は、Web トランザクション名と、New Relic の JavaScript ヘッダーとフッターを挿入する場所を識別できます。 。ただし、エンド ユーザーのエクスペリエンスを向上させ、パフォーマンスを向上させ、コードのメンテナンスを容易にするために、フレームワーク開発者はこの作業を自分で行う必要があります。

New Relic のネイティブサポートを追加してユーザーを支援するかどうかは、さまざまなフレームワークの開発者に委ねられています。ほとんどの場合、New Relicのサポートを追加するには、フレームワークのコードのどこかに3つのAPIコールを挿入する必要があります。

用語解説

New Relic のサポートを追加する最善の方法を理解するためには、相互作用の重要なポイントを理解することが役立ちます。

学期

定義

Webトランザクション

ウェブトランザクション は、あなたのサイトへのアセットリクエスト(またはユーザーヒット)です。フレームワークでは、MVCのディスパッチ機構で処理されることが多いです。

指標

Metrics [メトリクスは] 、タイミング情報を報告する名前付きエンティティです。New Relic はこれらのメトリクスを使用して、 APM Summary ページなどのチャートやページを生成します。たとえば、New Relic インストルメントは MySQL を呼び出し、ユーザーがデータを選択または更新するたびに、 Database/select または Database/update と呼ばれるメトリクスを生成します。

メトリクスにはタイミングデータしか含まれていません。

トランザクショントレース

毎回の収穫期に、New Relic はユーザーが定義した閾値を下回った最も遅いウェブトランザクションを記録します。これは、 トランザクショントレース

単純なメトリクスよりも詳細な情報が得られます。有効にすると、どの関数が呼び出され、どのくらいの時間がかかったかを正確に示す詳細なコールグラフが含まれます。低速のクエリ文については、呼び出し中のすべてのデータを難読化します。

名前トランザクション

ウェブ取引にどのように名前を付けるかは、ユーザー体験の質に影響します。

重要

トランザクション名の末尾に角かっこ[suffix]を使用しないでください。 New Relicは、名前から角かっこを自動的に削除します。代わりに、必要に応じて括弧(suffix)またはその他の記号を使用してください。

例:

ブログ スタイルのフレームワークがある場合は、ユーザー アクティビティに基づいてさまざまなトランザクションに名前を付けます ( displayeditloginなど)。

MVC アーキテクチャを使用する場合、適切な命名規則は controller/actionです。トランザクション名にはリクエスト固有のデータを含め ないで ください。たとえば、実際のリクエスト URL を使用すると、 メトリクスのグループ化の問題が発生します。

プラットフォーム

トランザクションのネーミング例

Drupal 7

ディスパッチは menu_execute_active_handler()で行われます。これは、最初の引数がアクションの名前である call_user_func_array()を呼び出します。これが Web トランザクション名として設定するものです。

CakePHP 1.3

CakePHP には、 _invoke メソッドを備えた Dispatcher クラスがあります。これにより、指定されたアクションで適切なコントローラー クラスが呼び出され、トランザクションの名前は controller/action になります。ここで、 controller はコントローラー クラスの名前です。

コードを特定のコントローラとアクション(MVCを使用している場合)、またはアクション(MVCを使用していない場合)にルーティングしたいポイントで、以下のようなコードを挿入します。

コントローラーとアクション (MVCを使用している場合)。

if (extension_loaded ('newrelic')) {
newrelic_name_transaction ($controller . '/' . $action);
}

アクションのみ (MVCを使用していない)。

if (extension_loaded ('newrelic')) {
newrelic_name_transaction ($action);
}

JavaScriptのヘッダーとフッターの挿入

ページのロードタイミング(リアルユーザーモニタリング(RUM)と呼ばれることもあります)については、JavaScriptのヘッダとフッタを挿入します。これにより、生成されたページに対するエンドユーザーの体験をモニターすることができます。

  • 推奨: フレームワークにすべてのページのヘッダーとフッターを生成する中央機能がある場合は、ここにJavaScriptのコードをインストールします。
  • テンプレート駆動型のフレームワークでは、ヘッダーやフッターのテンプレートに挿入します。
Copyright © 2024 New Relic株式会社。

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