How does Plumbr work?

Plumbr deployments contain up to three different modules:

  • Browser Agent, capturing the end user experience in the device used by your customers. This is the module you should be installing first.
  • Java Agent, tracing the user interaction through the back-end services composing it into one distributed transaction. Presence of this Agent also detects root causes in the back-end layer. You should install this module if your back-end is running on Java Virtual Machines.
  • the Server responsible of receiving and processing the data collected by the Agents.  Server also exposes the UI. This is the module we recommend not to install yourself. Instead, when using the Server as our SaaS solution, the installed Agents would connect to https://app.plumbr.io and serve the user interface also via https://app.plumbr.io.

If you only use the Browser Agent, the deployment model includes injecting our Javascript Agent to the <HEAD> section of all the HTML pages in your application. After doing so, the Agent can start listening to the end user interactions in the browser:

Plumbr Browser concept

The data captured is sent to Plumbr Servers, which are responsible for assembling the transactions and allowing you to run analysis on the data.

In case you are after end-to-end transparency and deploy both the Browser and Java Agents, the transactions are monitored from the browser to all the JVM-based nodes in the backend:

Plumbr Java and Browser Agent

The Plumbr Java Agent is packaged as a standard -javaagent, and attaching it does not mean you need to make any changes to your application. The only required change involves pinpointing the location of the Agent in the file system by adding -javaagent:/path/to/plumbr.jar to JVM startup scripts.

The Agents located in the nodes processing the transaction pass along the transaction ID as the call metadata, so all the nodes servicing the transaction could be assembled together in the Plumbr Server into a single distributed transaction.