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

"Purepath in progress"?

AntonioSousa
DynaMight Guru
DynaMight Guru

I was quite surprised when a client of mine showed me a Purepath, with the message "PurePath in progress. Use 'Refine analysis' to refresh data."

I have mastered his technique on how to "fish" them, and they are quite easy to grab:

AntonioSousa_0-1734033450734.png

After a while, depending really on the Purepath, you get the full view:

AntonioSousa_1-1734033551155.png

My colleague @PedroDeodato recalls seeing this some several months ago, so this doesn't seem new. But it's not documented anywhere that I know.

I have posted about this need in the past, namely at:
https://community.dynatrace.com/t5/Open-Q-A/Purepaths-that-are-still-being-executed/m-p/174374
https://community.dynatrace.com/t5/Product-ideas/Viewing-still-outstanding-Requests-or-PurePaths/idi...

but the Product Idea was even marked not planned just a little bit more than a month ago? They are not really the same thing, as the traces that appear in the first case above are complete, but just not incorporated in the whole distributed trace view.

So, the question here is if others have noticed this, and what this all means? I have some ideas, but it would be great to know when this happens, and also how we can find them in a structured way?

Antonio Sousa
2 REPLIES 2

Peter_Youssef
Champion

Hello @AntonioSousa 

PFA comment regarding the highlighted concern:

PurePath in Progress issue refers to a situation where the PurePath data (which tracks the lifecycle of a request through the system) is still being processed or is delayed.

This means that the transaction or request has not yet completed the full PurePath cycle, often due to the request still being in progress within the application or infrastructure.

PurePath in Progress issues fall under one of the below reasons or combined based on the solutions architecture and how it’s designed:

  • Long-running Transactions:
    • If a transaction or request is taking longer to complete (e.g., due to a slow database query, external service call, or computational task), it will remain in progress within Dynatrace.
  • Asynchronous Processing:
    • Requests that involve asynchronous processing might show up as “in progress” for a longer time, especially if multiple threads or services are involved in handling the request.
  • Service Bottlenecks:
    • If a specific service or component in the chain is slow or facing performance issues (like high CPU or memory usage), it can delay the completion of the PurePath.
  • Network Latency:
    • Requests might be delayed or blocked due to high network latency, causing the PurePath data to not complete in a timely manner.
  • External Dependencies:
    • If the transaction depends on an external service, API, or database that has performance issues or is unresponsive, it could delay the PurePath process.
  • Resource Exhaustion:
    • Overloaded systems, such as servers with limited memory, CPU, or disk resources, can cause delays in processing transactions.
  • Instrumentation or Agent Delays:
    • Sometimes, delays in PurePath data collection can be related to the Dynatrace agent itself, due to misconfiguration or a heavy load on the agent, preventing it from processing data properly.
  • Transaction Queuing:
    • If many transactions are being handled simultaneously (a spike in traffic or high load), transactions may be queued, causing delays in processing PurePaths.

Resolving PurePath in Progress Issues through addressing the highlighted symptoms combined or separately based on the architecture complexity:

  • Analyzing Transaction Performance:
    • Use Dynatrace's transaction flow and PurePath visualizations to identify where the delays are occurring. Focus on slow database calls, external API calls, or any service bottlenecks.
  • Optimizing  Application Code:
    • Investigate any parts of the application code that may be causing long response times, especially synchronous operations, and try to optimize them to reduce execution time.
  • Checking Resource Usage:
    • Monitor server resource usage (CPU, memory, disk, etc.). If resources are under stress, consider scaling your infrastructure or optimizing resource usage.
  • Reducing External Dependency Delays:
    • If external services (like third-party APIs, database servers, or microservices) are causing delays, optimize their performance or improve the resiliency of calls to them (e.g., implement retries, caching, or failover mechanisms).
  • Network Optimization:
    • Investigate and address network latency issues that could be affecting the speed of requests. Check if any slow network segments are causing delays in transactions.
  • Ensuring Proper Agent Configuration:
    • Review the Dynatrace agent configuration to ensure it is set up correctly. Overloaded or improperly configured agents can cause delays in processing data. Consider increasing agent resources or adjusting the sampling rate if necessary.
  • Addressing Asynchronous Transactions:
    • For asynchronous processing, try to break down large transactions into smaller, more manageable chunks, or monitor them more efficiently to reduce the perceived delay.
  • Infrastructure scaling:
    • If high traffic is causing PurePaths to remain in progress due to queuing, consider scaling out your infrastructure to handle more concurrent transactions or load balancing across more servers.

By diagnosing and addressing these possible causes, you can improve the performance of the PurePath processing and resolve the "in progress" issue in Dynatrace.

Hoping it helps.

KR, 

Peter

AntonioSousa
DynaMight Guru
DynaMight Guru

@Peter_Youssef,

Do you have a link where this info is available?

Antonio Sousa

Featured Posts