cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to differentiate between hybrid/web applications with a common backend?

Enrico_F
Pro

We are increasingly confronted with the requirement of monitoring applications that provide some rich Web/Javascript UI be it as a hybrid mobile app (i.e. Webview, HTML5, AngularJS+Cordova, etc.) or as a traditional single-page browser app with extensive use of Javascript.

The thing is: All these fancy new apps/UI's are essentially accessing the same set of common back end REST or JSON APIs and microservices, but they are still regarded as totally different applications from an operational and logical point of view.

Now the problem is how to distinguish between these applications for monitoring purposes when the traditional way of defining applications by URI and/or Entry Point patterns in the back end does not yield satisfactory results (because they are too generic)?

I have a feeling I'm not the only one facing this kind of problem therefore I am curious to hear how others have approached this question.

Any input is greatly appreciated.

2 REPLIES 2

andreas_grabner
Dynatrace Guru
Dynatrace Guru

Hi Enrico

If you use Dynatrace UEM you should see which devices people use to access your app as we start monitoring from the end users device. If you only monitor server side requests you can probably differentiate the requests by the User-Agent HTTP Header. You can create a Business Transaction that splits by the information passed in that HTTP Header. Check the Web Requests - Browser measure. It returns Client Type, Browser, Familiy, or the full User Agent string

Andi

Thanks a lot, Andi! That's a good idea and I will test this.

However, I think it would make a lot of sense to extend the current Application Definition to also (optionally) include User-Agent header matching rules, don't you think? Would this be something worth an RFE?

PS: One potential problem I see with your first suggestion (UEM-based device detection) is that for that to work it requires an Application Definition in the backend, which is not possible easily because it would have to include all kinds of REST and microservices from different business domains and therefore would be too generic...

kind regards,
Enrico