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. It is not possible to query System Activity data using SQL Runner as permissions for Looker’s internal database are limited.
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?
- How many times has a Look or dashboard been favorited?
- What filters are used by popular Looks and dashboards?
What is the most viewed content?
You can use the Content Usage Explore to find the most viewed content on your instance:
- Select the Content ID, Content Title, Content Type, and View Total fields from the Content Usage view.
- 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:
- 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
. - 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:
- In the Content Usage Explore, select Content ID, Content Title, and Content Type from the Content Usage view.
- Add a filter on Content Type from the Content Usage view, and set the filter value to
dashboard OR look
. - 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.
- Sort the results in descending order on View Total to list the most popular content first.
- 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:
- 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.
- 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?
- How many dashboards run on load?
- How many frequently refreshed dashboards are there?
Which dashboards use multiple Explores?
You can use the Dashboard Explore to identify dashboards that use multiple Explores:
- Select the ID (User-defined only), Title, and Link fields from the Dashboard view.
- Select Count of Explores from the Query view.
- 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
. - 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:
- Filter on the ID field from the Dashboard view, and set the filter value to the ID for the dashboard.
- Select Title from Dashboard Element to get the tile titles.
- 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, particularly 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:
- Select Count from the Dashboard view.
- 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:
- Select Refresh Interval and Count from the Dashboard view.
- 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:
- How can I find and categorize API requests?
- Is there a way to investigate content updates?
- How do I view login events?
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:
- Select the Name and Category fields from the Event view.
- Add a filter on Is API Call (Yes / No), and set the filter value to
Yes
. - 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
:
- Select the Name from the Event view.
- Add a filter on the Name field from the Event view, and set the filter value to
contains update
. - 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:
- Add a filter on the Name field from the Event view, and set the filter value to
login
. - Select the ID and Name from the User view.
- 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:
- How do I audit permission changes?
- How do I track when Labs features are turned on?
- When was a project name changed?
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:
- Select Created Time and Name from the Event view for the time the change was made and the type of event.
- 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.
- Select ID and any other desired fields from User for information about the user who made the change.
- 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:
- Select Created Time from the Event field.
- Select Name and Value from the Event Attribute field.
- Add a filter on Name from Event, and set the filter value to
update_labs_feature
. - 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:
- Select Created Time and Name from the Event view.
- Select Name and Value from Event Attribute.
- 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?
- How can I identify long-running queries?
- When was the last time someone used SQL Runner?
- How can I find queries that were killed by the database?
- What is the average runtime for different models on my instance?
- What is the most popular dashboard by query count?
- Which Explores are most popular with different roles?
- Has anyone queried a specific Explore in the last 90 days?
- Has anyone used a field from a specific view in the last 90 days?
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.
- Select ID (Inclusive) from the Dashboard view.
- Select Model and Count from the Query view.
- 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:
- Select ID and Link from Query.
- 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.
- 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. - Add a filter on Is Single Query (Yes / No) and set its value to
is Yes
to exclude merge queries from the results. - 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
. - 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:
- Select Last Run Time and User ID from the SQL Runner Query view.
- 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:
- Add a filter on Message from History, and set the filter value to
contains query killed
. - Select Created Date, ID, and Message from History.
- 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:
- Select Model from Query.
- Select Average Runtime in Seconds from History.
- 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:
- Select Title from Dashboard.
- Select Query Run Count from History.
- 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:
- Select Explore from Query.
- Select and pivot on Name from User Role.
- Select Query Run Count from History.
- 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:
- Select Created Date from History.
- Select Explore and Link from Query.
- 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:
- Select Created Date from History.
- Select Explore and Link from Query.
- 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?
- Who is the author of a specific Look?
- Which Looks have been deleted?
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.
- Filter on Public (Yes / No) from Look, and set the filter value to
Yes
. - Select ID, Name, and Link from Look.
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:
- Filter on the ID from Look, setting the value to the Look’s ID.
- Select ID and Name from User.
- 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:
- Select ID, Title, Link, and Deleted Date from Look.
- 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.
- Select Explore from Query.
- 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:
- Add a filter on Start Time from the PDT Builds view and set its value to
is in the past 2 days
. - 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:
- Add a filter on Average Build Time Minutes from the PDT Builds view and set its value to
is greater than 30
. - 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:
- Select ID and Name from User.
- Select Count from SQL Runner Query.
- 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?
- At which stage do schedules get stuck?
- How do I find schedule owners?
- Which scheduled plans run at the same time?
- Which schedules are unlimited?
- Is it possible to view history for more than 50 schedules?
- How do I filter results down to a specific set of schedules?
- Can error trends be identified across schedules?
- How do I view runtime metrics for schedules?
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:
- Select ID, Name, and Next Runtime from Scheduled Plan to view the next runtime for each scheduled plan in the System time zone.
- Select ID and Name from User to see the user who created the schedule.
- Filter on Run Once (Yes/No), and set the filter value to
No
to exclude deliveries that were sent once (for example, for a delivery of a Look) or sent as a one-time test (for example, for the test delivery of a Look). - 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:
- 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.
- 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:
- Select ID and Name from Scheduled Plan.
- Select ID and Name from User.
- Filter on Run Once (Yes/No), and set the filter value to
No
to exclude deliveries that were sent once (for example, for a delivery of a Look) or sent as a one-time test (for example, for the test delivery of a Look). - 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:
- Select ID, Name, Cron Schedule, and Next Run Time from Scheduled Plan.
- Filter on Run Once (Yes/No), and set the filter value to
No
to exclude deliveries that were sent once (for example, for a delivery of a Look) or sent as a one-time test (for example, for the test delivery of a Look). - 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 (for example, for the delivery of a Look) 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
:
- Filter on Send All Results, and set the value to Yes.
- 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:
- Select ID from Scheduled Plan.
- Select Name from User to see who created each schedule.
- Select Cron Schedule from Scheduled Job to see the scheduled delivery time for each scheduled job as a cron string.
- Select Type from Scheduled Plan Destination to see the destination type (for example, for the delivery of a Look).
- Select ID, Status, and Status Detail from Scheduled Job to view the status and any error messages for each scheduled job.
- Select Created Time and Finalized Time from Scheduled Job.
- Select Runtime in Seconds from Scheduled Job Stage.
- 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.
- 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
. - Filter on Run Once (Yes/No), and set the filter value to
No
to exclude deliveries that were sent once (for example, for a delivery of a Look) or sent as a one-time test (for example, for the test delivery of a Look).
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
:
- Add a filter on Model from the Query view, and set the filter value to the name of the model.
- Select ID and Name from Scheduled Plan.
- Select Name from User to see who created each schedule.
- Select Cron Schedule from Scheduled Plan to see the scheduled delivery time for each schedule as a cron string.
- 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.
- Filter on Run Once (Yes/No), and set the filter value to
No
to exclude deliveries that were sent once (for example, for a delivery of a Look) or sent as a one-time test (for example, for the test delivery of a Look).
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:
- 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.
- Select Stage from Scheduled Job Stage.
- Select Type and Format from Scheduled Plan Destination to see the destination type (for example, for the delivery of a Look) and data format (for example, for the delivery of a Look).
- Filter on Status from Scheduled Job, and set the filter value to
failure
to include only scheduled jobs that have failed. - 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
oremail
.
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:
- Select ID and Name from Scheduled Plan.
- Select Name from User.
- Select Cron Schedule from Scheduled Plan.
- Select Average Runtime in Seconds from Scheduled Job Stage.
- Filter on Run Once (Yes/No), and set the filter value to
No
to exclude deliveries that were sent once (for example, for a delivery of a Look) or sent as a one-time test (for example, for the test delivery of a Look).
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:
- 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.
- Select ID from Scheduled Plan.
- Select Name from User.
- Select Cron Schedule from Scheduled Plan.
- Select ID, Status, Created Time, and Finalized Time from Scheduled Job.
- Select Runtime in Seconds from Scheduled Job Stage.
- Filter on Run Once (Yes/No), and set the filter value to
No
to exclude deliveries that were sent once (for example, for a delivery of a Look) or sent as a one-time test (for example, for the test delivery of a Look).
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?
- Which users haven’t logged in for a long time?
- Which users are the most active?
- Which users have had access disabled?
- Which users have a specific permission?
- How many users are there in each role on my instance?
When was the last time a particular user logged in?
You can find the last time a user logged in with the User Explore:
- Add a filter on the ID field from User, setting it to the user ID for the user.
- Select Name and Created Date from User.
- 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:
- Select ID and Name from the User view. You can also select Created Date from User to see when the user was created.
- Select Last UI Login Date and Last UI Login Credential Type from User Facts.
- Select Most Recent Query Date from History.
- 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. - 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:
- Select Approximate Web Usage in Minutes and Query Run Count from History.
- Select Name from User.
- 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
. - 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:
- Select Name from User.
- 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:
- Select Name from User.
- 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:
- Select Name from User Role.
- Select Count from User.
- 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