Frequently Asked Questions
What is application resilience?

Resilience is the ability of an application to gracefully handle and recover from intermittent failures.
With the increased adoption of cloud hosting, applications are often multi-tenant and use a shared platform, services, databases and network. Hence, there is an increased possibility of transient failures. Detecting these failures early and recovering fast is the goal of any operational team.

How do I know, if I need Plummb or not?

If your application has any of the following traits, there are chances that you end up with intermittent network failures or exceptions. In these cases, Plummb can help you recover from these by configuring resilience rules via a dashboard.

  • 3rd party services or APIs
  • DB calls
  • Downstream microservices

What are the DB failures that Plummb can help in recovering?

One can create multiple rules on common exceptions like UnknownHostException, MongoSocketWriteException
The actions can be Retry, Exception Translation.

How does Plummb compare with other products like Netflix's Hystrix?

  • No code change is needed.
  • Being SaaS-based, no server setup needed.
  • Filtering at the minutest level e.g. tenant-id, user-id or even request-id.
  • Simulation of exception to verify the rules.
  • Configuration changes, done via a dashboard, gets applied at runtime.
  • Identify long-running methods.

What coding change is needed to incorporate it?

Literally, no code change is needed.

How does Plummb work without any code change?

This is achieved by byte-code instrumentation. Library used is Byte Buddy. The configuration is provided inplummbAgent.properties.

Can I use Plummb without Byte Code instrumentation?

Yes. It has various methods exposed to deal with it programmatically.

What is the performance impact?

In our environment, the impact is found to be < 1 milliseconds.
It completely works in-memory. Synchronization to Plummb Server happens in the background.

Can I share Plummb dashboard with my team members?

When we provision Plummb, an organization is created for you. You can add multiple users to this organization with roles. Plummb has role based access control (RBAC) out of the box.

Which version of Spring is used?

Plummb is compatible with Spring 4.3.10 onwards. It uses certain libraries of Spring and does not need a Spring Container.

Being multi-tenant application, can I enable Plummb for one and disable for others?

Yes. Toggling or filtering is possible using Contexts.

What programming languages does Plummb support?

It is available for Java 1.7 onwards.
We have plans to extend Plummb for other platforms like C# as well.

How can I integrate Plummb with my Java application?

Check out the integration guide.