構文
newrelic_add_custom_tracer(string $function_name)エージェントがカスタムインストルメンテーションを行うための機能やメソッドを指定します。
要件
すべてのAgentバージョンに対応しています。
説明
カスタム インストルメンテーションの対象となるエージェントの関数またはメソッドを指定します。これは、 newrelic.transaction_tracer.custom 設定と同等の API です。
カスタムトレースをPHPの内部関数に適用することはできません。
パラメーター
パラメータ | 説明 |
|---|---|
ストリング | 必要。名前は、手続き型関数の場合は |
戻り値
トレーサが正常に追加された場合は、 true を返します。
例
機能を計測する
function example_function() { if (extension_loaded('newrelic')) { // Ensure PHP agent is available newrelic_add_custom_tracer("example_function"); }}クラス内のメソッドを計測する
class ExampleClass { function example_method() { if (extension_loaded('newrelic')) { // Ensure PHP agent is available newrelic_add_custom_tracer("ExampleClass::example_method"); } }}名前付きクラス内のメソッドをインストゥルメントする
namespace Foo\Bar;
class ExampleClass { function example_method() { if (extension_loaded('newrelic')) { // Ensure PHP agent is available newrelic_add_custom_tracer("Foo\\Bar\\ExampleClass::example_method"); } }}あるいは、PHP 5.5 以降では、代わりに ::class 構文を使用できます。
namespace Foo\Bar { class ExampleClass { function example_method() { // ... } }}
namespace { use Foo\Bar;
if (extension_loaded('newrelic')) { // Ensure PHP agent is available newrelic_add_custom_tracer(Bar::class . "::example_method"); }}