Over a million developers have joined DZone.

A Quick Tour of Transaction Management

· Java Zone

What every Java engineer should know about microservices: Reactive Microservices Architecture.  Brought to you in partnership with Lightbend.

Editor's note: Written by Josh van Tonder for Crittercism blog.

When your app crashes or is slow, it impacts both your company’s brand and its revenue.  It impacts your brand because users can leave bad reviews/ratings, and impacts your revenue because important workflows like a checkout, sign up, or check deposit could be failing.  Crittercism Transaction Management shows how crashes and lags directly affect your bottom line. This post provides insight into what Transaction Management can offer and how to get started.

Mobile Transactions are App Workflows That Impact Business

Let’s start with an overview of what mobile transactions are and how they are modeled.  A mobile transaction is any mobile workflow or use case in an app that has business impact.  Examples of mobile transactions include:

  • sign-up, registration, or account creation

  • importing user contacts or uploading / sharing content

  • checkout, billing, or mPOS

  • inventory or order management

  • buying / selling stock, depositing a check, or transferring funds

  • booking a hotel room or flight

These workflows usually involve multiple screens and multiple back-end or cloud API interactions.  For the workflow or transaction to be successful, each screen or back-end interaction in the process must also work.

Monitoring a mobile transaction is easy with Crittercism.  A developer simply marks the start, the end, and the value associated with the transaction.  The value is the monetary value you would consider at risk if the transaction fails.  Typically it is something like the shopping cart value, LTV of a new customer, or a worker’s productivity cost in the case of B2E use cases.

Now that you have an idea of the type of transactions you can monitor, let’s take a quick tour of Transaction Management dashboards that allow you to connect performance metrics to business metrics.  The dashboards are designed to help you monitor the overall revenue risk, prioritize what to fix first, and troubleshoot the issue quickly.

Monitor Overall Revenue Risk with the Transaction Summary


The most basic question to answer is how much revenue is at risk at any given time.  With the Transaction Summary dashboard, you can see the aggregate revenue at risk ($715.7K over the last 7 days for this example).  Revenue risk is the aggregated value for the failed transactions.  You can also see the top failed transactions over time, which gives you valuable insight into how app performance issues like crashes or timeouts are hurting your business.

Prioritize What To Fix First with the Transaction List


Once you know there is an issue affecting your business, you need to quickly identify which transaction to fix.  In the transaction list, you can see each mobile transaction being monitored.  The summary for each transaction includes volume, failures, and revenue.  Sorting by revenue risk shows the transaction with the largest revenue risk first (Checkout in this case).

Drill into Failures with Transaction Details


The Transaction Details dashboard gives you information to troubleshoot a specific transaction.  The dashboard allows you to easily see the Success metrics and average time.  The Revenue metrics break down the average risk per transaction as compared to the total risk.

It’s also important to quickly understand the type of failure causing most issues for the transaction–crashes, time outs, or something marked as failed by the developer.  Demonstrated in this screenshot, the Failure Rate is being driven by time outs.

Troubleshoot Issues with the Root Cause Analysis Tab


If crashes are the primary culprit, then the place to look is the Root Cause Analysis tab. It lists the highest occurring crash groups.  Most often you would start with the highest and work your way down.  Clicking on a crash group takes you to Crash dashboards , which gives you all the detailed diagnostics information you need to troubleshoot the issue quickly.

View Exact Events Leading Up to a Failure With the Transaction Trace Tab


When you are trying to figure out why a particular transaction failed, it is very helpful to see the exact steps a user took that led to the problem;  The Transaction Trace tab does just that.  It shows the history of network, service, view, background/foreground, and crash events for a user’s transaction.  In this example, we are able to easily see the specific events leading to a crash.  After clicking Checkout, they switch from EDGE to Wi-Fi connectivity, lose the connection, and then call a checkout service,  at which point the app crashes.  Ideally the app would handle this gracefully and ensure the user can complete the checkout when they reconnect.

Using these Mobile Transaction dashboards you can monitor the overall revenue risk, prioritize what to fix first, and troubleshoot the issue quickly.

What’s Next

Hopefully this tour gives you a good overview of Crittercism Mobile Transaction Management.  The capabilities provide your mobile team the data needed to understand exactly how mobile performance issues are impacting your bottom line.  I encourage you to kick the tires on the solution by signing up for a free trial or contacting us for a demo today!


Microservices for Java, explained. Revitalize your legacy systems (and your career) with Reactive Microservices Architecture, a free O'Reilly book. Brought to you in partnership with Lightbend.


Published at DZone with permission of Chris Beauchamp, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}