構文
newrelic_start_transaction(string $appname[, string $license])
通常、手動でトランザクションを終了した後に、新しいトランザクションを開始します。
要件
エージェントのバージョン 3.0.5.95 以上。
説明
新しいトランザクションを手動で開始します。通常、 newrelic_end_transaction()
で手動でトランザクションを終了させた後に使用されます。例えば、ジョブ・キュー・マネージャでタスクを分離する場合などです。この新しいトランザクションをインスツルメンテーションする際、エージェントはスクリプトが最初に起動したときと同じ操作を行います。
パラメータ
パラメーター | 説明 |
---|---|
文字列 | 必要です。このトランザクションのデータと関連付ける アプリケーション名 。 このオプションが必要な間は、 |
文字列 | オプションです。デフォルトでは、New Relic エージェントの トランザクションを別の New Relic アカウントに報告したい場合は、別の ライセンスキー を提供してください。設定された場合、このライセンスは、INI ファイルで設定されたディレクトリごとおよびグローバルなデフォルトライセンスに優先します。 |
戻り値
この関数は、トランザクションが正常に開始された場合、 true
を返します。
例
トランザクションを停止してから別のトランザクションを開始する
タスクキューマネージャーの場合、 newrelic_end_transaction()
と newrelic_start_transaction()
を一緒に使うことで、手動でトランザクションを分けることができます。この例では、 ini_get
を使用して、設定ファイルからアプリケーション名を読み取ります。
function example() {
... // queuing logic
if (extension_loaded('newrelic')) { // Ensure PHP agent is available
newrelic_end_transaction(); // stop recording the current transaction
newrelic_start_transaction(ini_get("newrelic.appname")); // start recording a new transaction
}
... // more queuing logic
}
新しいライセンス・キーで新しいトランザクションを開始する
この例では、アプリ名とライセンスキーを手動で指定しています。
function example() {
if (extension_loaded('newrelic')) { // Ensure PHP agent is available
newrelic_start_transaction("App1", "01234567890abcde01234567890abcde01234567890");
}
...
}