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

Stefan Negrea snegrea at redhat.com
Thu May 12 10:23:11 EDT 2016


Hello,

What was described in the original email sounded to me like tagging. A
transaction fragment stored in BTM could be tagged with an arbitrarily
number of tags. Here is an example { application: myapp, service:
superservice, datacenter: east}. And then the API needs to allow users to
query data based on tags and query the actual tag values.

So rather than expanding the design to cover just one other single concept
(application) the design with tags is generic and flexible.


Thank you,
Stefan Negrea

Software Engineer

On Thu, May 12, 2016 at 7:47 AM, Gary Brown <gbrown at redhat.com> wrote:

> Hi Thomas
>
> I think possibly there are different concepts here, so I need to clarify -
> the one I was trying to describe is to capture the individual services,
> which may be user facing, and would essentially map onto the individual
> services (in a micro-services world).
>
> So possibly rather than application, it should be termed "service"? which
> would actually match the microservices world better anyway.
>
> This service concept, especially in the case of user facing endpoints,
> would be used to derive stats like Apdex - although the same stats could be
> defined for internal services as well, to provide the dev teams behind
> those services with a satisfaction index for their consumers.
>
> I think the highlevel communication diagram provided in the Distributed
> Tracing UI page could act as the basis for understanding which 'services'
> and resources (if we dig further to understand databases, etc used) are
> used to deliver the total 'application'.
>
> Having an understanding of the separate 'services' and potentially the
> resources they used, could then enable ManageIQ to build the logical
> grouping that you mention, out of those services? So to be clear, BTM could
> provide a highlevel understanding of the services and their communication
> paths (and possibly resources used), and ManageIQ could use this
> information to selectively (or as a complete set of interrelated services)
> present the user with a logical group consisting of those managed objects.
>
> > So here if an activity on a user registration endpoint is recorded,
> would it
> > record for each segment with app it referred to ?
> >
>
> Wasn't sure what you meant here, if you could give an example?
>
> Regards
> Gary
>
>
> ----- Original Message -----
> >
> >
> > On Wed, May 11, 2016 at 5:01 PM, Gary Brown < gbrown at redhat.com > wrote:
> >
> >
> > 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.
> >
> >
> > I quite agree here, except that I would map an application to *several*
> > achitectural components (for instance N microservices).
> > Now if you have 2 logical applications (say e-commerce and brand
> website), a
> > same architecture component may be shared (say user registration) in the
> 2
> > apps.
> >
> >
> >
> > 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.
> >
> > So here if an activity on a user registration endpoint is recorded,
> would it
> > record for each segment with app it referred to ?
> >
> >
> >
> > 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?
> >
> > In general from the very high level view (ManageIQ), I would want to be
> able
> > to define a logical notion of "application" for monitoring purposes, I
> would
> > expect to be able to add "entities" to that logical view. It may just be
> a
> > war file (and in the case of BTM, I would likely be interested by all
> entry
> > points to that application) or it could be an "OpenShift Project" with
> all
> > its dependencies (all docker containers + everything in it), or it could
> be
> > a selection of MW servers...
> >
> > In the end, the user should be able to dig into infrastructure details
> (and
> > he already has that, he can see details about the infrastructure: a
> > container, a host, a MW server (coming soon), a MW deployment (coming
> > soon)...) + details on Business transactions but also have that synthetic
> > view where he knows that all services that makes his online store are
> > running fine, and have a few KPI such as the Apdex for all user-facing
> > interactions, the N slowest URLs or DB requests...
> >
> > (This definitely goes beyond BTM, and we likely need to simplify and
> work on
> > iterations of those ideas (or better ideas))
> >
> > That's what I dream of, as a user.
> >
> > Thomas
> >
> >
> >
> >
> > 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
> >
> _______________________________________________
> 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/20160512/010459b0/attachment.html 


More information about the hawkular-dev mailing list