Distributed tracing

In service graph, you can use the distributed tracing view to:

  • Analyze the overall service performance.

  • Visualize the communication flow between the selected service and its inter-dependent services.

  • Identify which service indicates errors and troubleshoot the erroneous service

  • View transaction details between the selected service and its each inter-dependent service.

Prerequisites

To view the trace information for the service, you must:

  • Ensure that an application maintains the following trace headers, while sending any east-west traffic:

    Headers

  • Update the CPX YAML file with NS_DISTRIBUTED_TRACING and value as yes

    CPX YAML

View service trace details

In service graph, click a service, and select Trace Info.

Trace info

The Trace Summary page is displayed for the selected service.

Trace summary

The Trace Summary displays:

  • An advanced search that enables you to search through for transactions with suggestions and operators (1). For more information, see Advanced Search.

  • The time duration list that enables you to select the time duration such as 1-hour, 12-hour, 1-day, 1-week, 1-month, and custom time (2).

  • The Timeline Details graph that enables you to drag and select to display results for a specific time duration (3).

  • The Filters panel that enables you to select options from each metric (4).

  • The transaction details for the selected service (5).

View the transaction details

Click a transaction to drill down for detailed information. You can view transaction details for the selected service such as:

  • Start time

  • End time

  • SSL metrics

  • Communication with inter-dependent services (along with errors and response time with each service).

The following example indicates an error from catalogue-store-service. Click See Trace Details for further details.

Trace details

The Trace Details page is displayed.

Trace transactions

1 – Displays the start time, response time, total services, and total spans for the transaction.

2 – Displays the details for the selected service that has communicated with its inter-dependency services. You can click each transaction to view details.

3 – Displays the transaction details for each service.

According to the example image, catalogue-store-service indicated an error. Click the transaction available for catalogue-store-service.

Click transaction

The transaction details between product-catalogue-service and catalogue-store-service indicate HTTP response as 500. With these details, as an administrator, you can analyze the erroneous service and troubleshoot product-catalogue-service as a resolution.

You can also filter results by selecting options from each metric under the Filters panel. For example, if you want to view all 5xx transactions, click Response code and select 500.

Filter panel

  • Client RTT: The time duration for a packet to travel from the client.

  • Server RTT: The time duration for a packet to travel from the server.

  • App Response Time: The application average response time

  • Data Transfer Time: The data transfer size and the rate at which the transmit can happen from/to a service.

  • Location: The client location

  • Browser: The browser types used by the clients. For example: Chrome, Firefox.

  • Client OS: The client OS based on the User Agent details from the browser.

  • Device: The devices based on the User Agent details from the browser. For example: Tablet, Mobile.

  • Request Type: The transaction request type. For example: GET.

  • Response code: The response code received from the server. For example: 501, 404, 200.

  • Response content type: The transaction content type. If the client request is for text/html, then the response from the server must be text/html.

  • SSL Protocol: The SSL protocol version used by the clients. For example: SSLv3.

  • SSL Cipher Strength: The cipher strength based on the SSL certificate key size such as high, medium, and low.

  • SSL Key Strength: The SSL cipher strength is calculated from the SSL certificate key size. The key length defines the SSL algorithm security. For example: 2048

  • SSL Frontend Failure reason: The frontend SSL handshake error message. For example: SSL CLIENTAUTH FAILURE