• /
  • Log in
  • Free account

newrelic_start_transaction (PHP agent API)


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

Starts a new transaction, usually after manually ending a transaction.


Agent version or higher.


Start a new transaction manually. Usually used after manually ending a transaction with newrelic_end_transaction(), for example when separating tasks in a job queue manager. When instrumenting this new transaction, the agent performs the same operations as when the script first started.






Required. The application name to associate with data from this transaction. Uses the same format as newrelic.appname and can set multiple application names by separating each with a semicolon ;.

While this option is required, you can read the app name from newrelic.ini with ini_get("newrelic.appname").



Optional. Defaults to the license key set in the New Relic agent's newrelic.ini file.

Provide a different license key if you want the transaction to report to a different New Relic account. If set, this license will supersede all per-directory and global default licenses configured in INI files.

Return values

This function will return true if the transaction was successfully started.


Stop a transaction, then start another

For task queue managers, you can use newrelic_end_transaction() and newrelic_start_transaction() together to manually separate transactions. This example uses ini_get to read the application name from the config file.

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

Start a new transaction with a new license key

This example manually specifies the app name and the license key:

function example() {
    if (extension_loaded('newrelic')) { // Ensure PHP agent is available
        newrelic_start_transaction("App1", "01234567890abcde01234567890abcde01234567890");

For more help

If you need more help, check out these support and learning resources:

Create issueEdit page
Copyright © 2021 New Relic Inc.