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

この機械翻訳は、参考として提供されています。

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

問題を作成する

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

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

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

ユーザーのために

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

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

用語解説

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

Term

Definition

Web transactions

Web transactions サイトへのアセットリクエスト(またはユーザーヒット)です。 フレームワークでは、これは多くの場合、MVC ディスパッチ メカニズムによって処理されます。

Metrics

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

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

Transaction traces

すべての収集期間中、 New Relicユーザーが定義した閾値を下回る最も遅いウェブトランザクションを記録します。 これはtransaction traceです。

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

名前トランザクション

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

重要

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

Examples:

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

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

Platform

Transaction naming example

Drupal 7

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

CakePHP 1.3

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

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

Controller and action (MVC を使用する場合):

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

Action only (MVC を使用しない):

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

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

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

  • Recommendation:

    フレームワークにすべてのページ ヘッダーとフッターを生成する中心的な機能がある場合は、ここに JavaScript コードをインストールします。

  • テンプレート駆動型のフレームワークでは、ヘッダーやフッターのテンプレートに挿入します。

Copyright © 2024 New Relic株式会社。

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