Obtaining business metrics without the need to instrument your application

A blog post by Gary Brown

apm | btm | business metrics | distributed tracing


There are many solutions available to allow a business to instrument its applications to report relevant business metrics. However most (if not all) of these solutions require the application to be modified to extract the information and report it to the chosen management solution.

What happens if you need the flexibility to begin recording and analysing new business metrics immediately? Even with the current trend towards continuous delivery, there is still a delay while the business analyst creates a feature request, and the development team understands the requirement, makes the modifications and pushes the changes through the pipeline.

Would it not be better for business analysts to be able to react immediately to emerging requirements, which may also be temporary (i.e. short lived), to collect and analyse the required business metrics?

The demo

This Hawkular BTM demo shows how to capture business metrics from an executing business application without having to introduce changes to the application or any frameworks being used. The business metrics can be presented in the form of charts, and also used within filters to help a user to focus in on the important information required to analyse how a business is functioning. The business metrics are organised based on the concept of a "Business Transaction".

What is a Business Transaction?

The term "Business Transaction" is generally used to signify activities performed within a business that result in some form of accounting event (i.e. buying some goods). The Hawkular BTM project uses the term in a more general way, referring to activities performed within a business, potentially initiated on behalf of a consumer (e.g. customer), that result in some direct or indirect value.

The ticket monster example application used in the demo is configured with two business transactions. The first is for retrieving information about an event (e.g. a concert), and the second for booking tickets. Although the first business transaction does not have any financial (accounting) consequence for the business, retrieving information about the events is a precursor to a customer being able to purchase the tickets, so it is a necessary but separate activity provided by the business to help meet the needs of its customers.

How is the Business Transaction concept used within Hawkular BTM?

Hawkular BTM uses the concept of a "Business Transaction" to associate the invocation of a particular endpoint(s) with a logical business transaction configuration.

This configuration can include the definition of 'processors' (represented by a series of actions), that define how the data passed through a business application can be processed to extract business metrics (e.g. number of tickets purchased).

A business application can be a single service, as in the case of the ticket monster example, or comprised of multiple interacting (micro) services.

Published by Gary Brown on 24 May 2016


© 2016 | Hawkular is released under Apache License v2.0