What are Transactions?

Transaction is an inbound operation captured at the JVM boundary. Transaction attributes include the service invoked, identity of the user invoking the transaction, start/end timestamps and outcome of the operation. Operations supported by Plumbr include HTTP requests to servlet API or Play 2 framework, EJB 3.0 remote calls and Swing/AWT event listeners.

Monitoring transactions builds the cornerstone for end user monitoring in Plumbr. Transactions resulting in a poor user experience are used to measure the impact of any performance issues detected. For Plumbr, it means that all the root causes detected are ranked by the number of transactions a particular root cause was the reason why end users were unhappy.

An example of such a transaction consuming an HTTP endpoint published from a typical web application, from which Plumbr is able to capture a transaction such as the following

11 Aug 2015 (18:54:14 – 18:54:22) HTTP POST; http://www.yourcompany.com/invoice/pay/1008112 -> HTTP 200 OK

From such an incoming HTTP request, Plumbr will capture:

  • The service consumed: invoice payment (invoice/pay)
  • Parameter(s): id (1008112)
  • Response: invoice successfully paid (HTTP 200 OK)
  • End time: (11 Aug 2015 18:54:22)
  • Duration (8,800ms)

Plumbr also flags each transaction based on its outcome:

  • Successful – the transaction was completed and completed fast.
  • Slow – the transaction was slower than expected.
  • Failed – the transaction was not completed successfully.