home User Guide Getting Started Help Center Documentation Community Training Certification
menu
close
settings
Looker keyboard_arrow_down
language keyboard_arrow_down
English
Français
Deutsch
日本語
search
print
Creating Looker usage reports with System Activity Explores

Before enabling System Activity on a customer-hosted Looker deployment with a MySQL backend, verify that you have properly set up the user for the backend database. Specifically, you must perform the step to grant all on looker_tmp.* to '<DB_username>'@'%'; before you enable the System Activity feature. See the procedure on the Migrating the Looker Backend Database to MySQL documentation page.

Looker admins and users who have been granted the see_system_activity permission have access to Looker’s System Activity Explores:

The System Activity Explores connect to Looker’s underlying application database. They show information about your Looker instance, including Looks and dashboards saved on your instance, user information, historical query information, and instance performance statistics. This data can be useful for monitoring and auditing purposes.

By default, System Activity data is stored in Looker’s internal database. In this configuration, Looker stores a maximum of 90 days of historical query and event data.

The text in filters run by users is accessible in System Activity and can be viewed by any user who has permission to view the System Activity model.

Take action: Modify who has view access to the System Activity model. Looker admins have access to this model by default. Non-admin users can be granted access to the System Activity model if they are given the see_system_activity permission.

System Activity dashboards and Explores are restricted in the number of concurrent queries that can be run. This restriction may increase loading times for System Activity Explores.

Chat Team Tip: Time-based data in System Activity is stored in the Looker System time zone. See the Using Time Zone Settings documentation page for more information.

System Activity Explores

These are the System Activity Explores:

Explore Name Description
Content Usage Data about Look and dashboard usage, including frequency of views, favoriting, scheduling, embedding, and access via the API. Also includes details about individual Looks and dashboards.
DB Connection Details about database connections. Includes information about users who have access to the database connections.
Dashboard Details about all dashboards and dashboard elements. Includes information about Looks, queries, roles, users, and folders associated with dashboards.
Dashboard Performance Performance and historical data about dashboards.
Event Information about historical events within Looker, including the name, type, and frequency of each event. Includes information about groups and users connected to the events.
Event Attribute Information about the attributes that make up events. Includes the data in the Event Explore, and adds attribute information.
Field Usage LookML fields and the number of times used.
Folder Information about all folders, the content stored in each folder, and the users who have access to each folder.
Group Listing of groups and details about those groups, including parent and child groups, and users and roles that belong to each group.
History Details about all queries run in the previous 90 days.
Look Details about all Looks. Includes information about dashboards, queries, users, and folders associated with Looks.
Merge Query Information about merged queries, including fields and other elements of both the source and the merged queries.
PDT Builds Details about PDT builds, including time taken to finish builds, and the connection and model the PDTs are part of.
PDT Event Log Information about historical events related to PDTs, including PDT rebuilds and errors.
Role Looker roles and the model and permissions sets that make up the roles.
SQL Query SQL queries that have been run, including how recently and frequently, and details about users who have run them.
Scheduled Plan Information about all scheduled data deliveries, including both previously scheduled jobs and currently scheduled jobs. Includes data about the dashboards, Looks, queries, folders, and users associated with scheduled data deliveries.
User Details about each user, including historical queries run, and the content and folders to which they have access.

See the Using the System Activity Explores section below for some examples of common uses for the Content Usage, Dashboard, Event, Event Attribute, History, Look, Merge Query, PDT Builds, PDT Event Log, SQL Query, Scheduled Plan, and User Explores.

Using the System Activity Explores

Below are some examples of how you can use some of the Explores in System Activity, along with the answers to some common questions. You can access the example Explores in this section by replacing <instance_name.looker.com> in the example URLs with the address of your Looker instance.

Content Usage

The Content Usage Explore in System Activity provides information about Look and dashboard usage, including frequency of views, favoriting, scheduling, and access via the API. It also includes details about individual Looks and dashboards.

Below are some common questions about using the Content Usage Explore:

What is the most viewed content?

You can use the Content Usage Explore to find the most viewed content on your instance:

  1. Select the Content ID, Content Title, Content Type, and View Total fields from the Content Usage view.
  2. Sort in descending order on the View Total field.

How many times has a Look or dashboard been favorited?

You can use the Content Usage Explore to find out how many times a particular Look or dashboard has been favorited. For example, to find out how many times a dashboard with the ID 20 has been favorited:

  1. Add a filter on Content ID from the Content Usage view, and set the filter value to the dashboard ID for your dashboard, in this case 20.
  2. Select the Favorites Total field from Content Usage, along with any other desired fields.

What filters are used by popular Looks and dashboards?

You can use the Content Usage Explore to find the most popular Looks or dashboards on your instance. You can then use the History Explore to identify the filters used by popular Looks or dashboards. To find the most popular Looks or dashboards:

  1. In the Content Usage Explore, select Content ID, Content Title, and Content Type from the Content Usage view.
  2. Add a filter on Content Type from the Content Usage view, and set the filter value to dashboard OR look.
  3. Select View Total from Content Usage. You can also select fields like Favorites Total, Schedule Total, API Total, and Embed Total from the Content Usage view.
  4. Sort the results in descending order on View Total to list the most popular content first.
  5. You can also add a filter on the Days Since Last Accessed field from the Content Usage view to limit the data to a specific length of time. For example, you can limit the data you view to the last 30 days by setting the filter value to is less than 30.

Then, you can use the History Explore to find the filters used in a specific Look or dashboard:

  1. In the History Explore, filter on the ID field from either the Dashboard view or the Look view, and enter the IDs for the dashboards or Looks you identified using the Content Usage Explore.
  2. Select Filters from the Query view to return a list of filters used by the dashboards or Looks you are filtering on.

Dashboard

The Dashboard Explore includes details about dashboards and dashboard elements, including Looks, queries, roles, users, and folders associated with dashboards.

Below are some common questions about using the Dashboard Explore:

Which dashboards use multiple Explores?

You can use the Dashboard Explore to identify dashboards that use multiple Explores:

  1. Select the ID (User-defined only), Title, and Link fields from the Dashboard view.
  2. Select Count of Explores from the Query view.
  3. To display only dashboards with multiple Explores, add a filter on Count of Explores from Query and set the filter value to greater than 1.
  4. You can also add a filter on Deleted Date from Dashboard, and set the filter value to is null to filter out deleted dashboards.
https://<instance_name.looker.com>/explore/system__activity/dashboard?fields=dashboard.id,dashboard.link,query.count_of_explores&f[query.count_of_explores]=%3E1&f[dashboard.deleted_date]=NULL&sorts=dashboard.id&limit=500

You can then navigate to a dashboard to view its tiles and make changes by selecting the link in the Link field from the Dashboard view. Or, you can use the Dashboard Explore to view a list of the Explores used in a particular dashboard:

  1. Filter on the ID field from the Dashboard view, and set the filter value to the ID for the dashboard.
  2. Select Title from Dashboard Element to get the tile titles.
  3. Select Explore and Model from Query to get the Explore and model names for each tile.

How many dashboards run on load?

The Run on Load setting for dashboards can affect performance, particuarly for dashboards that are intended to be filtered on. You can use the Dashboard Explore to view a count of how many dashboards in your instance are configured to Run on Load:

  1. Select Count from the Dashboard view.
  2. Add a filter on Run on Load (Yes / No), setting its value to Yes.
https://<instance_name.looker.com>/explore/system__activity/dashboard?fields=dashboard.count&f[dashboard.run_on_load]=Yes&limit=500&column_limit=50

How many frequently refreshed dashboards are there?

Similar to Run on Load, the Auto-Refresh setting can affect Looker performance if you have a large number of dashboards that auto-refresh frequently. This Explore shows the number of dashboards that are set to auto-refresh and how many of that number refresh at each time interval:

  1. Select Refresh Interval and Count from the Dashboard view.
  2. Add a filter on Refresh Interval from Dashboard, and set the filter value to is not null.
https://<instance_name.looker.com>/explore/system__activity/dashboard?fields=dashboard.refresh_interval,dashboard.count&f[dashboard.refresh_interval]=-NULL&sorts=dashboard.count+desc&limit=500&column_limit=50

Event

The Event Explore includes information about historical events within Looker, including the name, type, and frequency of each event. This Explore also includes information about groups and users connected to the events.

Below are some common uses of the Event Explore:

See the Looker Events documentation page for more information about viewing events and common event attributes, and for a list of event types.

How can I find and categorize API requests?

You can find all the API requests that have been made and categorize them using the Event Explore:

  1. Select the Name and Category fields from the Event view.
  2. Add a filter on Is API Call (Yes / No), and set the filter value to Yes.
  3. You can also select fields like Created Date from Event, and Name from User, for information about specific API requests.
https://<instance_name.looker.com>/explore/system__activity/event?fields=event.created_date,event.name,event.category,user.name&f[event.is_api_call]=Yes&sorts=event.name&limit=500

Is there a way to investigate content updates?

You can use the Event Explore to investigate content updates by filtering on events that include the word update:

  1. Select the Name from the Event view.
  2. Add a filter on the Name field from the Event view, and set the filter value to contains update.
  3. You can also select other fields to provide more information about each content update, such as Created Time from Event, and ID from User.
https://<instance_name.looker.com>/explore/system__activity/event?fields=event.name,user.id,event.created_time&f[event.name]=%25update%25&sorts=event.created_time+desc&limit=500

How do I view login events?

You can use the Event Explore to determine who has logged in to the system with login events. For example:

  1. Add a filter on the Name field from the Event view, and set the filter value to login.
  2. Select the ID and Name from the User view.
  3. Select Created Time from the Event view.

Event Attribute

The Event Attribute Explore contains the data in the Event Explore and provides additional information about the attributes that make up events.

Below are some common uses of the Event Attribute Explore:

For more information about viewing events, common event attributes, and a list of event types, see the Looker Events documentation page.

How do I audit permission changes?

You can use the Event Attribute Explore to audit permission changes. For example, you can find out when a permission was changed and who changed it:

  1. Select Created Time and Name from the Event view for the time the change was made and the type of event.
  2. Select Name and Value from Event Attribute to return information about the type of change made and either the users whose permissions were changed or the specific permissions that were changed.
  3. Select ID and any other desired fields from User for information about the user who made the change.
  4. Filter on Name in the Event view, setting the value to user_permission_elevation.
https://<instance_name.looker.com>/explore/system__activity/event_attribute?fields=event.created_time,user.id,user.name,event_attribute.name,event_attribute.value&f[event.name]=%22user_permission_elevation%22&sorts=event.created_time+desc&limit=500

How do I track when Labs features are turned on?

You can use the Event Attribute Explore to track when Labs features are turned on. For example, select the following fields:

  1. Select Created Time from the Event field.
  2. Select Name and Value from the Event Attribute field.
  3. Add a filter on Name from Event, and set the filter value to update_labs_feature.
  4. You can also add fields like ID or Name from User to view information about the user who turned on a Labs feature.

In this example, the name of the Labs feature that has been turned on or off is shown in the Value field of Event Attribute when Name from Event Attribute has the value labs_feature_id. When Name from Event Attribute has the value labs_feature_value, the values true and false indicate whether the Labs feature was turned on or off.

https://<instance_name.looker.com>/explore/system__activity/event_attribute?fields=event.created_time,event_attribute.name,event_attribute.value,user.id&f[event.name]=%22update_labs_feature%22&sorts=event.created_time+desc&limit=500

When was a project name changed?

You can use the Event Attribute Explore to see when the name of a project was changed:

  1. Select Created Time and Name from the Event view.
  2. Select Name and Value from Event Attribute.
  3. Add a filter on Name from the Event view, and set the filter value to rename_project_file.
https://<instance_name.looker.com>/explore/system__activity/event_attribute?fields=event.created_time,event.name,event_attribute.name,event_attribute.value&f[event.name]=%22rename_project_file%22&sorts=event.created_time+desc&limit=500&query_timezone=America%2FLos_Angeles&vis=%7B%7D&filter_config=%7B%22event.name%22%3A%5B%7B%22type%22%3A%22%3D%22%2C%22values%22%3A%5B%7B%22constant%22%3A%22rename_project_file%22%7D%2C%7B%7D%5D%2C%22id%22%3A0%2C%22error%22%3Afalse%7D%5D%7D&origin=share-expanded

History

The History Explore provides a record of individual queries. It can be useful for troubleshooting, as it provides details about all the queries run on your instance in the past 90 days.

Below are some common questions about using the History Explore:

What are all the models used by a dashboard?

You can use the History Explore to find all the models used by a dashboard. As an example, this could help identify the models for which a user needs permissions when that user is unable to see the data on a dashboard.

  1. Select ID (Inclusive) from the Dashboard view.
  2. Select Model and Count from the Query view.
  3. Filter on ID (Inclusive), entering the dashboard ID for the dashboard you wish to filter on.

In the example URL below, you can replace the dashboard ID 123 in the filter element f[history.real_dash_id]=123 with the ID for the dashboard you want to filter on:

https://<instance_name.looker.com>/explore/system__activity/history?fields=history.real_dash_id,query.model,query.count&f[history.real_dash_id]=123&sorts=history.real_dash_id+desc&limit=500

How can I identify long-running queries?

Suppose you want to create alerts for long-running queries. You can use the History Explore to, for example, find the queries that take the longest to run:

  1. Select ID and Link from Query.
  2. Select Average Runtime in Seconds and Query Run Count from History to view the average length of time each query ran and how many times the query has been run.
  3. You can add a filter on Completed Date from History, and set the filter value to a timeframe like is in the past 7 days to limit the results that are displayed.
  4. Add a filter on Is Single Query (Yes / No) and set its value to is Yes to exclude merge queries from the results.
  5. You can display only queries with a runtime that is above a certain threshold, such as 5 minutes; to do this, you can filter on Average Runtime in Seconds and set the filter value to is greater than 300.
  6. Sort in descending order on Average Runtime in Seconds from History to list queries with the longest average runtimes first.

You can then save the query as a Look and create an alert to notify you if there are queries with runtimes that exceed the threshold you specify.

In the example URL below, you change the timeframe for which results are displayed by replacing 7+days in the filter element f[history.created_date]=7+days with the desired filter value. You can also change the value of the filter on Average Runtime in Seconds by replacing is greater than 300 with the desired number of seconds in the filter element f[history.average_runtime]=%3E300.

https://<instance_name.looker.com>/explore/system__activity/history?fields=query.id,history.average_runtime,history.query_run_count,query.link&f[history.is_single_query]=Yes&f[history.created_date]=7+days&f[history.average_runtime]=%3E300&sorts=history.average_runtime+desc&limit=500

When was the last time someone used SQL Runner?

To determine the last time a specific user ran a SQL Runner query using the History Explore:

  1. Select Last Run Time and User ID from the SQL Runner Query view.
  2. Add a filter on User ID from the SQL Runner Query view, and set the filter value to the ID of the user.
https://<instance_name.looker.com>/explore/system__activity/history?fields=sql_query.last_run_time,sql_query.user_id&sorts=sql_query.last_run_time+desc&limit=500&column_limit=50

How can I find queries that were killed by the database?

To find queries that were killed by your database with the History Explore:

  1. Add a filter on Message from History, and set the filter value to contains query killed.
  2. Select Created Date, ID, and Message from History.
  3. Select ID from Query.
https://<instance_name.looker.com>/explore/system__activity/history?fields=history.id,history.created_date,query.id,history.message&f[history.message]=%25query+killed%25&sorts=history.message&limit=500

What is the average runtime for different models on my instance?

The History Explore lists each model that was queried in the last 90 days and shows the average runtime for queries based on those models during the previous 90 days:

  1. Select Model from Query.
  2. Select Average Runtime in Seconds from History.
  3. Add a filter on Result Source from History, and set the filter value to is equal to query.
https://<instance_name.looker.com>/explore/system__activity/history?fields=query.model,history.average_runtime&f[history.result_source]=query&sorts=history.average_runtime+desc&limit=500&column_limit=50

What is the most popular dashboard by query count?

The Dashboard Explore lists the titles of every dashboard accessed in the last 90 days and includes a count of the number of times each of those dashboards was accessed:

  1. Select Title from Dashboard.
  2. Select Query Run Count from History.
  3. Add a filter on Title from Dashboard, and set the filter value to is not null.
https://<instance_name.looker.com>/explore/system__activity/history?fields=dashboard.title,history.query_run_count&f[dashboard.title]=-NULL&sorts=history.query_run_count+desc&limit=500&column_limit=50

Which Explores are most popular with different roles?

This Explore shows how many times an Explore was run by each role on your instance in the previous 90 days:

  1. Select Explore from Query.
  2. Select and pivot on Name from User Role.
  3. Select Query Run Count from History.
  4. Add a filter on Name from User Role, and set the filter value to is not null.
https://<instance_name.looker.com>/explore/system__activity/history?fields=history.query_run_count,query.view,role.name&pivots=role.name&f[role.name]=-NULL&sorts=history.query_run_count+desc+0,role.name&limit=500&column_limit=50

Has anyone queried a specific Explore in the last 90 days?

You can use the History Explore to determine if a specific Explore was used in the last 90 days:

  1. Select Created Date from History.
  2. Select Explore and Link from Query.
  3. Add a filter on Explore from Query, and enter the name of the Explore.

Has anyone used a field from a specific view in the last 90 days?

You can use the History Explore to determine if any fields from a specific view were used in the last 90 days:

  1. Select Created Date from History.
  2. Select Explore and Link from Query.
  3. Filter on Fields Used from Query, enter the name of the view followed by a period — for example, orders. — and select contains for the filter condition. The period in your filter will ensure that your results return fields from only that view and not fields from similarly named views.

In the example URL below, you can replace order%5E_items. in the filter element f[query.formatted_fields]=%25order%5E_items. with the name of the view you want to filter on, followed by a period:

https://<instance_name.looker.com>/explore/system__activity/history?fields=history.created_date,query.view,query.link&f[query.formatted_fields]=%25order%5E_items.%25&sorts=history.created_date+desc&limit=500&column_limit=50

Look

The Look Explore includes details about all Looks, including information about dashboards, queries, users, and folders associated with Looks.

Below are some common questions about using the Look Explore:

Which Looks are shared publicly?

You can use the Look Explore to see which Looks are being shared publicly or have a public URL enabled.

https://<instance_name.looker.com>/explore/system__activity/look?fields=look.id,look.title,look.link&f[look.public]=Yes&limit=500

Who is the author of a specific Look?

To find the author of a specific Look:

  1. Filter on the ID from Look, setting the value to the Look’s ID.
  2. Select ID and Name from User.
  3. You can also select fields like Created Date and Title from Look.

Which Looks have been deleted?

To view a list of all deleted Looks:

  1. Select ID, Title, Link, and Deleted Date from Look.
  2. Add a filter on Deleted Date from Look, and set the filter value to is not null.
https://<instance_name.looker.com>/explore/system__activity/look?fields=look.id,look.title,look.link,look.deleted_date&f[look.deleted_date]=NOT+NULL&sorts=look.title&limit=500&column_limit=50

Merge Query

The Merge Query Explore includes information about merged queries, including fields and other elements of both the source and the merged queries.

You can use the Merge Query Explore to answer questions like the following:

Which Explores are merged most frequently?

You can use the Merge Query Explore to find out which Explores are merged the most often and consider joining the tables for better performance and more features.

  1. Select Explore from Query.
  2. Select Count from Merge Query Source Query.
https://<instance_name.looker.com>/explore/system__activity/merge_query?fields=query.view,merge_query_source_query.count&sorts=merge_query_source_query.count+desc&limit=500&query_timezone=America%2FLos_Angeles&vis=%7B%7D&filter_config=%7B%7D&origin=share-expanded

PDT Builds

The PDT Builds Explore includes information about PDT builds, including time taken to finish builds and the connection and model the PDTs are part of.

Below are some common uses of the PDT Builds Explore:

These queries may take longer to run on instances with many PDTs running concurrently.

How can I see PDT build times?

You can use the PDT Builds Explore to view build times for PDTs. For example, to see PDT build times in the past 2 days:

  1. Add a filter on Start Time from the PDT Builds view and set its value to is in the past 2 days.
  2. Select Start Time, View Name, Connection, Model Name, Elapsed Minutes, and Elapsed Seconds from the PDT Builds view.
https://<instance_name.looker.com>/explore/system__activity/pdt_builds?fields=pdt_builds.start_time,pdt_builds.view_name,pdt_builds.connection,pdt_builds.model_name,pdt_builds.elapsed_minutes,pdt_builds.elapsed_seconds&f[pdt_builds.start_time]=2+days&sorts=pdt_builds.start_time+desc&limit=500

How can I identify long-running PDTs to alert on?

You can use the PDT Builds Explore to identify long-running PDTs. Then, you can save the query as a Look and create an alert to notify you if there are PDTs with build times that exceed the threshold you specify.

For example, to see PDTs with an average build time of more than 30 minutes:

  1. Add a filter on Average Build Time Minutes from the PDT Builds view and set its value to is greater than 30.
  2. Select View Name, Connection, and Average Build Time Minutes from the PDT Builds view.

To change the value of the filter on Average Build Time Minutes from PDT Builds, replace 30 in the filter element f[pdt_builds.average_build_time_minutes]=%3E20 with the desired number of minutes:

https://<instance_name.looker.com>/explore/system__activity/pdt_builds?fields=pdt_builds.view_name,pdt_builds.connection,pdt_builds.average_build_time_minutes&f[pdt_builds.average_build_time_minutes]=%3E30&sorts=pdt_builds.average_build_time_minutes+desc&limit=500

SQL Query

The SQL Query Explore includes information about the SQL queries that have run, including how recently and frequently, and details about users who have run them.

You can use the SQL Query Explore to answer questions like the following:

Which users run the most SQL queries?

You can use the SQL Query Explore to identify the users who run the most SQL Runner queries:

  1. Select ID and Name from User.
  2. Select Count from SQL Runner Query.
  3. Sort in descending order on Count from SQL Runner Query to list users who run the most queries first.
https://<instance_name.looker.com>/explore/system__activity/sql_query?fields=sql_query.count,user.id,user.name&sorts=sql_query.count+desc&limit=500

Scheduled Plan

The Scheduled Plan Explore includes information about all scheduled data deliveries, including both previously scheduled jobs and currently scheduled jobs.

Below are some common questions about using the Scheduled Plan Explore:

How do I view scheduled plans in a consistent time zone?

You can use the Scheduled Plan to view all scheduled plans in a consistent time zone, since System Activity stores time-based data in the System time zone:

  1. Select ID, Name, and Next Runtime from Scheduled Plan to view the next runtime for each scheduled plan in the System time zone.
  2. Select ID and Name from User to see the user who created the schedule.
  3. Filter on Run Once (Yes / No), and set the filter value to No to exclude deliveries that were sent once or sent as a one-time test.
  4. You can also add fields like Cron Schedule and Timezone from the Scheduled Plan view.
https://<instance_name.looker.com>/explore/system__activity/scheduled_plan?fields=scheduled_plan.id,scheduled_plan.name,user.id,scheduled_plan.next_run_time,scheduled_plan.cron_schedule,scheduled_plan.timezone,user.name&f[scheduled_plan.run_once]=No&sorts=scheduled_plan.timezone+desc&limit=500&column_limit=50

At which stage do schedules get stuck?

You can use the Scheduled Plan Explore to identify the stage at which schedules get stuck. For example:

  1. To view the stage at which a specific scheduled job got stuck, filter on ID from Scheduled Job, and set the filter value to the scheduled job’s ID. Select Stage, Scheduled Job ID, and Runtime in Seconds from Scheduled Job Stage.
  2. You can also select Started Time and Completed Time from Scheduled Job Stage.

You can then use the ID and Runtime in Seconds fields to troubleshoot the failed job, based on whether the scheduled job was stuck in, for example, the execute stage or the enqueued for delivery stage.

In the example URL below, you can replace the scheduled job ID 12913 in the filter element &f[scheduled_job.id]=12913 with the ID for the scheduled job you want to filter on:

https://<instance_name.looker.com>/explore/system__activity/scheduled_plan?fields=scheduled_job_stage.stage,scheduled_job_stage.scheduled_job_id,scheduled_job_stage.runtime,scheduled_job_stage.started_time,scheduled_job_stage.completed_time&f[scheduled_job.id]=12913&sorts=scheduled_job_stage.scheduled_job_id+desc&limit=500

How do I find schedule owners?

You can use the Scheduled Plan Explore to find schedule owners:

  1. Select ID and Name from Scheduled Plan.
  2. Select ID and Name from User.
  3. Filter on Run Once (Yes / No), and set the filter value to No to exclude deliveries that were sent once or sent as a one-time test.
  4. To find the owner of a specific schedule, filter on ID from Scheduled Plan, and set the filter value to the ID of that schedule.
https://<instance_name.looker.com>/explore/system__activity/scheduled_plan?fields=scheduled_plan.id,scheduled_plan.name,user.id,user.name&f[scheduled_plan.run_once]=No&sorts=scheduled_plan.id&limit=500

Which scheduled plans run at the same time?

You can use the Scheduled Plan Explore to identify plans that are scheduled to run at the same time:

  1. Select ID, Name, Cron Schedule, and Next Run Time from Scheduled Plan.
  2. Filter on Run Once (Yes / No), and set the filter value to No to exclude deliveries that were sent once or sent as a one-time test.
  3. You can also add a filter on Next Run Time, and set the filter value to is not null to include only existing scheduled deliveries in the results.

You can then change the timing of schedules so that multiple schedules will not run at the same time.

https://<instance_name.looker.com>/explore/system__activity/scheduled_plan?fields=scheduled_plan.id,scheduled_plan.name,scheduled_plan.cron_schedule,scheduled_plan.next_run_time&f[scheduled_job.run_once]=No&f[scheduled_plan.next_run_time]=NOT+NULL&sorts=scheduled_plan.id&limit=500

Which schedules are unlimited?

You can use the Scheduled Plan Explore to find unlimited schedules, or schedules with a row limit of -1:

  1. Filter on Send All Results, and set the value to Yes.
  2. Select ID, Created Time, Finalized Time, and Count from Scheduled Job.
https://<instance_name.looker.com>/explore/system__activity/scheduled_plan?fields=scheduled_job.id,scheduled_job.created_time,scheduled_job.finalized_time,scheduled_job.count&f[scheduled_plan.send_all_results]=Yes&sorts=scheduled_job.created_time+desc&limit=500

Is it possible to view history for more than 50 schedules?

Using the Scheduled Plan Explore, you can view the histories of more than just the 50 schedules that are available to view on the Schedule History admin page. For example:

  1. Select ID from Scheduled Plan.
  2. Select Name from User to see who created each schedule.
  3. Select Cron Schedule from Scheduled Job to see the scheduled delivery time for each scheduled job as a cron string.
  4. Select Type from Scheduled Plan Destination to see the destination type.
  5. Select ID, Status, and Status Detail from Scheduled Job to view the status and any error messages for each scheduled job.
  6. Select Created Time and Finalized Time from Scheduled Job.
  7. Select Runtime in Seconds from Scheduled Job Stage.
  8. You can also select Link from either the Look view or the Dashboard view for a clickable link to the Look or dashboard for a schedule.
  9. To limit results to only a specific timeframe, add a filter on Created Date from Scheduled Job, and set the filter value to the desired length of time, such as is in the past 7 days.
  10. Filter on Run Once (Yes / No), and set the filter value to No to exclude deliveries that were sent once or sent as a one-time test.
https://<instance_name.looker.com>/explore/system__activity/scheduled_plan?fields=scheduled_plan.id,user.name,scheduled_job.cron_schedule,scheduled_plan_destination.type,scheduled_job.id,scheduled_job.status,scheduled_job.status_detail,scheduled_job.created_time,scheduled_job.finalized_time,scheduled_job_stage.runtime,look.link,dashboard.link&f[scheduled_plan.run_once]=No&f[scheduled_job.created_date]=7+days&sorts=scheduled_job.created_time+desc&limit=500

How do I filter results down to a specific set of schedules?

You can use the Scheduled Plan Explore to view only a specific set of schedules by filtering, for example, on specific dashboards, owners, or models. For example, to view a list of schedules based on a specific model, such as thelook:

  1. Add a filter on Model from the Query view, and set the filter value to the name of the model.
  2. Select ID and Name from Scheduled Plan.
  3. Select Name from User to see who created each schedule.
  4. Select Cron Schedule from Scheduled Plan to see the scheduled delivery time for each schedule as a cron string.
  5. You can also select Link from either the Look view or the Dashboard view for a clickable link to the Look or dashboard for a schedule.
  6. Filter on Run Once (Yes / No), and set the filter value to No to exclude deliveries that were sent once or sent as a one-time test.

In the example URL below, you can replace the model name thelook in the filter element f[query.model]=thelook with the name of the model you want to filter on:

https://<instance_name.looker.com>/explore/system__activity/scheduled_plan?fields=scheduled_plan.id,scheduled_plan.name,user.name,scheduled_plan.cron_schedule,look.link,dashboard.link&f[scheduled_plan.run_once]=No&f[query.model]=thelook&sorts=scheduled_plan.id&limit=500

Can error trends be identified across schedules?

Another use case for the Scheduled Plan Explore can be to identify error trends across schedules, such as, for example, finding that SFTP schedules are failing with a specific error message:

  1. Select Created Time, Finalized Time, ID, Status, and Status Detail from Scheduled Job to see a list of scheduled jobs and their statuses and error messages.
  2. Select Stage from Scheduled Job Stage.
  3. Select Type and Format from Scheduled Plan Destination to see the destination type and data format.
  4. Filter on Status from Scheduled Job, and set the filter value to failure to include only scheduled jobs that have failed.
  5. To include results for only a specific destination, filter on the Type field from Scheduled Plan Destination, and set the filter value to the desired destination, such as sftp or email.
https://<instance_name.looker.com>/explore/system__activity/scheduled_plan?fields=scheduled_job.created_time,scheduled_job.finalized_time,scheduled_job.id,scheduled_job.status,scheduled_job.status_detail,scheduled_job_stage.stage,scheduled_plan_destination.type,scheduled_plan_destination.format&f[scheduled_job.status]=failure&sorts=scheduled_job.status&limit=500&column_limit=50

How do I view runtime metrics for schedules?

You can use the Scheduled Plan Explore to investigate runtime metrics for schedules. For example, to view the average runtimes for schedules:

  1. Select ID and Name from Scheduled Plan.
  2. Select Name from User.
  3. Select Cron Schedule from Scheduled Plan.
  4. Select Average Runtime in Seconds from Scheduled Job Stage.
  5. Filter on Run Once (Yes / No), and set the filter value to No to exclude deliveries that were sent once or sent as a one-time test.
https://<instance_name.looker.com>/explore/system__activity/scheduled_plan?fields=scheduled_plan.id,scheduled_plan.name,user.name,scheduled_plan.cron_schedule,scheduled_job_stage.avg_runtime&f[scheduled_plan.run_once]=No&sorts=scheduled_plan.id&limit=500

To see runtimes for scheduled jobs:

  1. To view runtimes for all the jobs for a specific plan, add a filter on ID from Scheduled Plan, and set the filter value to the desired scheduled plan ID.
  2. Select ID from Scheduled Plan.
  3. Select Name from User.
  4. Select Cron Schedule from Scheduled Plan.
  5. Select ID, Status, Created Time, and Finalized Time from Scheduled Job.
  6. Select Runtime in Seconds from Scheduled Job Stage.
  7. Filter on Run Once (Yes / No), and set the filter value to No to exclude deliveries that were sent once or sent as a one-time test.

To change the filter on ID from Scheduled Plan in the example URL below, replace 145 in the filter element f[scheduled_plan.id]=145 with the ID of the scheduled plan you wish to filter on:

https://<instance_name.looker.com>/explore/system__activity/scheduled_plan?fields=scheduled_plan.id,user.name,scheduled_job.cron_schedule,scheduled_job.id,scheduled_job.status,scheduled_job.created_time,scheduled_job.finalized_time,scheduled_job_stage.runtime&f[scheduled_plan.run_once]=No&f[scheduled_plan.id]=145&sorts=scheduled_job.created_time+desc&limit=500

User

The User Explore includes details about each user, including historical queries run, and the content and folders to which they have access.

Below are some common questions about using the User Explore:

When was the last time a particular user logged in?

You can find the last time a user logged in with the User Explore:

  1. Add a filter on the ID field from User, setting it to the user ID for the user.
  2. Select Name and Created Date from User.
  3. Select Last UI Login Date and Last UI Login Credential Type from User Facts.

In the example URL below, you can replace 35 in the filter element f[user.id]=35] with the user ID you want to filter on:

https://<instance_name.looker.com>/explore/system__activity/user?fields=user.id,user.name,user.created_date,user_facts.last_ui_login_date,user_facts.last_ui_login_credential_type&f[user.id]=35&sorts=user_facts.last_ui_login_date&limit=100&column_limit=50

Which users haven’t logged in for a long time?

You can use the User Explore to identify users who have not logged in for a long time. For example, to identify users who have not logged in for more than 90 days:

  1. Select ID and Name from the User view. You can also select Created Date from User to see when the user was created.
  2. Select Last UI Login Date and Last UI Login Credential Type from User Facts.
  3. Select Most Recent Query Date from History.
  4. Add a filter on Last UI Login Date from User Facts and set it to is before (relative) 90 days ago to include only users who have not logged in for more than 90 days.
  5. Add a filter on Is Disabled (Yes / No), and set the filter value to is No to include only users whose accounts have not been disabled.
https://<instance_name.looker.com>/explore/system__activity/user?fields=user.id,user.name,user.created_date,user_facts.last_ui_login_date,history.most_recent_query_date,user_facts.last_ui_login_credential_type&f[user_facts.last_ui_login_date]=before+90+days+ago&f[user.is_disabled]=No&sorts=user_facts.last_ui_login_date&limit=100&column_limit=50

Which users are the most active?

You can use the User Explore to find the most active users. For example:

  1. Select Approximate Web Usage in Minutes and Query Run Count from History.
  2. Select Name from User.
  3. To view results for only a certain timeframe, such as the past 30 days, add a filter on Created Date from History, and set the filter value to is in the past 30 days.
  4. To exclude schedules from the results, filter on Source from History, and set the filter value to is not equal to scheduled_task.
https://<instance_name.looker.com>/explore/system__activity/user?fields=history.approximate_usage_in_minutes,user.name,history.query_run_count&f[history.created_date]=30+days&f[history.source]=-%22scheduled_task%22&sorts=history.approximate_usage_in_minutes+desc&limit=500

Which users have had access disabled?

List all users whose access has been disabled:

  1. Select Name from User.
  2. Filter on Is Disabled (Yes / No) from User, and set the filter value to Yes.
https://<instance_name.looker.com>/explore/system__activity/user?fields=user.name&f[user.is_disabled]=Yes&sorts=user.name&limit=500&column_limit=50

Which users have a specific permission?

This Explore lists all the users on your instance who have the develop permission:

  1. Select Name from User.
  2. Add a filter on Permissions from Permission Set, and set the filter value to contains develop.
https://<instance_name.looker.com>/explore/system__activity/user?fields=user.name&f[permission_set.permissions]=%25develop%25&sorts=user.name&limit=500&column_limit=50

How many users are there in each role on my instance?

This Explore counts the number of active users in each role on the instance. Note that a user can have more than one role assigned. For example, if a user was assigned both the developer role and the admin role, that user would be counted twice:

  1. Select Name from User Role.
  2. Select Count from User.
  3. Add a filter on Is Disabled (Yes / No) from User, and set the filter value to No.
https://<instance_name.looker.com>/explore/system__activity/user?fields=role.name,user.count&f[user.is_disabled]=No&sorts=user.count+desc&limit=500&column_limit=50
Top