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

PurePath parsing



Let's say that we have a transaction which works like this:

Application X -> Integration server(s) -> Application Y

I have OneAgents installed in all servers for Applications X and Y, and they're in the same Dynatrace environment. But I have no agents at the Integration servers. Do you think Dynatrace would be able to depict this flow as one long PurePath transaction, even though we're basically missing one piece in the middle? We're talking about http/https requests.



I would suspect that you would see the transactions end to end since the Oneagent is at the start and at the end. But Dynatrace will most likely omit the middle piece that has no oneagent and mark it out as a unmonitored host/3rd party.


Dynatrace Leader
Dynatrace Leader

I assume we're not talking about the actual 'application entity' in Dynatrace since that only includes the 'front-end' (e.g. mobile app, browser, etc...) to what you're wider definition of an application likely is (all the hosts and backend pieces).

The answer to your question depends a bit on an understanding of what is happening. For tracing purepaths (for http requests) we rely on a known request header (x-dynatrace unless you're trying out the W3C trace context header) which will be set when it hits host A and then later steps with an agent installed will look for that header and continue the transaction if it is seen. If no such header is seen a new purepath will be set with a new id in that header.

So in the case of your uninstrumented integration server it of course won't be adding to that header or providing any more code level data but if it simply passes the header through untouched we'll at least be able to continue the initial purepath. If that header is removed/not forwarded/improperly modified then you will not see the entire path and instead will see two disconnected purepaths.

Thanks for the explanation! Yeah by Application I didn't mean RUM, but a group of OneAgents providing deep monitoring for servers belonging to a certain application. Ok, so it's basically a question of: if the integration servers just pass the x-dynatrace headers as is, I'll see the full transactions. If not, I'll see the transaction in 2 parts.

Right, for example it's a pretty common situation for proxies or load balancers to be in between instrumented servers. As long as those devices pass along the header you should see end to end. Depending on how the integration server works you might see it represented as a proxy in between services but that's not guaranteed.