24 Mar 2019 11:56 PM - last edited on 13 Dec 2021 05:18 AM by MaciejNeumann
So, let's say I have a service-flow where I know (before deployment) is like
Service A-> Service B-> Service C-> Service D.
Good thing about Dynatrace over AppMon is that, it automatically let us know is it handle by the process itself (as I understand it, the 'foreground' thread?) or it is handle by other background thread.
Right now I able to see the truth, which is
Service A-> Service B
Background Thread of Service B -> Service C ->Service D
This is such a good news for the dev and ops, but too bad not so good for management and biz.....because in the service flow I don't see 'end-to-end', but instead two broken flow.
So I am wondering is there any way that we can "link" these two "Broken" service flow together into one?
It's not generally possible without changing the code of the monitored application. Typically those "requests in background threads" are some kind of background processing jobs, doing processing from queue / stack. The other services (web requests / web services / ... ) are pushing data into the queue / stack for further processing. The background execution may happen a long time after the "front-end" request has been processed.
So without changing the code, there is no correlation id and long gaps may happen between those executions.
Would Custom Service a possible option to explore?
Reason being, the application just migrated from AppMon to Dynatrace Managed. Back then the transaction flow in AppMon is end-to-end; but right now in Managed the service flow is 'broken' and doesn't stitch up.
I have exactly the same issue. Our Service flow/purepath are broken as we are requesting external services inside another thread.
Our code is python and we use the amazing Python Auto instrument module to instrument our code https://github.com/dynatrace-oss/OneAgent-SDK-Python-AutoInstrumentation
I guess it is possible but not sure how. I can change my code if needed.