13.1.2 Perform Distributed Tracing with Jaeger

To understand how to perform distributed tracing using Jaeger, let us consider the sample application for XA.

The sample application implements a scenario where an Accounts department application transfers money from one department to another by creating an XA transaction. The two departments in the organization are Dept 1 and Dept 2. For more details about the sample XA application that is available in the installation bundle, see XA Transaction Protocol.

Before you perform distributed tracing, ensure that you have deployed the application and initiated a transaction.
  1. Open the Jaeger UI using istioctl.
    istioctl dashboard jaeger
  2. Perform a transaction using your application.
    In case of the sample XA application, use the Accounts service to withdraw an amount from Dept 1 and deposit that amount to Dept 2.
  3. In the Jaeger UI, click the Search tab.
  4. In the Service drop-down list, select istio-ingressgateway.
  5. Click Find Traces, and then locate the trace that is time-stamped as a few seconds ago.
    The trace for your latest transaction using the sample XA application is displayed as shown in the following figure.
    Trace
  6. Click the trace to view more details.
  7. Under Service & Operation, view the flow of all the requests.

    The Istio ingress gateway receives the request and forwards it to the Accounts service, which is the initiator service. From Accounts service, a call was sent to TCS to begin the transaction.