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

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

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

問題を作成する

newrelic_start_transaction (PHP エージェント API)

構文

newrelic_start_transaction(string $appname[, string $license])

通常、手動でトランザクションを終了した後に、新しいトランザクションを開始します。

要件

エージェントのバージョン 3.0.5.95 以上。

説明

新しいトランザクションを手動で開始します。通常、 newrelic_end_transaction() で手動でトランザクションを終了させた後に使用されます。例えば、ジョブ・キュー・マネージャでタスクを分離する場合などです。この新しいトランザクションをインスツルメンテーションする際、エージェントはスクリプトが最初に起動したときと同じ操作を行います。

パラメータ

パラメーター

説明

$appname

文字列

必要です。このトランザクションのデータと関連付ける アプリケーション名newrelic.appname と同じフォーマットを使用し、セミコロンで区切ることで複数のアプリケーション名を設定できます ;.

このオプションが必要な間は、 newrelic.ini から ini_get("newrelic.appname") でアプリ名を読み取ることができます。

ライセンス

文字列

オプションです。デフォルトでは、New Relic エージェントの newrelic.ini ファイルで設定されたライセンスキーが使用されます。

トランザクションを別の 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");
    }
    ...
}
Copyright © 2022 New Relic Inc.