This is the second of the ‘K’ analysis posts and this post will cover the ‘Server-Telemetry’ log entry in the VizQL Server logs. You will find this in the same VizQL log location, but with the K tag of “server-telemetry”.
Ok, we understood and have started using the ‘qp-batch-summary’ log entry, but we want more, we want to find out everything about our workbooks… and we can…
Firstly, the Server Telemetry is the summary of a workbook, so the number of panes in a dashboard, the number of marks, tooltips, filters, etc… but it also can give us the usage of our dashboards, which can be used to form behaviour analysis of your users. Yes, thats right, I said behaviour analysis. We can map the usage of our dashboards to show how our users interact with our content. This means we can either; a) pick up bad behaviour, such as using Tableau Server to download large amounts of data or bizarre filtering. b) see if content is not being used as intended, for example filters not being used or frequently being changed on initial load, meaning a change to the dashboard could be required. c) know ahead of time what a user likes to see and use in a dashboard and give that information to your desktop developer.
I am lucky enough to have a large user base and access to the basic HR data, so I can map geography, language, job type and even gender to dashboard usage to build a profile my users. This means that I can tell what (for example) a male VP in Singapore will want in a dashboard design before the requirement lands in the inbox.
So what data can I get?
Lets look at the main summary information first. I have put the top bits of information below and I have grouped them by their category.
- Device pixel ratio
- Annotation count
- Custom shape count
- Encoding count
- Filterfield count
- Mark count
- Mark label count
- Pane count
- Text Mark count
- Tooltip count
- Load workbook from file (count, min, max, total)
- Parsing workbook (count, min, max, total)
- Process query batch (count, min, max, total time ms)
- Process query (count, min, max, total time ms)
- Bootstrap session (count, min max, total time ms)
- Connect data sources (count, min , max, total time ms)
- Connect (count, min, max, total time ms)
Note: this is not everything, but is all of the main things that I use in my views. I use the above to identify content with a large number of filters, data source connections or long running queries in a number of views. To also a good place to get information when dealing with a user who has a problem as it is easy to get all of the facts and figures straight away. Along with these pieces of information you get some identifiers so that you can tie these to users, content, etc..
- VizQL session ID
- Workbook names
- Sheet/View names
- Device Type
What about the golden ‘behavioural analysis’?
Here is the majority of what is available. It can be quite daunting, but it is most actions a user can do, including the web edit actions.
So what can we do from here?
I’m sure you want to see something based on this data so I have quickly created a view to display webedit usage for a single session. A lot of service issues can be caused by users who abuse this functionality, so being able to track and monitor this can be really helpful. A tip for this type of view is to remember how sessions work in Tableau Server. A session can be reused and a user can have multiple sessions, so use sessions and username in your detail or index computation to make sure it takes this into account.
With this you can see a user who was was editing a view. You can see the order of the interactions and when they occurred. Ultimately the user reverted their changes and didn’t save, but this shows what they did and how they did it. More information than this is available, but unfortunately I cannot publish it due to work restrictions (I will have to get permission first).
Anyway, this is it for now, I will endeavour to share some other views I have created in the not too distant future.