Selecting metrics when using Metrics Explorer

This page describes how to choose the data to display and also how to display that chosen data when using Metrics Explorer. For information on configuring the style of a chart, see Setting View Options.

Selecting the data to display

To specify the metrics to display when using Metrics Explorer, click the Metric tab on the chart-definition page. The following screenshot shows the metric-selector tab:

Display the metric-selection tab.

To populate the Find resource type and metric field, you must specify at least one pair of values:

  • A metric type that identifies the measurements that can be collected from a monitored resource. It includes a description of what is being measured and how the measurements are interpreted. The metric type is sometimes called metric. For conceptual information, see Metric types.

  • A monitored resource specifies from which resource the metric data is captured. The monitored resource is sometimes called the monitored resource type or the resource. For conceptual information, see Monitored resources.

Monitoring has many predefined metric types and monitored resources available, and you can create custom metrics as well:

  • For information on predefined metrics types, see the Metrics list. Metrics are listed by the type of service. For example, the Google Cloud metrics page contains a series of tables, one for each Google Cloud service.

  • For information about monitored resource types available, see Monitored resource list.

  • For information on defining your own metrics, see Using custom metrics.

The metric-specification field

To select a metric, use the Find resource type and metric field to choose one resource type and one metric type. You can specify them in either order. To begin, click in the field. This brings up one or two lists, based on any prior selections. The lists are indicated by headers, Resource types and Metrics, as seen in the following screenshot:

Search lists for selecting metrics and resources.

You can select an entry in two ways:

  • By selecting entries from the lists.

  • By entering a metric filter. To enter a metric filter, do the following:

    1. Next to Find resource type and metric, click Help
    2. Click Direct filter mode in the help pane.

      When Direct filter mode is enabled, the Find resource type and metric option is replaced with an editable text box labeled Resource type, metric, and filter:

      Direct filter mode is displayed.

      If you made selections for a resource type, a metric, or a filter prior to selecting Direct filter mode, then those settings are used to prepopulate the Resource type, metric, and filter text box.

    3. Enter a metric filter in the Resource type, metric, and filter text box. Your filter must include a metric type and a resource type. You can also include label filters. For the filter grammar, see Monitoring filters.

      For example, to display the log entries for all Google Cloud VM instances in the us-east1-b zone, enter the following:

      metric.type="logging.googleapis.com/log_entry_count" resource.type="gce_instance" resource.label."zone"="us-east1-b"
      

      If you've used direct filter mode to configure charts or alerting policies and no data is available, then the chart displays an error message. The exact error message depends on the filter you entered. For example, a typical message is Chart definition invalid. You might also see the message No data is available for the selected time frame.

Hovering over an item on either list brings up a tooltip that displays the information in the item's descriptor. For information on descriptors for metric types or monitored resources, see the metrics list or the monitored resource list.

When at least one resource type and metric pair is selected, the chart shows all the available time series, and additional items appear below the specified metric on the Metric tab. The following screenshot shows the Metric tab after a metric has been specified:

Display additional selection options.

Based on the selected metric and resource, with no other configuration, the following screenshot shows a resulting chart:

Display a chart with a metric selected.

This chart contains more data that can be displayed; charts are limited to 300 displayable lines. The chart provides a notice that there is too much data to display, and suggests using outlier mode, one of the choices on the View options tab, which greatly reduces the amount of data to display.

However, you can also use the additional metric-configuration options to make the data set more manageable. These techniques make the charts more useful for diagnostics and analysis, and they increase the performance and responsiveness of the user interface itself.

Filtering the data

You can reduce the amount of data returned for a metric by specifying filter criteria, so that only time series that meet some set of criteria are used. If you apply filters, there are fewer lines on the chart, and that can improve the performance of the chart.

You can supply multiple filtering criteria. The corresponding chart shows only the time series that meet all of the criteria, a logical AND.

In the Google Cloud Console, to add a filter, click the Filter field. This opens a panel containing lists of criteria by which you can filter. For example, you can filter by resource group, by name, by resource label, by zone, and by metric label.

The following screenshot shows the known filter-by labels for a project:

Lists of pre-populated filter labels

You can select from the lists or type to find matches. Additionally, you can create filters for data that has not yet appeared; such filter criteria won't appear on the selection list, but you can manually specify filters that you know will be valid in the future.

After you choose a label on which to filter, you have to specify the rest of the filter: a value or range of values and a comparison.

For example, the following screenshot shows a filter on the zone resource label. The Filter field supports a pair of comparison operators for equality, = and =~, and a pair for inequality, != and !=~. The second item in each pair takes a regular-expression as a value. Simple equality, =, is the default.

Filter comparators

Below the list of comparison operators is a list of the available values. The following screenshot shows the names of zones in the project:

Some pre-populated filter values

For the Value field, you can select one of the items on the drop-down list, or you can enter an expression that matches multiple items:

  • If you use a direct comparison, = or !=, you can create a filter string like starts_with. For example, the filter string starts_with("us-central") matches any us-central zone:

    Using a filter string

    See Monitoring filters for more information on filter strings.

  • If you select =~ or !=~ you can use an RE2 regular expression in the value. For example, the regular expression us-central1-.* matches any us-central1 zones:

    Filtering with regexps

    The regular expression ^us.*.a$ matches any US zone that ends with “a”:

    Filtering with more regexps

You can specify multiple filter criteria, and you can use the same label multiple times. This lets you specify a filter for a range of values. To add additional filters, click Add a filter near the bottom of the filter field. Currently, all of the filter criteria must be met; they constitute a logical AND. For example, you can use both starts_with and ends_with filter strings to show only “a” zones in the US:

Using multiple filters

With a zone="starts_with("asia-east1")" or zone=~"asia-east1.*" filter in place, only the time series with data from one of the asia-east1 zones is displayed:

Displaying a filtered time series.

Choosing how to display the data

The section covers how to display the selected data by setting the aggregation fields. Aggregation consists of alignment of data points and the combining different time series together. For a detailed explanation of aggregation, see Filtering and aggregation: manipulating time series.

Grouping

You can reduce the amount of data returned for a metric by combining different time series. To combine multiple time series, you typically specify a grouping and a function. Grouping is done on the basis of labels. The function, called the Aggregator in the Google Cloud Console, is used to combine the time series in the group into a single time series. Typical aggregators include the mean, maximum, minimum, standard deviation, and assorted percentile values.

To add a grouping, click Add a label in the Group by text box, and then make a selection from the menu. The menu is constructed dynamically and displays the available labels. These are the same labels that you can use for filtering. When you add the first grouping option, the following occurs:

  • An aggregator is selected. The selected function is determined by the type of data being displayed; however, you can change this function.
  • The aggregator combines all time series that have the same label value into a single time series.
  • The chart displays one time series for each value of the group-by label.

The following screenshot shows a grouping by user_labels.version with the Aggregator set to the default value of sum:

Example of grouping setting.

This selection results in one time series for each value of the user_labels.version. The data points in each time series are computed from the sum of all the values for individual time series for a specific version:

Showing time series' grouped by user_labels.version

You can group by multiple labels. When you have multiple grouping options, then time series are grouped by each combination of label values, and the aggregator is applied to each group. The resulting chart displays one time series for each combination of label values. The order in which you specify the labels doesn't matter.

For example, the following screenshot illustrates grouping by user_labels.version and system_labels.machine_image:

Showing time series' grouped by version and machine image.

As illustrated, if you group by both the labels, you get one time series for each pair of values. The fact that you get a time series for each combination of labels means that this technique can easily create more data than you can usefully put on a single chart.

If you don't specify a grouping option and do specify an aggregator, then the aggregator is applied to all of the selected time series and results in a single time series. This behavior is illustrated in the following screenshot:

Showing time series' aggregated by sum but no grouping

When you specify grouping or if you select an aggregator, the resulting time series only contains those labels that are mandatory, such as the project identifier, and the labels specified by the grouping.

Removing group-by conditions

To remove a group-by condition, you must:

  1. Delete the group-by labels.
  2. Set the aggregator to none.

Alignment

Alignment is the process of converting the time series data received by Monitoring into a new time series which has data points at fixed intervals. The process of alignment consists of collecting all data points received in a fixed length of time, applying a function to combine those data points, and assigning a timestamp to the result. That combining function might compute the average of all samples or it might extract the maximum of all samples.

When you create a chart by using the Google Cloud Console, after you select the resource type and the metric, several additional fields and a button titled Show advanced options are displayed. Click Show advanced options to view the alignment fields:

Alignment-option fields

Alignment Period: The alignment period is the minimum time interval to be used when aligning time series data. For example, if the chart is configured to display 1 hour of data and if the Alignment period is set to 10 minutes, then the chart contains 6 data points. However, if you configure the chart to display 1 week of data, then the alignment period is automatically configured to be 1 hour. The default setting for this field is one minute.

Aligner: The aligner field specifies the function used to combine all the data points in an alignment period. For more information on the available aligners, see Aligner in the API reference.

The following screenshot illustrates the CPU utilization of the Compute Engine VM instances in a particular Google Cloud project. In this image, the alignment fields are at the default values: the aligner is set to mean and the alignment period is set to 1 minute:

CPU utilization of VM instances using default alignment settings.

For comparison, the following screenshot illustrates the effect of changing the alignment period from 1 minute to 5 minutes:

CPU utilization of VM instances using default with a 5 minute alignment period

By increasing the alignment period, the resulting chart has fewer data points and the number and height of the spikes has been reduced.

Secondary aggregation

When you have multiple time series that already represent aggregations, like the examples illustrating the Group By option, you can then aggregate across them by choosing a Secondary Aggregator:

Field for secondary aggregation

Secondary aggregation reduces all the time series on the chart to a single time series.

The following screenshot shows several time series that result from grouping a filtered set of data. The use of grouping requires aggregation; each group of lines is aggregated into one. The following screenshot shows time series grouped by zone:

Showing a filtered time series that is grouped by zone.

The following screenshot shows the result of using secondary aggregation to find the mean value across the grouped time series:

Showing a secondary aggregation applied to previous example.

What's next