Monitor View Load Times Using the Activity Log

Making sure that views render optimally for users is an important part of being an admin. Using the Activity Log, you can identify performance concerns in real time and address issues that come up to keep the site operating smoothly.

This topic describes how admins can use the vizql_http_request event type to understand view load times and troubleshoot performance bottlenecks.

Prerequisites

To monitor view load times, your Activity Log data must be in a structured and queryable format. Make sure that these prerequisites are met before you continue:

  • Activity Log configuration: Set up Activity Log to write log files to your AWS S3 bucket.

  • Data import: Import the log files generated by Activity Log into a monitoring tool, such as Splunk or Amazon EventBridge. Alternatively, you can import them into a cloud data warehouse like Snowflake or Google BigQuery. The goal is to get your data into a format that you can easily query and analyze.

Note: The process of importing your Activity Log data into a data store isn't covered in this topic. For detailed instructions, refer to Set Up Activity Log and the documentation for your chosen data platform.

Getting started

So where do we begin? You can monitor view performance by focusing on the initial load of a dashboard or view, known as the “bootstrap session” event. This event typically captures the bulk of the time required to render the view, giving you a clear indication of how long it took to load.

To monitor bootstrap events:

  1. Open the monitoring tool you’ve set up, such as Splunk or Amazon EventBridge.

  2. Filter on the these values:

    1. eventType = vizql_http_request.

    2. endpointName = bootstrapSession.

    3. eventOutcome = success.

  3. In the results, find the duration field.

The duration field for vizql_http_request events represents the amount of time the operation took to complete, in milliseconds. This helps you ‌track and analyze the initial load times of your Tableau views.

Tip: Not sure where to start? Use the “Dashboard Load Times” dashboard included in the Admin Insights Starter workbook. This dashboard displays load times and performance ratings for content, helping you identify problematic views. You can then use Activity Log to see which users are experiencing issues in real time and how workbook revisions might be impacting performance. For more information, see Use Admin Insights to Create Custom Views.

Monitor for errors

In addition to performance, you can use bootstrap session data to see if users encounter errors while viewing content. To see these errors, search for the eventOutcome and eventOutcomeReason fields. These fields are useful for setting up monitoring alerts and providing a starting point for investigations. For example, if users report an error when viewing a dashboard, you can look at the bootstrap session to see historical user interactions. This helps you pinpoint what triggered the error and determine when the issue started. Knowing this information is important for troubleshooting the root cause of problems.

  • eventOutcome: This field records the high-level success or failure category of each operation (success, failure, client_error, or internal_error).

  • eventOutcomeReason: This field provides more detailed information about what went wrong, often recording the HTTP status code that describes the error.

To monitor for errors:

  1. Open the monitoring tool you’ve set up, such as Splunk or Amazon EventBridge.

  2. Filter on these values:

    1. eventType = vizql_http_request.

    2. endpointName = bootstrapSession.

    3. eventOutcome != success.

  3. In the results, review the eventOutcomeReason for more details about the error.

Troubleshoot performance issues

There are many factors that can contribute to performance issues, making them difficult to investigate. However, you can take a few approaches to simplify the process. This section provides an overview of common ways to troubleshoot workbook performance using the bootstrap session. To get started, determine if the issue is isolated to one workbook or a few. Then, follow the instructions in the related section.

Troubleshoot a single workbook

Use these steps if the performance concern is with a single workbook.

  1. Identify the workbook revisions:

    Check if the performance issue was introduced with a new workbook revision. You can do this by reviewing the workbookRevision attribute in the bootstrap session. This process may require comparing user visits to previous versions of the workbook.

    If a new revision is causing the performance issue, contact the workbook owner and work with them to improve the design.

  2. Check for user-specific issues:

    If the performance issue isn't specific to a workbook revision, determine if it affects only certain users. You can do this by looking at the requestUri and actorUserLuid attributes in the bootstrap session. The requestUri attribute provides the URL of the workbook or view being accessed, and the actorUserLuid attribute provides the user accessing the view. Using both can help you distinguish individual user sessions.

    If the issue is user-specific, look for similarities across users. For example, it may be due to a customized view those users are accessing or certain ways they interact with the view. You will need to parse the requestURI attribute to identify the specific views.

  3. Review row-level security:

    If some users have trouble with performance, and custom views aren't the cause, the problem might be related to row-level security (RLS) implemented in the workbook. RLS can significantly impact performance, especially if the security rules are complex or if the dataset is large. For more information, see Overview of Row-Level Security Options in Tableau.

Troubleshoot a subset of workbooks

Use these steps if the performance concern is with a subset of workbooks.

  1. Identify common data sources:

    Look for commonalities in the data sources used by the affected workbooks.

    If the affected workbooks are using live connections to a database server or cloud data warehouse, the performance issue might be with the live connection.

    If the affected workbooks are using data extracts, check if there were recent updates to them. You can use the hist_publish_datasource event type in Activity Log or the TS Events data source in Admin Insights to identify recent changes.

  2. Review data source performance:

    For live connections, monitor the performance of the database server or cloud data warehouse. Check for any recent changes or issues on the server side. This step is performed outside of Tableau.

    For extracted data sources, review the extraction process and any recent updates. Make sure that the extraction is optimized and that the data is not excessively large or complex. For more information, see Create Extracts on the Web .

Important considerations

Using Activity Log to monitor view load times is a great way to stay on top of dashboard performance and user engagement. However, not every dashboard or view rendering operation generates a bootstrap session event. Here are some scenarios where a bootstrap session event won’t be required:

  • Cached dashboards: If the dashboard or view is retrieved from a previous cache.

  • Tab switching: If a user switches tabs within the same workbook, and the content for the new tab is loaded or cached.

By using the vizql_http_request event type and focusing on bootstrapSession events, you can gain valuable insights into view performance and proactively address issues.

Thanks for your feedback!Your feedback has been successfully submitted. Thank you!