• English日本語한국어
  • ログイン今すぐ開始

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

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

問題を作成する

newrelic_add_custom_tracer (PHPエージェントAPI)

構文

newrelic_add_custom_tracer(string $function_name)

エージェントがカスタムインストルメンテーションを行うための機能やメソッドを指定します。

要件

すべてのAgentバージョンに対応しています。

説明

カスタム インストルメンテーションの対象となるエージェントの関数またはメソッドを指定します。これは、 newrelic.transaction_tracer.custom 設定と同等の API です。

カスタムトレースをPHPの内部関数に適用することはできません。

パラメーター

パラメータ

説明

$function_name

ストリング

必要。名前は、手続き型関数の場合は function_name 、メソッドの場合は "ClassName::method" としてフォーマットできます。メソッド構文が使用されている場合、静的メソッドとインスタンス メソッドの両方がインストルメントされ、クラス名は完全修飾されている必要があります。クラスが名前空間内で定義されている場合は、完全な名前空間が含まれている必要があります。

戻り値

トレーサが正常に追加された場合は、 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");
}
}
Copyright © 2024 New Relic Inc.

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