Timeline Viewer Concepts

Last modified: 01 October 2021

As mentioned in Basic Concepts, the main idea behind timeline profiling is collecting temporal call stack and thread state data. Thus, it allows you not only evaluate the performance of certain methods but also get detailed info about how performance flaws are distributed in time. This is extremely helpful in analyzing UI freezes, sync delays, excessive garbage collections, file I/O, and other interval events.

Timeline Viewer UI is tailored for convenient work with the event timeline: It is a set of filters and diagrams that allows you to filter and visualize temporal data.

Timeline concepts 1

Analysis workflow in Timeline Viewer is quite simple:

  1. To start, in Events, select any event in your application you are interested in. This could be the entire timeline data, garbage collection time intervals, memory allocation data, time intervals where your application worked with SQL servers, and so on.

  2. Slice and dice the data using filters (Filters, Timeline, and Call Stack can apply filtering by time, thread, or particular method). The result of filters' work is always a set of time intervals or point events selected by a specific condition. For example, you can ask the viewer to "Select all time intervals where the Main thread is running" or "Select all time intervals where MyMethod() works".

  3. View and analyze the filtered data.

Here we come to a couple of concepts you need to know for successful data analysis in Timeline Viewer.