Analyze Every Trace, Every Call, Every Service

Analyze Every Trace, Every Call, Every Service

    If you’re involved in troubleshooting or optimizing application performance, your life just go much easier with Instana’s newly released Analyze capabilities. And the best part… you don’t have to pay any extra fees to use our analytics capabilities, so you can benefit from them immediately if you are already an Instana customer.

Troubleshooting and Optimizing All the Microservices

In our last significant release we introduced Application Perspectives – the ability to create dynamic application definitions that continuously update as you release new software and scale your environment. Along with this functionality, we delivered a set of curated dashboards that are used to quickly identify any requests that are slow or throwing errors.

In this release you have 2 primary ways of getting to the Analyze screens.

  1. You can drill down from an Application Perspectives dashboard to Analyze traces or calls.

    Benefit: The Analyze screen is already pre-filtered using the context of the Application Perspective, Service, Service Endpoint, Trace, Call, Error Message, Database Call, etc.
  2. You can select the top level Analyze menu item to begin your analysis with the complete data set contained within Instana.

    Benefit: This is the perfect place to search for optimization opportunities without being limited to any given portion of the data set.

What are Traces and Calls?

You need to understand the concept of traces and calls in order to take full advantage of the data within Instana and solve difficult performance problems.

Quoting the Instana documentation
… “A trace is the sequence of synchronous and asynchronous calls between service endpoints. Services talk to each other and deliver a result for a user request. Transforming data in a data flow can involve many services.”

“A call describes an activity within a monitored process, typically a request between two services. A trace is composed of one or more calls. A call is composed of either one or two spans:

  • entry span: For example an HTTP request from an uninstrumented process to an instrumented process.
  • exit span: For example a database call from an instrumented process to a database (databases are not instrumented).
  • exit + entry span pair: For example an HTTP request from an instrumented process to another instrumented process. There will be an exit span for the client process and an entry span for the process serving the response.
  • intermediate span: For example custom spans added via the SDK, instrumented in-process caching or instrumented view technologies.”

Troubleshooting Performance Problems – From Application Perspective to Analyze

Application Perspectives offers a set of curated dashboards that make it easy for anyone to identify problematic services, endpoints, traces, or calls. When you’ve identified a problem you can immediately jump to Analyze to explore the traces and calls in the exact context you drilled down from. The video clip below shows an example of this type of workflow.

Figure 1: Video showing in-context drill down from Application Perspectives to Analyze

Application and Service Performance Optimization via Analyze

SRE’s, Developers, and DevOps are all interested in finding opportunities to optimize the services they write or support. Historically, the hard part has been identifying opportunities to make improvements in an easy and focused manner. Most monitoring tools have so much data contained within that it’s hard to filter out the noise to find the interesting signal contained within.

If you’re responsible for identifying opportunities for performance optimization, meet your new best friend.

Instana Analyze Filter Data Set

Figure 2: Extensive filtering capabilities enable deep analysis of complete data set

As you can see above, exploring the performance of every application, service, endpoint, request type, etc. is as simple as finding a place to stay on Airbnb. You’ll find an extensive selection of filters located above the Results section of the Analyze screen. From there you can filter by Application, Service, Endpoint, Type, Technology, Latency, Erroneous, or More – which gives you access to every tag available within Instana.

Instana Analyze Optimize

Figure 3: Charting capability within Analyze for both traces and calls

This powerful set of filters allows you to identify traces or calls in whatever manner you need to accomplish your goal. For example, I can set my filters to:

        call.type = Database
        call.latency > 1000 ms
        Grouped By = call.database.statement

The result is that I see a grouped list of every unique database query that takes longer than 1000ms to execute across all of my services. This list is linked to the underlying data so you can click each query to drill down and explore each statement in context of the associated trace.

Instana Analyze Filter Slow Database Calls

Figure 4: Filters applied within Analyze to find database queries that require optimization

If I’m interested in finding slow HTTP requests I can set my filters for the following:

        call.type = Http
        call.latency > 5000
        Grouped By =

</a><a href="" class="sp-lightbox"><img src="" style="border: 1px solid DarkSlateGray;" alt="Instana Analyze Filter Slow HTTP Calls" width="100%" height="auto" class="alignnone" /></a>

Figure 5: Filters applied within Analyze to find Http calls that require optimization

The possibilities are endless. With Instana’s new Analyze capability for traces and calls you have infinite flexibility to explore the data within Instana and can easily identify optimization opportunities in the applications and services that you care about. Try it in your own environment or click "Try Instana" at the top of this page to start your free trial today.

Play with Instana’s APM Observability Sandbox

Engineering, Product
At Instana we appreciate, contribute, and extensively make use of open source projects like Kafka, ClickHouse, Elasticsearch, CockroachDB, and many others. In this post, I would like to share an outstanding team...
Developer, Product, Thought Leadership
In my last blog post, I talked about the history and rapid adoption of the OpenTelemetry project. Today we discuss the progress made in terms of end-to-end compatibility between distributed tracing with...
Developer, Thought Leadership
In the past few years, distributed tracing has emerged in the global DevOps consciousness as an indispensable tool in the microservices arsenal. In April 2019, the open source observability community rose to...

Start your FREE TRIAL today!

Instana, an IBM company, provides an Enterprise Observability Platform with automated application monitoring capabilities to businesses operating complex, modern, cloud-native applications no matter where they reside – on-premises or in public and private clouds, including mobile devices or IBM Z.

Control hybrid modern applications with Instana’s AI-powered discovery of deep contextual dependencies inside hybrid applications. Instana also gives visibility into development pipelines to help enable closed-loop DevOps automation.

This provides actionable feedback needed for clients as they to optimize application performance, enable innovation and mitigate risk, helping Dev+Ops add value and efficiency to software delivery pipelines while meeting their service and business level objectives.

For further information, please visit