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

E2E transaction monitoring

suresh230591
Advisor

Hi All,

 

Please look into below problem statement and provide your suggestion to find the solution. We are happy to do any customization if required.

 

Problem Statement:

Our environment consists of multiple applications where a given user transaction flows across multiple distributed services within different applications (AEM/ Mobile app, Vlocity, Salesforce, KANA). 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.

 

To achieve more end-to-end visibility for our users, we need to understand if we can leverage the “Distributed tracing” feature of Dynatrace, in our environment where we don’t have DT OneAgent installed in full-stack mode.

For reference - https://www.dynatrace.com/news/blog/distributed-tracing-with-w3c-trace-context-for-improved-end-to-e...

Below table shows the DT agent installation & RUM approach on each participating application –

 

Applications

DT Agent mode

RUM monitoring

AEM

Infra Only

Dynatrace Manual JS injection

Mobile app

Mobile agent

Dynatrace Manual JS injection

Vlocity

No agent

Dynatrace Manual JS (through custom template)

     

KANA

Full Stack agent

OneAgent RUM

 

Any suggestion how we can achieve E2E transaction motoring with above use case

 

Thanks

Suresh

2 REPLIES 2

Unfortunately when there is no Agent on hosts that are thrasactions are passing through it may be problematic, especially that you are talking mostly about RUM. Distributed tracing is rather backend topic. But when you have users that are passing through multiple web applications monitored by RUM, you should be able to see their sessions across all of applications. You need to configure User Tag, the same for each application and you will see transitions between apps.

Sebastian

luismiguel_pozo
Contributor

Thank you @Sebastian K. for your answer and @Suresh K. for your question.

I wonder why the Dynatrace RUM manual JS injection way doesn't inject w3c's trace context into the front-end (or adopt an existing one, should it be received in the header of a request).

With the w3c traceId context, we would be able to:

  1. correlate the request unchained from the front-end to the back-end;
  2. follow that request across other front-ends that are being monitored by the RUM JS or across services monitored by the One Agent;
  3. associate errors that may be occurring in the front-end and associate them with an event occurred in the backend (e.g.: a user makes a request, and it fails in the third backend service. In this way, you can associate the fail that the injected RUM-JS is capturing with the fails occurred in the backend and drill-down).
  4. Expand the service flow, by including front-ends.


I think that this option can complement the user tag configuration that you suggested in your answer.


Thanks a lot,

Luis Miguel