Looker Performance Optimization With Henry

The number and complexity of LookML models has a lot to do with the responsiveness of Looker, as well as its usability. Every time the browser renders a screen, it downloads the list of models from Looker. Similarly when the browser renders an explore it downloads the list of attributes - measures and dimensions. When verifying that content is not broken, the complete set of projects, models, and attributes must be analyzed and compared to what is called for in the dashboard, look, or report. LookML models with fewer elements and less complexity improve the performance of the LookML server. Having fewer models and attributes allows users to find what they are looking for more easily.

There is a tendency to build more and more LookML as projects start and stop and different initiatives are undertaken in an enterprise. Once built, LookML rarely gets retired. It is difficult to know what is actually in use and what is “cruft” that has built up over time.

This series introduces Henry, a community supported open source tool that analyzes the history of queries run in Looker. That data is used to identify the projects, models, explores, and attributes that are not actually in use. Henry then lists these as candidates for being hidden or even deleted.

Henry is introduced in five short videos:

 

Episode 1 covers the installation of Henry. The video walks through the process of installing Henry in a Linux environment where python3 is available. The same instructions should work fine for WSL (Windows Services for Linux) environments and in MacOS. This video also covers how to get API credentials from Looker.

Episode 2 explains how to run Henry and use the “pulse” command. The pulse command takes the “pulse” of a Looker installation, reporting information about failed schedules, dashboards with slow queries, dashboards with failing queries, and enabled legacy features. Most importantly it tests all the configured data sources. If a data source is not working properly and has not been working for some time, it is a very strong indication that the associated LookML is not in use.

Episode 3 uses the “analyze projects” command to see which LookML projects have properly configured Git repositories. If Git is properly configured, the LookML can be easily restored. If Git is not properly configured, the LookML needs to be backed up carefully before deletion or modification.

Episode 4 illustrates the “analyze models” and “vacuum models” commands. These commands show which explores are not in use and can be hidden or deleted.

Episode 5 covers the “analyze explores” and “vacuum explores” commands, which are used to see the unused measures and dimensions which are candidates for hiding or deleting.

Using the results of these commands, it is easy to see what LookML is actually in use. Then the LookML can be pared down by either deleting the LookML element or using the hidden: true flag on the element, resulting in a more rewarding Looker experience.

 

The Henry tool is not officially supported by Google, but is community supported.

Version history
Last update:
a week ago
Updated by: