[Hawkular-dev] Definition the concept of Application in Hawkular BTM

Thomas Heute theute at redhat.com
Fri May 13 04:02:58 EDT 2016


The "Application" is definitely first a user notion, I am personally
interested to think about the user facing features (in the context of
Application Performance Management/Monitoring) of what we can provide.

So far we have a good understanding of the individual metrics we can track
and how to track those:
    - Infrastructure metrics (CPU/Memory of a host)
    - Our dear MW metrics (Number of JMS messages sent/received, servlet
response time...)
    - Business Transaction time split into "segments
    -...

But for the user of the monitoring tools, it's hard to make sense of those
details (but we definitely need them, and the user may want to dig into
those details).

I just accidentally found this article:
http://apmdigest.com/the-anatomy-of-apm-4-foundational-elements-to-a-successful-strategy
"The translation of IT metrics into business meaning (value) is what APM is
all about."
I couldn't agree more :)

I've asked Gary/Pavol to look into the Apdex, it's a relatively interesting
index to measure the user satisfaction, it's "simple" (only based on
response time) but still give 1 indicator that can be useful to quickly
assess the health of an application. It may or may not belong to the BTM
project though.

Thomas



On Fri, May 13, 2016 at 8:41 AM, Michael Burman <miburman at redhat.com> wrote:

> Hi,
>
> Based on my previous experience, I'll make an example that I would've
> considered important to me. This is coming from something that used to be
> called "SaaS" or outsourced processing or pick any other neat word of the
> time. The important part that I think you presented in the message is that
> the users of BTM could provide different information to their customers and
> to themselves.
>
> So assuming the full service would have been: "we send invoice in, it gets
> processed to the next company, archived and it's passthrough is monitored".
> For internal use that means basically: "it's received by the front-end
> server, transferred to the back-end server, processed in the invoicing
> router, a copy is sent to the archiving process, one copy is sent to the
> next party and the invoice router waits for acknowledgement message from
> next party". These were very simple definitions of these two.
>
> Thus, there are multiple transactions inside a transaction. For the
> customer who pays, the transaction is a single one: "how long did it take
> until next customer received it" and in some cases "how long did it take on
> the first party to process it and ship it to the next destination"
> (different SLA on both scenarios). And of course the most important "did
> all the messages get processed and delivered"
>
> For the internal monitoring usage, there are multiple cases. How long did
> it take for each service to process something? How long did it take until
> the invoice reached the next microservice (there could be asynchronous
> transfers between services, lets not forget that not all communication is
> using something like HTTP, there are many FTP batch jobs in the world still
> doing the most important things in the world) ? Did the acknowledgement
> come from the next party inside 24 hours?
>
> I don't like the term "service" or "application" in this case a lot, since
> all of these are services, yet from different perspectives the size of the
> service changes. However obviously we would need to call the application
> the smallest part for example and service the larger part. However, there
> are certainly micro-transactions inside the transactions which would need
> to be linked to get all the relevant information (the acknowledgement
> processing is sort of the same as the invoicing processing, including all
> the front-end/back-end stuff as well, but it also plays a part in the
> larger transaction).
>
> So couldn't we just have tree of transaction-ids and not a definition of
> "service/application" ? It would scale to any depth.
>
>   -  Micke
>
> ----- Original Message -----
> From: "Gary Brown" <gbrown at redhat.com>
> To: "Discussions around Hawkular development" <
> hawkular-dev at lists.jboss.org>
> Sent: Wednesday, May 11, 2016 6:01:56 PM
> Subject: [Hawkular-dev] Definition the concept of Application in Hawkular
> BTM
>
> Hi
>
> I would like to discuss how best to define the concept of an Application
> within the BTM project, how it relates to the existing concept of a
> "Business Transaction" and how it may link in with the concept of an
> application in Hawkular/ManageIQ in general.
>
> Firstly, for those not familiar with Hawkular BTM, without configuration
> the project can capture and trace an invocation across multiple
> interconnected services. The information can be used to provide stats on
> the individual components used (endpoints, databases, ejbs, etc) as well as
> (in the next version) present a graph showing the relationships between the
> communicating services.
>
> The project also enables "Business Transactions" to be configured - this
> enables a particular invocation of an endpoint to be labelled with a
> business transaction name (which is propagated to the fragments associated
> with the invoked services), and also perform additional processing on the
> messages, such as extract business properties, etc. Once a "Business
> Transaction" has been defined, it is possible to view high level stats
> about the complete "end to end" business transactions.
>
> This is achieved by creating a configuration that identifies the initial
> endpoint for the business transaction, using a regular expression, and then
> a set of 'processors' that are used to perform various processing tasks
> within the scope of that business transaction.
>
> We now have a requirement to identify the concept of an Application, and
> be able to present various stats about it. I believe that the Application
> can be viewed as orthogonal to the Business Transaction concept - so an
> Application represents the various operations that can be performed on a
> particular architectural component, whereas the Business Transaction
> represents a particular path through multiple Applications/Services, only
> using a subset of the operations/endpoints supported by the Application.
>
> However the requirements are very similar - when we detect some activity
> on a particular endpoint we want to determine if it belongs to an
> Application, in the same way as we currently do with Business Transactions.
> And similarly, once classified as being associated with an Application, we
> may want to do some application specific processing on the data.
>
> Therefore what I am considering is making the existing Business
> Transaction Configuration generic so that it is suitable for both tasks,
> with a simple classifier to indicate whether it relates to a Business
> Transaction or Application.
>
> This will mean that the fragments of activity being recorded and sent to
> the BTM server could now potentially have two names, one for the business
> transaction (which is propagated across application/service boundaries) and
> one for an application name (which is not propagated).
>
> Where appropriate, the UI could then be updated to allow the user to also
> filter information based on application - this may only make sense on the
> APM page, but could be considered if useful elsewhere. We may also want to
> make the current Business Transaction overview page more general to include
> both Business Transactions and Applications, and then have a different type
> of details page for applications.
>
> The final point is how this may link into Hawkular/ManageIQ. Was thinking
> that where possible, it would be good if a deployment event could be used
> to trigger the configuration of the Application in Hawkular BTM -
> especially if it is possible to obtain the web context for the application
> (or JMS queue/topic), which can then be used to establish the regular
> expression. If this level of integration was possible, then no user defined
> configuration would be necessary to capture application information using
> the same name as in Hawkular - allowing an integrated view of the
> information to be made available.
>
> Thoughts?
>
> Regards
> Gary
>
> _______________________________________________
> hawkular-dev mailing list
> hawkular-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hawkular-dev
> _______________________________________________
> hawkular-dev mailing list
> hawkular-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hawkular-dev
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/hawkular-dev/attachments/20160513/05f32607/attachment-0001.html 


More information about the hawkular-dev mailing list