構文
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"); }}