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

End to end monitoring in complex system

suresh230591
Mentor

Hi Team, can you give suggestion for below use case


Use case:

Our environment consists of multiple applications where a given user transaction flows across multiple distributed services within different applications (Frontend web app, Salesforce CRM and other application). These applications being PaaS/SaaS, couldn’t facilitate running DT OneAgent in full-stack mode; thereby preventing Dynatrace AI to perform E2E cause-effect analysis. Due to this, although we are able to monitor the execution flow of transactions within a given individual application, but we are still unable to gain visibility into end-to-end flow of a transaction across all the participating applications.


Is there way we can still achieve end to end monitoring of transaction.


Example:

When user trigger an action from front end, it make calls to backend (CRM) and then calls goes to other downstream system Is it possible to map the user action to underlying request that goes to CRM and the integration system. If failure happened at CRM then we would be able to understand that which user actions got impacted


Note: Our front end application is monitored with agentless RUM, on CRM we have one service remotely monitored +custom plugin and integration system has full stack agent.


We are open for any some sort of development if required from application side.


Thanks

Suresh

1 REPLY 1

Julius_Loman
Leader

Generally, I think it depends on particular details.

Basically if your "business transaction" is processed in real time - so it does not involve any manual processing by a physical person, then I believe this can be achievable by extending the tracing trough services where your current Dynatrace instrumentation coverage is not sufficient. You will get "complete" purepaths for your business transactions. For SaaS or PaaS service it also might be possible - depending on their interface and your code calling those services. You just need to have some sort of IDs correlated between calls. You can also try enabling W3C tracing headers in Dynatrace, it might extend your tracing coverage easily for some systems.

If it involves any "manual" steps, the only method I can think of would be to introduce some sort of "business transaction ID" that would be a request attribute and collected on all services and layers. Then you can (manually) lookup individual transactions (for example using top web requests) by the identifier. You don't get any "service flow" for the whole business transaction.

One can give a more detailed answer only after analysing your applications and systems.

TEMPEST a.s., Slovakia, Dynatrace Master Partner