Tableau Performance Tips #1 : Tableau Performance Recording

In this article we will discover how to diagnose your performances with the Tableau performance recording. Both Tableau Desktop and Tableau Server can use the performance recorder.
We will learn :

  • what performance informations can be retrieved from the performance recorder dashboard
  • how you can customized it to even better understand where your performance issues come from.

Let’s start with the Performance Recorder of Tableau Desktop

To start a performance recording session move to the menu Help > Settings and Performance > Start Performance Recording.
As you figure out Tableau Desktop will start to write performance informations from the moment you start the performance recording session.

You will be able to stop the performance recording session by returning to the same menu and click on Stop Performance Recording

Between the Start and the Stop, all actions you will made will be recorded :

  • open a workbook/dashboard,
  • ask for refresh the data,
  • clic once or several times on a dashboard

When you stop the session, tableau will also launch the performance dashboard template and feed it with the recorded data. You will then have the performance recorded session as a tableau dashboard ready to use.

My advice is to begin with a minimal scenario: just one click on a element in the dashboard that will generate some actions. Stop the recording just after that and see the result in the performance dashboard. It will appears automatically a small time after you stop the recording.

Be also very cautious with the cache of Tableau Desktop : you won’t see the same events if actions you have recorded are in cache or not. If you want to avoid the cache, click on an element that will filter others data you had never choose before. You can also close you desktop and start it again to be sure the cache is cleared. Asking the refresh of the datasource can also clear the cache.

Tableau Desktop : Performance recording Dashboard n°1

The upper part , the timeline (circled in blue) is for me the most interesting part. It give you the vision of the sequence of queries and other steps. This is very important to understand if some features designed in the dashboard are launched in parallel or sequentially. The gant diagram is also the only one that gave you the total time of the session.

The middle part, the events sorted by elapsed time (circled in red) , are not so important (I think), but it give you a quick vision of the longest queries. To be honnest I often remove this sheet from the performance dashboard to increase space for the other sheets.

The last part (circled in green) is the query itself when you select a green bar in the other views (gant or top events). The language displayed in the query view depend of the datasource : for direct datasource to a database you will have SQL. But for tableau server shared datasource, you will have xml (much harder to understand)

The timeline view : some issues in the gant

As I said, the timeline gant view is the most interesting so let’s leave the dashboard and move to the timeline view.
There is unfortunately some drawbacks in the design of this performance view :

The first problem you will see is the unit range for the time axis : it is a number of second from midnight. Not very readable !

The second issue come from the order of columns that impose a sort and does not reflect the real order of events

The first workaround

To improve the time axis display I created a calculated field using this formula :

[Start Time]-{fixed NULL: min([Start Time])}

You can also add filter elements in the context : right click on the element and choose « Add to Context ».

This way you time axis will start from 0 and you will read the durations more easily.

The second workaround

The second change to do, in order to improve the performance timeline view, is to move the column named « Start Index » as the first column. By doing this you will have the gant view display with the real order of events

conclusion

In conclusion, the performance recording and the dashboard associated is the foundation to diagnose Tableau performance issues. Stay simple with your test scenario. Always look at the queries to better understand what’s happened. Wil will discover the links between your physical/logical design, the features included insides your dashboards and views and the final SQL generated by tableau.

This tool will help you a lot, it worth to dig in.