15 Feb 2024 06:42 PM
I have some transactions that are taking a long time. Here is the multidimensional analysis which shows that the API makes 6 database calls. However, there are idle times between the completion of one and the start of another process, and the same occurs at the end of the process where the last query finishes very quickly but it takes more than 1 minute to finish the process. Idle times are marked with a red line. Does this mean the process is doing something with the query result, or are they simply idle times?
27 Feb 2024 10:27 PM
@Ellery There might be resource contention issues, such as locking or contention for shared resources, that cause delays between database calls. This can lead to idle times where the application is waiting for resources to become available.
Use Dynatrace's transaction analysis features to dive deeper into the details of the specific transaction. This can provide insights into what the application is doing during each phase of the transaction.
28 Feb 2024 05:21 AM
Adding to what @Ellery said.
What's likely happening in those gaps is code execution related to the span that kicked off these DB calls. So something will be running, making DB calls, then doing some transformations or something else related to the data it got back, then running more DB calls, rinse and repeat. Those yellow sections should just be execution time for the DB calls. Also maybe understand the nature of the application.
You could also click on the parent span and then look at the code level tab to see if anything was captured as happening in-between.
Cheers!
RN
28 Feb 2024 10:39 AM
Correct, I will start checking on the parent trace.
Response time hotspots and Method hotspots ( the 3 dots in the top right of the trace) can help to understand the problem.