Each transaction gets assigned a status based on the duration and outcome of the transaction. The duration of the transaction is calculated at the time when the last span in the transaction is closed.
- Successful transactions. This is the desired status of a transaction, meaning the transaction did complete with the expected outcome and was fast enough not to impact end user experience.
- Slow transactions. If the duration of the transaction exceeds a predetermined threshold, the transaction is flagged as slow.
- Stuck transactions. When the duration of the ongoing transaction exceeds the predetermined slow threshold 100x, Plumbr assumes the transaction will never complete and flags the transaction as stuck. The stuck transaction will not be monitored by Plumbr after it has been flagged as such.
- Failed transactions. When a transaction fails to complete with the expected result, the transaction is flagged as failed. Whether or not the transaction failed to complete is decided using different means for different application types:
- for web applications monitored by the Browser Agent, every transaction including spans with 400 or 500-series HTTP response codes will be flagged as failed
- for web applications monitored by the Java Agent alone, all transactions returning a 500-series response will be flagged as failed
- for EJB modules, all remote method invocations that result in an exception being thrown are flagged as failed
- for Swing/AWT applications, all Action Listener events which result in an exception being thrown are flagged as failed