You can query and analyze your trace data by using SQL in Observability Analytics
to discover performance trends, generate aggregate insights, and display results
in charts and tables. You query the default view, which is named _AllSpans,
and which includes all trace data stored by your project. You can also save
query results to your custom dashboards.
If you want to inspect individual traces or spans, or span attributes, then use the Trace Explorer page. For more information, see Find and explore traces.
About linked BigQuery datasets
You don't need a linked BigQuery dataset to query your trace data, or to query your trace and log data. For those scenarios, you can use the Observability Analytics page. For information about querying log data, see Query and analyze logs with Observability Analytics.
You do need a linked BigQuery dataset when you want to do any of the following:
- Join trace data with other BigQuery datasets.
- Query trace data from another service like the BigQuery Studio page or Data Studio.
- Improve the performance of Observability Analytics queries by running them on your BigQuery reserved slots.
- Monitor your SQL query results with an alerting policy.
This document doesn't describe how to create a linked BigQuery dataset or how to configure the Observability Analytics to run queries on reserved slots. For information about these topics, see Create a linked BigQuery dataset.
Before you begin
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Observability API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Observability API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
To get the permissions that you need to load the Observability Analytics page, write, run, and save private queries on your trace data, ask your administrator to grant you the following IAM roles:
- Observability View Accessor (
roles/observability.viewAccessor) on the observability views that you want to query. This role supports IAM conditions, which let you restrict the grant to a specific view. If you don't attach a condition to the role grant, then the principal can access all observability views. - Observability Analytics User (
roles/observability.analyticsUser) on your project. This role contains the permissions required to save and run private queries, and to run shared queries.
For more information about granting roles, see Manage access to projects, folders, and organizations.
You might also be able to get the required permissions through custom roles or other predefined roles.
- Observability View Accessor (
Display the schema
The schema defines how the data is stored, which includes the fields and their
data types. This information is important to you because the schema determines
the fields you query and whether you need to cast fields to different data
types. For example, to write a query that computes the average latency of
HTTP requests, you need to know how to access the latency field and whether it
is stored as an integer like 100 or as a string like "100". If the latency
data is stored as a string, then the query must cast the value to a numeric
value before computing an average.
To identify the schema, do the following:
-
In the Google Cloud console, go to the manage_search Observability Analytics page: