• ログイン無料アカウント

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

PHPエージェントAPIの使用ガイド

New RelicのPHPエージェントは、エージェントの動作をカスタマイズするためのAPIを提供します。エージェントは多くの一般的なPHPフレームワークを自動的にインストルメントしますが、PHP APIを使用して、エージェントがデフォルトでまだインストルメントしていないアクティビティをインストルメントできます。

このガイドでは、いくつかの一般的なタスクに対するPHPAPI呼び出しについて説明します。例えば:

ヒント

これらのオプションの多くは、ディレクトリごとまたはnewrelic.iniに設定することもできます。 APIを介して設定する場合、 APIは他のメソッドよりも優先されます

エラーに気付くか無視する

通常、エージェントはエラーを自動的に検出します。ただし、エージェントで手動でエラーをマークすることができます。

あなたがしたい場合は...

これを行う...

エージェントが自動的に報告しないエラーを報告する

newrelic_notice_error()を参照してください。

エラーを無視する

newrelic.iniファイルのerror_collector.ignore_exceptionsまたはerror_collector.ignore_errorsを編集します。

トランザクションのメタデータを強化する

ターゲットとするコードがNewRelicに表示されることがありますが、メソッドの詳細の一部は役に立ちません。例えば:

New Relicがすでに表示されているトランザクションを計測する方法を変更する場合は、次のメソッドを使用します。

あなたがしたい場合は...

これを行う...

トランザクションの名前を変更する

newrelic_name_transaction()を参照してください。

メタデータ(顧客のアカウント名やサブスクリプションレベルなど)をトランザクションまたはスパンに追加します

カスタム属性を使用します。

トランザクションとスパンに追加されるカスタム属性(有効な場合)については、 newrelic_add_custom_parameter()を参照してください。

スパンにのみ追加されるカスタム属性については、 newrelic_add_custom_span_parameter()を参照してください。

トランザクションをバックグラウンドジョブとしてマークする

newrelic_background_job()を参照してください。

トランザクションがApdexスコアに影響を与えないようにする

newrelic_ignore_apdex()を参照してください。

関連ログを見る

アプリケーションのエラーとトレースのコンテキスト内でログを直接表示するには、次のAPI呼び出しを使用してログに注釈を付けます。

ログデータを他のテレメトリデータと相関させる方法の詳細については、コンテキストドキュメントのログを参照してください。

名前報告アプリ

New Relic UIは、アプリケーションに名前を付ける方法によってデータを整理します。それぞれの名前は異なるアプリとして表示されます。コードの任意の部分のレポートアプリの名前を変更して、次のことを行うことができます。

これは、同じPHPインストールを使用するマルチサイトアプリケーションまたはアプリケーションコードの個別のセットがある場合に特に役立ちます。

または、 newrelic.appname config値、 Apache 、またはPHP-FPMを使用して、代わりにアプリ名をより高いレベルに設定することもできます。

あなたがしたい場合は...

これを行う...

コードの特定の部分のレポートアプリの名前を変更します

アプリ名を設定します。 newrelic_set_appname()を参照してください。

コードの欠落しているセクションをトランザクションで計測する

アプリをインストルメント化するために、NewRelicはコード内の各パスを独自のトランザクションに分離します。 New Relic Times(または「instruments」)は、これらのトランザクションの親メソッドでアプリの全体的なパフォーマンスを測定し、実行時間の長いトランザクションからトランザクショントレースを収集して詳細を確認します。トランザクションの詳細については、トランザクションおよびトランザクショントレースを参照してください。

New Relicがコードの特定の部分をまったくインストルメントしていない場合は、次のメソッドを使用します。

あなたがしたい場合は...

これを行う...

メソッドのタイミングを開始するNewRelicが自動的にインストルメント化しない

トランザクションを開始します。 newrelic_start_transaction()を参照してください。

作業が完了したら、メソッドのタイミングを停止します

トランザクションを停止します。 newrelic_end_transaction()を参照してください。

トランザクションがNewRelicに報告されないようにする

トランザクションを無視します。 newrelic_ignore_transaction()を参照してください。

セグメントを使用した時間固有の方法

New Relic UIにトランザクションがすでに表示されているが、そのトランザクション中に呼び出された特定のメソッドに関する十分なデータがない場合は、セグメントを作成して、それらの個々のメソッドの時間をより詳細に計測できます。たとえば、複雑なロジックを使用して特に重要なメソッドの時間を計測したい場合があります。

既存のトランザクション内でメソッドをインストルメント化する場合は、次のメソッドを使用します。

あなたがしたい場合は...

これを行う...

特定の方法の時間を計る

newrelic_add_custom_tracer()を参照してください。

機器の非同期作業

PHPエージェントがインストルメントする唯一の非同期作業はGuzzleであり、これはデフォルトでインストルメントされます

アプリからカスタムイベントと指標データを送信する

New Relicには、任意のカスタムデータを記録するためのさまざまな方法が含まれています。 New Relicのデータ型の説明については、 データ収集を参照してください。

あなたがしたい場合は...

これを行う...

New Relicで分析できるように、イベントに関するデータを送信します

カスタムイベントを作成します。 APMエージェント(PHP)を介したカスタムイベントの挿入を参照してください。

イベントにメタデータのタグを付けて、イベントをフィルタリングしてファセット化します

カスタム属性を追加します。 newrelic_add_custom_parameter()を参照してください。

カスタムパフォーマンスデータを報告する

カスタムメトリックを作成します。 newrelic_custom_metric()を参照してください。

外部サービスへの機器呼び出し

次の方法を使用して、アプリと他のアプリまたはデータストアとの接続に関するデータを収集します。

あなたがしたい場合は...

これを行う...

デフォルトでインストルメントされていないデータストアへの呼び出しの時間を計測します

newrelic_record_datastore_segment()を参照してください。

リクエストが分散システムを通過するときにたどるパスを確認する

9.8より前のバージョンのPHPエージェントについては、次のAPI呼び出しを参照してください。

特定のブラウザページを監視する

ブラウザエージェントをページに自動的に追加するか、JavaScriptスニペットをコピーして貼り付けることで特定のページにデプロイすることで、ブラウザエージェントをインストールできます。 APMエージェントAPI呼び出しを使用して、ブラウザーエージェントを制御することもできます。詳細については、ブラウザの監視とPHPエージェントを参照してください。

Copyright © 2022 New Relic Inc.