For the complete documentation index, see llms.txt. This page is also available as Markdown.

Looker Usage Data

Looker Usage in Euno

Euno tracks usage activity across dashboards, looks, explores, views, tiles, and even individual fields. This rich usage history enables teams to make informed decisions about what is actively used, what may be deprecated, and how resources are accessed across the organization.

Utilize Looker Usage Data To:

  • Identify underused resources to clean up dashboards, looks, or models that are no longer actively referenced.

  • Highlight heavily used content to prioritize optimization, refactoring, or access reviews.

  • Understand adoption and ownership by analyzing who queries what, from where, and how frequently.

Prerequisites

Looker usage data is collected from Looker's System Activity history during each integration run. To ensure usage metrics are populated:

  • The Looker API user must have the see_system_activity permission (included in the Admin role and in the custom Euno permission set).

  • Observe users must be enabled in the Looker source Advanced Settings (enabled by default) for user-level breakdowns and the used relationship toward users.

Understanding the Types of Usage Data Captured in Euno

Euno collects and organizes Looker usage data into a few distinct signals, drawing from Looker's System Activity API and enhancing it for deeper insights:

1. Query History

For all Looker resourcesβ€”including views, explores, looks, tiles, dashboards, and fieldsβ€”Euno tracks:

  • Total queries over 14-, 30-, and 60-day windows.

  • Distinct users issuing those queries.

  • Source attribution (looker_queries_breakdown_by_app_* on LookML resources): the app context in which the query originated (for example, a dashboard tile or an explore).

  • User breakdown (queries_breakdown_by_user_*): per-user query counts when Observe users is enabled.

  • Average query time (average_query_time_* on looks, tiles, dashboards, dimensions, and measures).

Usage & Optimization Section on the side panel: Queries, Users and Sources of Queries

Note: Euno includes both cached and non-cached queries. Cached queries are not filtered out, providing a more complete picture of usageβ€”but potentially overestimating warehouse activity when cache hits are high.

Important: Euno not only collects total queries for dashboard tiles and other visualizations, but also propagates those queries back upstream to the associated explores, views, and fields. Field-level and explore-level resources inherit query activity even when they are not queried directly but are involved in dashboard or look execution.

Property
Description
Applicable to

total_queries_14d, total_queries_30d, total_queries_60d

Query counts over the last 14/30/60 days from the Looker API (includes cached queries).

View, Explore, Dashboard, Look, Tile, Dimension, Measure

distinct_users_14d, distinct_users_30d, distinct_users_60d

Distinct users over the last 14/30/60 days. User-level breakdown is available in the side panel and Euno Assistant, but not via EQL.

View, Explore, Dashboard, Look, Tile, Dimension, Measure

queries_breakdown_by_user_14d, queries_breakdown_by_user_30d, queries_breakdown_by_user_60d

Per-user query counts when Observe users is enabled. Shown in the side panel and Euno Assistant; not available via EQL.

View, Explore, Dashboard, Look, Tile, Dimension, Measure

looker_queries_breakdown_by_app_14d, looker_queries_breakdown_by_app_30d, looker_queries_breakdown_by_app_60d

Top query sources by app context (for example, dashboard vs explore).

View, Explore, Dimension, Measure

average_query_time_14d, average_query_time_30d, average_query_time_60d

Average query duration in seconds over the last 14/30/60 days.

Dashboard, Look, Tile, Dimension, Measure

2. View Activity

For visual content such as dashboards and looks, Euno captures UI-level interactions (impressions):

  • View counts over 7- and 30-day windows.

  • Last viewed and last accessed timestamps from impression tracking.

These events represent frontend engagement with visual assetsβ€”even when no new queries are issued due to caching.

Property
Description
Applicable to

last_7d_views, last_30d_views

Impression counts over the last 7 or 30 days.

Look, Dashboard

last_viewed_at

The last impression time (ISO timestamp).

Look, Dashboard

last_accessed_at

The last impression datetime from usage tracking.

Look, Dashboard

Usage & Optimization Section on the side panel: Queries and Views (Impressions)

3. PDT Build Activity

For Persistent Derived Tables (PDTs) defined in looker_view files and marked as persistent:

  • Total PDT builds in the past 30 days.

  • Total build timeβ€”useful for identifying slow or resource-intensive transformations.

Property
Description
Applicable to

pdt_builds_last_30d

Total number of PDT builds in the last 30 days.

View

pdt_total_build_time_30d

Cumulative build time for PDTs in the last 30 days.

View

Usage & Optimization Section on the side panel: PDT Build

Choosing the Right Signal for Your Use Case

  • Use Query Activity when evaluating:

    • Warehouse cost

    • Query frequency

    • Backend performance

    • Data model usage across explores and fields (thanks to query propagation)

  • Use View Activity when assessing:

    • Dashboard and look engagement

    • User adoption and content popularity

    • Organizational awareness and usage trends

  • Use PDT Build Activity when evaluating:

    • Model performance and efficiency

    • Resource load from persistent transformations

    • Maintenance and freshness of derived data

Why Do Query and View Data Sometimes Differ?

Differences between query and view counts are normal and often reflect Looker's caching and backend mechanics:

  • When a dashboard loads from cache, Euno records a view event, but no new query is sent to the database.

  • Conversely, when a PDT refreshes or a model is recompiled, queries may be triggered without user interaction, resulting in query counts without corresponding views.

Understanding this difference helps you interpret usage signals more accurately, especially when balancing adoption metrics against infrastructure and cost considerations.

Last updated