How does Plumbr work?

Plumbr is packaged as three different artefacts:

  • two Agents responsible for collecting data and sending it to the Server. Based on your needs, you can get one of the Agents or attach both:
    • the Browser Agent monitors user experience in a browser
    • the Java Agent, which is attached to the backend JVM(s), provides end-to-end transparency to your infrastructure and is responsible for detecting root causes
  • the Server receives the data collected by the Agents and processes it to be displayed via the UI available at https://app.plumbr.io. If you are not able to use our SaaS solution, you can also install the Server on your premises

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 and link the traffic to the backend of the interactions:

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 linked together in the Plumbr Server.