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

Adding custom dimensions to already existing builtin metrics regarding mobile request / RUM data

Pepehands
Newcomer_

Hello everyone, 

I'm currently trying to query mobile request data and filter those queries by a custom attribute / tag. However, I'm running into a couple of issues so any assistance would be much appreciated. 

What I've tried:

  • Querying Builtin metrics using Data explorer
    • Can view mobile request data and chart them, but there doesn't seem to be a way to add custom dimensions for splitting and filtering data. 
  • USQL queries and custom metrics
    • Doesn't work because user session and action data has null values for many properties. Seems to be a mobile specific issue. 
  • Calculated custom metrics created from user action analysis
    • From mobile app -> analyze performance, you can see multidimensional analysis for a selected timeframe.
    • You can use this analysis to create a metric, but you cannot add any dimensions nor change it once it's created.
    • On top of that, the metric created does not reflect what's being shown in the analysis. An example of this is I see a chart for response times in the analysis, but when I create a metric based on this chart and I query this metric, it shows response count instead.  
    • There is also way less filters for mobile / custom applications
    • You can set custom dimensions when creating a metric, but how do you "tag" the data being sent to be attributed to that specific metric and dimension. I'm thinking to use the Metric v2 API to tag all my web requests for a custom dimension, but how would a value like request time be reported? Would I have to manually measure this?
  • Query created metrics in Grail using DQL
    • Created metrics are not visible in Grail

It seems like there are a lot more limitations when it comes to mobile / custom data analysis for whatever reason or I could just be missing something? What would be a good alternative for what I'm trying to accomplish? 


4 REPLIES 4

Slawa
Advisor

Yes, Dynatrace is not Splunk - post-addition data is a pain and available with some limits only in Grail.
In your case, I would fix action properties and create calculated metrics from it.

Another option is to send logs to grail and and then build metrics on the top from logs - it will give you a bit of freedom for selection dimensions.

Hello Slawa, thank you for the reply!

Creating action properties was my first instinct and would work to add a custom attribute you can use to filter. However, as mentioned above, user action has null values for most properties for mobile applications. So if you need to use numeric data (like response time, latency, etc...) that has a null value, you would have to manually calculate them and assign them to the user action. Similar issue arises for creating metrics from logs. Judging from the waterfall analysis of user actions, values for response time and such are clearly being stored somewhere, but I have no idea how I would query them and filter those queries by custom attributes. 

I was wondering if there was a feature built into Dynatrace that would make this less cumbersome like how New Relic has the Mobile Request object you can interface with to access the values you would need out of the box.  

I had same issue on one of my project with mobile app - try custom actions where you will control all logic.
I don't know your platform but if it is android and used for instance retrofit for dispatching requests - developers can wrap it and fire action /properties on response.

It is still not perfect because of huge limitation of calculated metrics(like it is applicable for Key user actions only)

I consider that Grail is more powerful due to parsing rules and metrics extraction,  but still not sure that is a good idea from a security perspective to send log from client (instead of server). All tokens/client ids are easily extracted from app code. Maybe we could get dynatrace security guidance in this case.

That seems like the only alternative from what I can tell, but I wanted to be sure before moving forward with that option. The issue with that though is you would have to manually calculate some values you need--like latency for instance--because the timer on the one agent SDK doesn't actually report those values to user sessions and actions for mobile applications. 

Unless I'm missing something, Grail also doesn't seem useful for our purposes because created metrics--whether they are custom user action / session metrics or calculated custom metrics--are not detectable in Grail for whatever reason.

Good point on the security issue. I believe maybe Active Gate can be used to circumvent the security concerns, but I haven't looked into it thoroughly yet. Would like guidance on that too for sure. 

Featured Posts