Transactions
Tideways attempts to assign each request a transaction name, a name that represents the operation, endpoint, controller that is executed. Ideally each block of code that performs a dedicated function in your project has its unique transaction name, so that the performance across many requests executed the same block of code can be aggregated and compared over time. This includes dedicated request counts, response times and error-rates per transaction.
By default every transaction will automatically get the name last two parts of
SCRIPT_FILENAME
(for example web/index.php
) as the transaction name.
If you are using a framework supported by Tideways, then the transaction name
becomes the controller class / action method that is being executed (for
example App\Controller\UserController::viewAction
).
If you are using a currently unsupported MVC framewor, then a programmatic separation into the controller class and action method names for the transaction names yields much more insights than the script name based naming. See docs on the programmatic Transaction API to manually set transaction names in your application code.
The number of transactions is limited based on the projects license. As such it is recommended not to allow user input in transaction names or use URLs that contain dynamic variables.
Configuring Human Readable Names
After you have started using transaction names based on framework or manual support, you can go one step further and set a human readable name for all transactions or just for the ones which you care about the most.
Doing so improves the utility of Tideways, because it frees you from having to
know what page each listed controller/action
is responsible for — especially
for the non-technical users in the weekly report. For example in the
transaction list:
Or in the transaction detail page:
To configure a human-readable transaction name:
-
Go to
-
Click the configure transaction (pencil) icon, at the far right-hand side of the transaction which you want to name
Figure 1. View the list of transactions under the project’s settings -
Specify a name for the transaction in the Name field, and then click Save
Figure 2. Setting a transaction’s name
Following this, you will then see the configured human-readable name, in the Name column, next to the transaction in the transactions list.

Transaction Limits
Each license has an upper limit of transactions that are tracked in monitoring and tracing. A finite number of transactions is better for your usability, because it allows to see aggregated performance data with a high enough number of requests per transaction every minute or every hour and provides better insights into changes of performance at a high level.
As soon as you reach the transaction limit by reporting data for transactions that would exceed the limit, all these transactions over the limit will be grouped into a single transaction called "Uncategorized". All data recorded on the uncategorized transaction will belong to the transactions that are above the limit.
This often happens because you are using Tideways\Profiler::setTransactionName
with dynamic user input or based on dynamic content variables such as Page Ids in Urls.
Transaction names should describe blocks of code like controllers, classes, functions or scripts. They should not describe dynamic data, such as entries based on ID or name.
The exact Transaction limits can be seen on the Tideways pricing page.
To get below the transaction limit, you can delete transactions from the "Project Settings" > "Transactions" screen. Transactions on the higher pages that haven’t been reported in the last minutes will have a "Delete Transction" action in their dropdown menu.
Alternatively you can go to "Project Settings" > "General Settings" and perform the "Delete all Transactions" operations, which will however also have a negative effect on transactions that are named correctly already.