05 Jun 2024 09:07 AM
Hello everyone,
PROBLEM: We're currently in the process of instrumenting a web application in Dynatrace, and while we have OneAgent installed, we've noticed discrepancies in the data captured by RUM (Real User Monitoring) compared to our actual user experience on the web app. For instance, visually, the page appears to load within 5 seconds, but it takes around 20 seconds before it becomes fully functional for interaction.
To address this, we're considering switching to manual instrumentation to gather as much accurate information as possible. Our goal is to understand if it's feasible to nest `enterAction` and `leaveAction` in Dynatrace. Let me elaborate further: we aim to establish a primary action that signifies the complete rendering of the page, and within this primary action, we'd like to include smaller actions to track additional details.
QUESTION: Therefore, my question is twofold: Is it possible to achieve this nesting of actions in Dynatrace and see it in watherfall analysis, and if so, what specific components or functions do we need to utilize within the manual instrumentation API to accomplish this? Any insights or guidance would be greatly appreciated.
Thanks
Solved! Go to Solution.
05 Jun 2024 11:45 AM - edited 05 Jun 2024 11:47 AM
In your case, to solve your problem I would try
dtrum.setLoadEndManually(); |
After something loaded (simple JS check) - you control when ~20s:
dtrum.signalLoadEnd(); |
Something like this. You will get - User Action with user action duration time ~20s.
You would have one action, also you (customers developers) can control this.
=====
to second your question: simple answer - Depends on the task and goals you want to achieve.
I recommend Instrument a simple page where everything is clear, see what level of nesting can be achieved - using the example "hello world" html page.
---- below example:
for catching loading some block on page we use custom action. For other blocks - We send information as user action property and have App metrics.
For first block - we measure user action duration - "block load time"
For others - we measure blocks load time and push it as user action property, because this infromation used via user session export to elastic.
The above information may be inaccurate and is subject to certain limitations, only as example, what can we do with DT_RUM.
For SaaS Dynatrace, maybe there are better solutions available through logs, maybe Grail.
It's better to explore other approaches and read information in blogs\docs if you are using Dynatrace SaaS.
Regards,
Alex Romanenkov