Dynatrace Ruxit has long provided the ability to detect distributed services (for details, see How does Ruxit detect and name services?). To date, Dynatrace Ruxit has represented distributed services as services that are hosted by multiple processes. Dynatrace Ruxit now enables you to analyze the load distribution, response time spreads, and failure rates of each individual service instance.

To view service instances

  1. Open the Ruxit menu and select Transactions & services.
  2. On the Services page, select a distributed service.
  3. On the service page, click the Details button.
    Service instances
    Notice that the service Details page includes a new Service instances section.
    The example below shows that three different service instances were detected during the observed timeframe.
    Service instances
  4. Expand the Service instances section to view the details.

Analyze service-instance metrics

The new Service instances section includes an entry for each service instance that currently exists (or existed during the analysis timeframe). This section is similar to the Top web requests section in that it shows Response timeFailure rate, and load metrics (CPU vs. total time consumption) for each instance detected during the selected Analysis timeframe.

Service instances

Click an individual service instance to display instance-specific Response timeFailure rate, and load metrics (CPU vs. total time consumption). This enables you to understand if a spike in the overall service response time is occurring on all instances or only a single instance.

In the example below, note that the load isn’t distributed equally across all ElasticSearch cluster nodes. For some reason, the first node processes nearly all requests (96.4 requests per minute)….

Service instances

…while the third node in the list processes almost no requests (0.97 requests per minute).

Service instances

When you encounter such differences in response time between nodes, click Review response time hotspots to analyze the hotspots on each node. The example below shows Response time analysis for a single instance (note the node name for the instance is listed beneath the page title).

Service instances

You can follow this same approach to analyze Failure rate (number of errors on an instance).

Instance breakdown for requests

You can analyze request types across instances in the same way you analyze services. Instance breakdowns are available for each request type. As you can see on the example Web request details page below, this request was only executed on a single node. The other two nodes aren’t processing this request.

Service instances

Know which instances make calls to other services

Another interesting bit of insight you get with service-instance analysis is the ability to know from which instance a particular call originates. To achieve this we’ve introduced an instance breakdown to the service Backtrace page. Notice the new Instances tab in the example below. Here you can see not only which service call triggered a particular DB SQL, but also which service instances included the call and how evenly the calls were distributed across instances.

Service instances