MonitoringDashboard

Property Value
Google Cloud Service Name Cloud Monitoring
Google Cloud Service Documentation /monitoring/dashboards/
Google Cloud REST Resource Name v3.projects.dashboards
Google Cloud REST Resource Documentation monitoring/api/ref_v3/rest/v1/projects.dashboards/
Config Connector Resource Short Names gcpmonitoringdashboard
gcpmonitoringdashboards
monitoringdashboard
Config Connector Service Name monitoring.googleapis.com
Config Connector Resource Fully Qualified Name monitoringdashboards.monitoring.cnrm.cloud.google.com
Can Be Referenced by IAMPolicy/IAMPolicyMember No

Custom Resource Definition Properties

Spec

Schema

  columnLayout:
    columns:
    - weight: integer
      widgets:
      - blank: {}
        scorecard:
          gaugeView:
            lowerBound: float
            upperBound: float
          sparkChartView:
            minAlignmentPeriod: string
            sparkChartType: string
          thresholds:
          - color: string
            direction: string
            label: string
            value: float
          timeSeriesQuery:
            timeSeriesFilter:
              aggregation:
                alignmentPeriod: string
                crossSeriesReducer: string
                groupByFields:
                - string
                perSeriesAligner: string
              filter: string
              pickTimeSeriesFilter:
                direction: string
                numTimeSeries: integer
                rankingMethod: string
              secondaryAggregation:
                alignmentPeriod: string
                crossSeriesReducer: string
                groupByFields:
                - string
                perSeriesAligner: string
            timeSeriesFilterRatio:
              denominator:
                aggregation:
                  alignmentPeriod: string
                  crossSeriesReducer: string
                  groupByFields:
                  - string
                  perSeriesAligner: string
                filter: string
              numerator:
                aggregation:
                  alignmentPeriod: string
                  crossSeriesReducer: string
                  groupByFields:
                  - string
                  perSeriesAligner: string
                filter: string
              pickTimeSeriesFilter:
                direction: string
                numTimeSeries: integer
                rankingMethod: string
              secondaryAggregation:
                alignmentPeriod: string
                crossSeriesReducer: string
                groupByFields:
                - string
                perSeriesAligner: string
            timeSeriesQueryLanguage: string
            unitOverride: string
        text:
          content: string
          format: string
        title: string
        xyChart:
          chartOptions:
            mode: string
          dataSets:
          - legendTemplate: string
            minAlignmentPeriod: string
            plotType: string
            timeSeriesQuery:
              timeSeriesFilter:
                aggregation:
                  alignmentPeriod: string
                  crossSeriesReducer: string
                  groupByFields:
                  - string
                  perSeriesAligner: string
                filter: string
                pickTimeSeriesFilter:
                  direction: string
                  numTimeSeries: integer
                  rankingMethod: string
                secondaryAggregation:
                  alignmentPeriod: string
                  crossSeriesReducer: string
                  groupByFields:
                  - string
                  perSeriesAligner: string
              timeSeriesFilterRatio:
                denominator:
                  aggregation:
                    alignmentPeriod: string
                    crossSeriesReducer: string
                    groupByFields:
                    - string
                    perSeriesAligner: string
                  filter: string
                numerator:
                  aggregation:
                    alignmentPeriod: string
                    crossSeriesReducer: string
                    groupByFields:
                    - string
                    perSeriesAligner: string
                  filter: string
                pickTimeSeriesFilter:
                  direction: string
                  numTimeSeries: integer
                  rankingMethod: string
                secondaryAggregation:
                  alignmentPeriod: string
                  crossSeriesReducer: string
                  groupByFields:
                  - string
                  perSeriesAligner: string
              timeSeriesQueryLanguage: string
              unitOverride: string
          thresholds:
          - color: string
            direction: string
            label: string
            value: float
          timeshiftDuration: string
          xAxis:
            label: string
            scale: string
          yAxis:
            label: string
            scale: string
  displayName: string
  gridLayout:
    columns: integer
    widgets:
    - blank: {}
      scorecard:
        gaugeView:
          lowerBound: float
          upperBound: float
        sparkChartView:
          minAlignmentPeriod: string
          sparkChartType: string
        thresholds:
        - color: string
          direction: string
          label: string
          value: float
        timeSeriesQuery:
          timeSeriesFilter:
            aggregation:
              alignmentPeriod: string
              crossSeriesReducer: string
              groupByFields:
              - string
              perSeriesAligner: string
            filter: string
            pickTimeSeriesFilter:
              direction: string
              numTimeSeries: integer
              rankingMethod: string
            secondaryAggregation:
              alignmentPeriod: string
              crossSeriesReducer: string
              groupByFields:
              - string
              perSeriesAligner: string
          timeSeriesFilterRatio:
            denominator:
              aggregation:
                alignmentPeriod: string
                crossSeriesReducer: string
                groupByFields:
                - string
                perSeriesAligner: string
              filter: string
            numerator:
              aggregation:
                alignmentPeriod: string
                crossSeriesReducer: string
                groupByFields:
                - string
                perSeriesAligner: string
              filter: string
            pickTimeSeriesFilter:
              direction: string
              numTimeSeries: integer
              rankingMethod: string
            secondaryAggregation:
              alignmentPeriod: string
              crossSeriesReducer: string
              groupByFields:
              - string
              perSeriesAligner: string
          timeSeriesQueryLanguage: string
          unitOverride: string
      text:
        content: string
        format: string
      title: string
      xyChart:
        chartOptions:
          mode: string
        dataSets:
        - legendTemplate: string
          minAlignmentPeriod: string
          plotType: string
          timeSeriesQuery:
            timeSeriesFilter:
              aggregation:
                alignmentPeriod: string
                crossSeriesReducer: string
                groupByFields:
                - string
                perSeriesAligner: string
              filter: string
              pickTimeSeriesFilter:
                direction: string
                numTimeSeries: integer
                rankingMethod: string
              secondaryAggregation:
                alignmentPeriod: string
                crossSeriesReducer: string
                groupByFields:
                - string
                perSeriesAligner: string
            timeSeriesFilterRatio:
              denominator:
                aggregation:
                  alignmentPeriod: string
                  crossSeriesReducer: string
                  groupByFields:
                  - string
                  perSeriesAligner: string
                filter: string
              numerator:
                aggregation:
                  alignmentPeriod: string
                  crossSeriesReducer: string
                  groupByFields:
                  - string
                  perSeriesAligner: string
                filter: string
              pickTimeSeriesFilter:
                direction: string
                numTimeSeries: integer
                rankingMethod: string
              secondaryAggregation:
                alignmentPeriod: string
                crossSeriesReducer: string
                groupByFields:
                - string
                perSeriesAligner: string
            timeSeriesQueryLanguage: string
            unitOverride: string
        thresholds:
        - color: string
          direction: string
          label: string
          value: float
        timeshiftDuration: string
        xAxis:
          label: string
          scale: string
        yAxis:
          label: string
          scale: string
  mosaicLayout:
    columns: integer
    tiles:
    - height: integer
      widget:
        blank: {}
        scorecard:
          gaugeView:
            lowerBound: float
            upperBound: float
          sparkChartView:
            minAlignmentPeriod: string
            sparkChartType: string
          thresholds:
          - color: string
            direction: string
            label: string
            value: float
          timeSeriesQuery:
            timeSeriesFilter:
              aggregation:
                alignmentPeriod: string
                crossSeriesReducer: string
                groupByFields:
                - string
                perSeriesAligner: string
              filter: string
              pickTimeSeriesFilter:
                direction: string
                numTimeSeries: integer
                rankingMethod: string
              secondaryAggregation:
                alignmentPeriod: string
                crossSeriesReducer: string
                groupByFields:
                - string
                perSeriesAligner: string
            timeSeriesFilterRatio:
              denominator:
                aggregation:
                  alignmentPeriod: string
                  crossSeriesReducer: string
                  groupByFields:
                  - string
                  perSeriesAligner: string
                filter: string
              numerator:
                aggregation:
                  alignmentPeriod: string
                  crossSeriesReducer: string
                  groupByFields:
                  - string
                  perSeriesAligner: string
                filter: string
              pickTimeSeriesFilter:
                direction: string
                numTimeSeries: integer
                rankingMethod: string
              secondaryAggregation:
                alignmentPeriod: string
                crossSeriesReducer: string
                groupByFields:
                - string
                perSeriesAligner: string
            timeSeriesQueryLanguage: string
            unitOverride: string
        text:
          content: string
          format: string
        title: string
        xyChart:
          chartOptions:
            mode: string
          dataSets:
          - legendTemplate: string
            minAlignmentPeriod: string
            plotType: string
            timeSeriesQuery:
              timeSeriesFilter:
                aggregation:
                  alignmentPeriod: string
                  crossSeriesReducer: string
                  groupByFields:
                  - string
                  perSeriesAligner: string
                filter: string
                pickTimeSeriesFilter:
                  direction: string
                  numTimeSeries: integer
                  rankingMethod: string
                secondaryAggregation:
                  alignmentPeriod: string
                  crossSeriesReducer: string
                  groupByFields:
                  - string
                  perSeriesAligner: string
              timeSeriesFilterRatio:
                denominator:
                  aggregation:
                    alignmentPeriod: string
                    crossSeriesReducer: string
                    groupByFields:
                    - string
                    perSeriesAligner: string
                  filter: string
                numerator:
                  aggregation:
                    alignmentPeriod: string
                    crossSeriesReducer: string
                    groupByFields:
                    - string
                    perSeriesAligner: string
                  filter: string
                pickTimeSeriesFilter:
                  direction: string
                  numTimeSeries: integer
                  rankingMethod: string
                secondaryAggregation:
                  alignmentPeriod: string
                  crossSeriesReducer: string
                  groupByFields:
                  - string
                  perSeriesAligner: string
              timeSeriesQueryLanguage: string
              unitOverride: string
          thresholds:
          - color: string
            direction: string
            label: string
            value: float
          timeshiftDuration: string
          xAxis:
            label: string
            scale: string
          yAxis:
            label: string
            scale: string
      width: integer
      xPos: integer
      yPos: integer
  projectRef:
    external: string
    name: string
    namespace: string
  resourceID: string
  rowLayout:
    rows:
    - weight: integer
      widgets:
      - blank: {}
        scorecard:
          gaugeView:
            lowerBound: float
            upperBound: float
          sparkChartView:
            minAlignmentPeriod: string
            sparkChartType: string
          thresholds:
          - color: string
            direction: string
            label: string
            value: float
          timeSeriesQuery:
            timeSeriesFilter:
              aggregation:
                alignmentPeriod: string
                crossSeriesReducer: string
                groupByFields:
                - string
                perSeriesAligner: string
              filter: string
              pickTimeSeriesFilter:
                direction: string
                numTimeSeries: integer
                rankingMethod: string
              secondaryAggregation:
                alignmentPeriod: string
                crossSeriesReducer: string
                groupByFields:
                - string
                perSeriesAligner: string
            timeSeriesFilterRatio:
              denominator:
                aggregation:
                  alignmentPeriod: string
                  crossSeriesReducer: string
                  groupByFields:
                  - string
                  perSeriesAligner: string
                filter: string
              numerator:
                aggregation:
                  alignmentPeriod: string
                  crossSeriesReducer: string
                  groupByFields:
                  - string
                  perSeriesAligner: string
                filter: string
              pickTimeSeriesFilter:
                direction: string
                numTimeSeries: integer
                rankingMethod: string
              secondaryAggregation:
                alignmentPeriod: string
                crossSeriesReducer: string
                groupByFields:
                - string
                perSeriesAligner: string
            timeSeriesQueryLanguage: string
            unitOverride: string
        text:
          content: string
          format: string
        title: string
        xyChart:
          chartOptions:
            mode: string
          dataSets:
          - legendTemplate: string
            minAlignmentPeriod: string
            plotType: string
            timeSeriesQuery:
              timeSeriesFilter:
                aggregation:
                  alignmentPeriod: string
                  crossSeriesReducer: string
                  groupByFields:
                  - string
                  perSeriesAligner: string
                filter: string
                pickTimeSeriesFilter:
                  direction: string
                  numTimeSeries: integer
                  rankingMethod: string
                secondaryAggregation:
                  alignmentPeriod: string
                  crossSeriesReducer: string
                  groupByFields:
                  - string
                  perSeriesAligner: string
              timeSeriesFilterRatio:
                denominator:
                  aggregation:
                    alignmentPeriod: string
                    crossSeriesReducer: string
                    groupByFields:
                    - string
                    perSeriesAligner: string
                  filter: string
                numerator:
                  aggregation:
                    alignmentPeriod: string
                    crossSeriesReducer: string
                    groupByFields:
                    - string
                    perSeriesAligner: string
                  filter: string
                pickTimeSeriesFilter:
                  direction: string
                  numTimeSeries: integer
                  rankingMethod: string
                secondaryAggregation:
                  alignmentPeriod: string
                  crossSeriesReducer: string
                  groupByFields:
                  - string
                  perSeriesAligner: string
              timeSeriesQueryLanguage: string
              unitOverride: string
          thresholds:
          - color: string
            direction: string
            label: string
            value: float
          timeshiftDuration: string
          xAxis:
            label: string
            scale: string
          yAxis:
            label: string
            scale: string
Fields

columnLayout

Optional

object

The content is divided into equally spaced columns and the widgets are arranged vertically.

columnLayout.columns

Optional

list (object)

The columns of content to display.

columnLayout.columns.[]

Optional

object

columnLayout.columns.[].weight

Optional

integer

The relative weight of this column. The column weight is used to adjust the width of columns on the screen (relative to peers). Greater the weight, greater the width of the column on the screen. If omitted, a value of 1 is used while rendering.

columnLayout.columns.[].widgets

Optional

list (object)

The display widgets arranged vertically in this column.

columnLayout.columns.[].widgets.[]

Optional

object

columnLayout.columns.[].widgets.[].blank

Optional

object

A blank space.

columnLayout.columns.[].widgets.[].scorecard

Optional

object

A scorecard summarizing time series data.

columnLayout.columns.[].widgets.[].scorecard.gaugeView

Optional

object

Will cause the scorecard to show a gauge chart.

columnLayout.columns.[].widgets.[].scorecard.gaugeView.lowerBound

Optional

float

The lower bound for this gauge chart. The value of the chart should always be greater than or equal to this.

columnLayout.columns.[].widgets.[].scorecard.gaugeView.upperBound

Optional

float

The upper bound for this gauge chart. The value of the chart should always be less than or equal to this.

columnLayout.columns.[].widgets.[].scorecard.sparkChartView

Optional

object

Will cause the scorecard to show a spark chart.

columnLayout.columns.[].widgets.[].scorecard.sparkChartView.minAlignmentPeriod

Optional

string

The lower bound on data point frequency in the chart implemented by specifying the minimum alignment period to use in a time series query. For example, if the data is published once every 10 minutes it would not make sense to fetch and align data at one minute intervals. This field is optional and exists only as a hint.

columnLayout.columns.[].widgets.[].scorecard.sparkChartView.sparkChartType

Required*

string

Required. The type of sparkchart to show in this chartView. Possible values: SPARK_CHART_TYPE_UNSPECIFIED, SPARK_LINE, SPARK_BAR

columnLayout.columns.[].widgets.[].scorecard.thresholds

Optional

list (object)

The thresholds used to determine the state of the scorecard given the time series' current value. For an actual value x, the scorecard is in a danger state if x is less than or equal to a danger threshold that triggers below, or greater than or equal to a danger threshold that triggers above. Similarly, if x is above/below a warning threshold that triggers above/below, then the scorecard is in a warning state - unless x also puts it in a danger state. (Danger trumps warning.) As an example, consider a scorecard with the following four thresholds: { value: 90, category: 'DANGER', trigger: 'ABOVE', }, { value: 70, category: 'WARNING', trigger: 'ABOVE', }, { value: 10, category: 'DANGER', trigger: 'BELOW', }, { value: 20, category: 'WARNING', trigger: 'BELOW', } Then: values less than or equal to 10 would put the scorecard in a DANGER state, values greater than 10 but less than or equal to 20 a WARNING state, values strictly between 20 and 70 an OK state, values greater than or equal to 70 but less than 90 a WARNING state, and values greater than or equal to 90 a DANGER state.

columnLayout.columns.[].widgets.[].scorecard.thresholds.[]

Optional

object

columnLayout.columns.[].widgets.[].scorecard.thresholds.[].color

Optional

string

The state color for this threshold. Color is not allowed in a XyChart. Possible values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN, YELLOW, ORANGE, RED

columnLayout.columns.[].widgets.[].scorecard.thresholds.[].direction

Optional

string

The direction for the current threshold. Direction is not allowed in a XyChart. Possible values: DIRECTION_UNSPECIFIED, ABOVE, BELOW

columnLayout.columns.[].widgets.[].scorecard.thresholds.[].label

Optional

string

A label for the threshold.

columnLayout.columns.[].widgets.[].scorecard.thresholds.[].value

Optional

float

The value of the threshold. The value should be defined in the native scale of the metric.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery

Required*

object

Required. Fields for querying time series data from the Stackdriver metrics API.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter

Optional

object

Filter parameters to fetch time series.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.aggregation.groupByFields.[]

Optional

string

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter

Optional

object

Ranking based time series filter.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.direction

Optional

string

How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.numTimeSeries

Optional

integer

How many time series to allow to pass through the filter.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.rankingMethod

Optional

string

`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation

Optional

object

Apply a second aggregation after `aggregation` is applied.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation.groupByFields.[]

Optional

string

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio

Optional

object

Parameters to fetch a ratio between two time series filters.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator

Optional

object

The denominator of the ratio.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.groupByFields.[]

Optional

string

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator

Optional

object

The numerator of the ratio.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.groupByFields.[]

Optional

string

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter

Optional

object

Ranking based time series filter.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.direction

Optional

string

How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.numTimeSeries

Optional

integer

How many time series to allow to pass through the filter.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.rankingMethod

Optional

string

`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation

Optional

object

Apply a second aggregation after the ratio is computed.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.groupByFields.[]

Optional

string

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesQueryLanguage

Optional

string

A query used to fetch time series.

columnLayout.columns.[].widgets.[].scorecard.timeSeriesQuery.unitOverride

Optional

string

The unit of data contained in fetched time series. If non-empty, this unit will override any unit that accompanies fetched data. The format is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors) field in `MetricDescriptor`.

columnLayout.columns.[].widgets.[].text

Optional

object

A raw string or markdown displaying textual content.

columnLayout.columns.[].widgets.[].text.content

Optional

string

The text content to be displayed.

columnLayout.columns.[].widgets.[].text.format

Optional

string

How the text content is formatted. Possible values: FORMAT_UNSPECIFIED, MARKDOWN, RAW

columnLayout.columns.[].widgets.[].title

Optional

string

Optional. The title of the widget.

columnLayout.columns.[].widgets.[].xyChart

Optional

object

A chart of time series data.

columnLayout.columns.[].widgets.[].xyChart.chartOptions

Optional

object

Display options for the chart.

columnLayout.columns.[].widgets.[].xyChart.chartOptions.mode

Optional

string

The chart mode. Possible values: MODE_UNSPECIFIED, COLOR, X_RAY, STATS

columnLayout.columns.[].widgets.[].xyChart.dataSets

Required*

list (object)

Required. The data displayed in this chart.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[]

Required*

object

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].legendTemplate

Optional

string

A template string for naming `TimeSeries` in the resulting data set. This should be a string with interpolations of the form `${label_name}`, which will resolve to the label's value.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].minAlignmentPeriod

Optional

string

Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the `min_alignment_period` should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].plotType

Optional

string

How this data should be plotted on the chart. Possible values: PLOT_TYPE_UNSPECIFIED, LINE, STACKED_AREA, STACKED_BAR, HEATMAP

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery

Required*

object

Required. Fields for querying time series data from the Stackdriver metrics API.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter

Optional

object

Filter parameters to fetch time series.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation.groupByFields.[]

Optional

string

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter

Optional

object

Ranking based time series filter.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.direction

Optional

string

How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.numTimeSeries

Optional

integer

How many time series to allow to pass through the filter.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.rankingMethod

Optional

string

`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation

Optional

object

Apply a second aggregation after `aggregation` is applied.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation.groupByFields.[]

Optional

string

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio

Optional

object

Parameters to fetch a ratio between two time series filters.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator

Optional

object

The denominator of the ratio.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.groupByFields.[]

Optional

string

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator

Optional

object

The numerator of the ratio.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.groupByFields.[]

Optional

string

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter

Optional

object

Ranking based time series filter.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.direction

Optional

string

How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.numTimeSeries

Optional

integer

How many time series to allow to pass through the filter.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.rankingMethod

Optional

string

`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation

Optional

object

Apply a second aggregation after the ratio is computed.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.groupByFields.[]

Optional

string

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesQueryLanguage

Optional

string

A query used to fetch time series.

columnLayout.columns.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.unitOverride

Optional

string

The unit of data contained in fetched time series. If non-empty, this unit will override any unit that accompanies fetched data. The format is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors) field in `MetricDescriptor`.

columnLayout.columns.[].widgets.[].xyChart.thresholds

Optional

list (object)

Threshold lines drawn horizontally across the chart.

columnLayout.columns.[].widgets.[].xyChart.thresholds.[]

Optional

object

columnLayout.columns.[].widgets.[].xyChart.thresholds.[].color

Optional

string

The state color for this threshold. Color is not allowed in a XyChart. Possible values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN, YELLOW, ORANGE, RED

columnLayout.columns.[].widgets.[].xyChart.thresholds.[].direction

Optional

string

The direction for the current threshold. Direction is not allowed in a XyChart. Possible values: DIRECTION_UNSPECIFIED, ABOVE, BELOW

columnLayout.columns.[].widgets.[].xyChart.thresholds.[].label

Optional

string

A label for the threshold.

columnLayout.columns.[].widgets.[].xyChart.thresholds.[].value

Optional

float

The value of the threshold. The value should be defined in the native scale of the metric.

columnLayout.columns.[].widgets.[].xyChart.timeshiftDuration

Optional

string

The duration used to display a comparison chart. A comparison chart simultaneously shows values from two similar-length time periods (e.g., week-over-week metrics). The duration must be positive, and it can only be applied to charts with data sets of LINE plot type.

columnLayout.columns.[].widgets.[].xyChart.xAxis

Optional

object

The properties applied to the X axis.

columnLayout.columns.[].widgets.[].xyChart.xAxis.label

Optional

string

The label of the axis.

columnLayout.columns.[].widgets.[].xyChart.xAxis.scale

Optional

string

The axis scale. By default, a linear scale is used. Possible values: SCALE_UNSPECIFIED, LINEAR, LOG10

columnLayout.columns.[].widgets.[].xyChart.yAxis

Optional

object

The properties applied to the Y axis.

columnLayout.columns.[].widgets.[].xyChart.yAxis.label

Optional

string

The label of the axis.

columnLayout.columns.[].widgets.[].xyChart.yAxis.scale

Optional

string

The axis scale. By default, a linear scale is used. Possible values: SCALE_UNSPECIFIED, LINEAR, LOG10

displayName

Required

string

Required. The mutable, human-readable name.

gridLayout

Optional

object

Content is arranged with a basic layout that re-flows a simple list of informational elements like widgets or tiles.

gridLayout.columns

Optional

integer

The number of columns into which the view's width is divided. If omitted or set to zero, a system default will be used while rendering.

gridLayout.widgets

Optional

list (object)

The informational elements that are arranged into the columns row-first.

gridLayout.widgets.[]

Optional

object

The informational widget contained in the tile.

gridLayout.widgets.[].blank

Optional

object

A blank space.

gridLayout.widgets.[].scorecard

Optional

object

A scorecard summarizing time series data.

gridLayout.widgets.[].scorecard.gaugeView

Optional

object

Will cause the scorecard to show a gauge chart.

gridLayout.widgets.[].scorecard.gaugeView.lowerBound

Optional

float

The lower bound for this gauge chart. The value of the chart should always be greater than or equal to this.

gridLayout.widgets.[].scorecard.gaugeView.upperBound

Optional

float

The upper bound for this gauge chart. The value of the chart should always be less than or equal to this.

gridLayout.widgets.[].scorecard.sparkChartView

Optional

object

Will cause the scorecard to show a spark chart.

gridLayout.widgets.[].scorecard.sparkChartView.minAlignmentPeriod

Optional

string

The lower bound on data point frequency in the chart implemented by specifying the minimum alignment period to use in a time series query. For example, if the data is published once every 10 minutes it would not make sense to fetch and align data at one minute intervals. This field is optional and exists only as a hint.

gridLayout.widgets.[].scorecard.sparkChartView.sparkChartType

Required*

string

Required. The type of sparkchart to show in this chartView. Possible values: SPARK_CHART_TYPE_UNSPECIFIED, SPARK_LINE, SPARK_BAR

gridLayout.widgets.[].scorecard.thresholds

Optional

list (object)

The thresholds used to determine the state of the scorecard given the time series' current value. For an actual value x, the scorecard is in a danger state if x is less than or equal to a danger threshold that triggers below, or greater than or equal to a danger threshold that triggers above. Similarly, if x is above/below a warning threshold that triggers above/below, then the scorecard is in a warning state - unless x also puts it in a danger state. (Danger trumps warning.) As an example, consider a scorecard with the following four thresholds: { value: 90, category: 'DANGER', trigger: 'ABOVE', }, { value: 70, category: 'WARNING', trigger: 'ABOVE', }, { value: 10, category: 'DANGER', trigger: 'BELOW', }, { value: 20, category: 'WARNING', trigger: 'BELOW', } Then: values less than or equal to 10 would put the scorecard in a DANGER state, values greater than 10 but less than or equal to 20 a WARNING state, values strictly between 20 and 70 an OK state, values greater than or equal to 70 but less than 90 a WARNING state, and values greater than or equal to 90 a DANGER state.

gridLayout.widgets.[].scorecard.thresholds.[]

Optional

object

gridLayout.widgets.[].scorecard.thresholds.[].color

Optional

string

The state color for this threshold. Color is not allowed in a XyChart. Possible values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN, YELLOW, ORANGE, RED

gridLayout.widgets.[].scorecard.thresholds.[].direction

Optional

string

The direction for the current threshold. Direction is not allowed in a XyChart. Possible values: DIRECTION_UNSPECIFIED, ABOVE, BELOW

gridLayout.widgets.[].scorecard.thresholds.[].label

Optional

string

A label for the threshold.

gridLayout.widgets.[].scorecard.thresholds.[].value

Optional

float

The value of the threshold. The value should be defined in the native scale of the metric.

gridLayout.widgets.[].scorecard.timeSeriesQuery

Required*

object

Required. Fields for querying time series data from the Stackdriver metrics API.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter

Optional

object

Filter parameters to fetch time series.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.aggregation.groupByFields.[]

Optional

string

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter

Optional

object

Ranking based time series filter.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.direction

Optional

string

How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.numTimeSeries

Optional

integer

How many time series to allow to pass through the filter.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.rankingMethod

Optional

string

`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation

Optional

object

Apply a second aggregation after `aggregation` is applied.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation.groupByFields.[]

Optional

string

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio

Optional

object

Parameters to fetch a ratio between two time series filters.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator

Optional

object

The denominator of the ratio.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.groupByFields.[]

Optional

string

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator

Optional

object

The numerator of the ratio.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.groupByFields.[]

Optional

string

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter

Optional

object

Ranking based time series filter.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.direction

Optional

string

How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.numTimeSeries

Optional

integer

How many time series to allow to pass through the filter.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.rankingMethod

Optional

string

`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation

Optional

object

Apply a second aggregation after the ratio is computed.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.groupByFields.[]

Optional

string

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

gridLayout.widgets.[].scorecard.timeSeriesQuery.timeSeriesQueryLanguage

Optional

string

A query used to fetch time series.

gridLayout.widgets.[].scorecard.timeSeriesQuery.unitOverride

Optional

string

The unit of data contained in fetched time series. If non-empty, this unit will override any unit that accompanies fetched data. The format is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors) field in `MetricDescriptor`.

gridLayout.widgets.[].text

Optional

object

A raw string or markdown displaying textual content.

gridLayout.widgets.[].text.content

Optional

string

The text content to be displayed.

gridLayout.widgets.[].text.format

Optional

string

How the text content is formatted. Possible values: FORMAT_UNSPECIFIED, MARKDOWN, RAW

gridLayout.widgets.[].title

Optional

string

Optional. The title of the widget.

gridLayout.widgets.[].xyChart

Optional

object

A chart of time series data.

gridLayout.widgets.[].xyChart.chartOptions

Optional

object

Display options for the chart.

gridLayout.widgets.[].xyChart.chartOptions.mode

Optional

string

The chart mode. Possible values: MODE_UNSPECIFIED, COLOR, X_RAY, STATS

gridLayout.widgets.[].xyChart.dataSets

Required*

list (object)

Required. The data displayed in this chart.

gridLayout.widgets.[].xyChart.dataSets.[]

Required*

object

gridLayout.widgets.[].xyChart.dataSets.[].legendTemplate

Optional

string

A template string for naming `TimeSeries` in the resulting data set. This should be a string with interpolations of the form `${label_name}`, which will resolve to the label's value.

gridLayout.widgets.[].xyChart.dataSets.[].minAlignmentPeriod

Optional

string

Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the `min_alignment_period` should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.

gridLayout.widgets.[].xyChart.dataSets.[].plotType

Optional

string

How this data should be plotted on the chart. Possible values: PLOT_TYPE_UNSPECIFIED, LINE, STACKED_AREA, STACKED_BAR, HEATMAP

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery

Required*

object

Required. Fields for querying time series data from the Stackdriver metrics API.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter

Optional

object

Filter parameters to fetch time series.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation.groupByFields.[]

Optional

string

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter

Optional

object

Ranking based time series filter.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.direction

Optional

string

How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.numTimeSeries

Optional

integer

How many time series to allow to pass through the filter.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.rankingMethod

Optional

string

`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation

Optional

object

Apply a second aggregation after `aggregation` is applied.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation.groupByFields.[]

Optional

string

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio

Optional

object

Parameters to fetch a ratio between two time series filters.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator

Optional

object

The denominator of the ratio.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.groupByFields.[]

Optional

string

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator

Optional

object

The numerator of the ratio.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.groupByFields.[]

Optional

string

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter

Optional

object

Ranking based time series filter.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.direction

Optional

string

How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.numTimeSeries

Optional

integer

How many time series to allow to pass through the filter.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.rankingMethod

Optional

string

`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation

Optional

object

Apply a second aggregation after the ratio is computed.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.groupByFields.[]

Optional

string

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesQueryLanguage

Optional

string

A query used to fetch time series.

gridLayout.widgets.[].xyChart.dataSets.[].timeSeriesQuery.unitOverride

Optional

string

The unit of data contained in fetched time series. If non-empty, this unit will override any unit that accompanies fetched data. The format is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors) field in `MetricDescriptor`.

gridLayout.widgets.[].xyChart.thresholds

Optional

list (object)

Threshold lines drawn horizontally across the chart.

gridLayout.widgets.[].xyChart.thresholds.[]

Optional

object

gridLayout.widgets.[].xyChart.thresholds.[].color

Optional

string

The state color for this threshold. Color is not allowed in a XyChart. Possible values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN, YELLOW, ORANGE, RED

gridLayout.widgets.[].xyChart.thresholds.[].direction

Optional

string

The direction for the current threshold. Direction is not allowed in a XyChart. Possible values: DIRECTION_UNSPECIFIED, ABOVE, BELOW

gridLayout.widgets.[].xyChart.thresholds.[].label

Optional

string

A label for the threshold.

gridLayout.widgets.[].xyChart.thresholds.[].value

Optional

float

The value of the threshold. The value should be defined in the native scale of the metric.

gridLayout.widgets.[].xyChart.timeshiftDuration

Optional

string

The duration used to display a comparison chart. A comparison chart simultaneously shows values from two similar-length time periods (e.g., week-over-week metrics). The duration must be positive, and it can only be applied to charts with data sets of LINE plot type.

gridLayout.widgets.[].xyChart.xAxis

Optional

object

The properties applied to the X axis.

gridLayout.widgets.[].xyChart.xAxis.label

Optional

string

The label of the axis.

gridLayout.widgets.[].xyChart.xAxis.scale

Optional

string

The axis scale. By default, a linear scale is used. Possible values: SCALE_UNSPECIFIED, LINEAR, LOG10

gridLayout.widgets.[].xyChart.yAxis

Optional

object

The properties applied to the Y axis.

gridLayout.widgets.[].xyChart.yAxis.label

Optional

string

The label of the axis.

gridLayout.widgets.[].xyChart.yAxis.scale

Optional

string

The axis scale. By default, a linear scale is used. Possible values: SCALE_UNSPECIFIED, LINEAR, LOG10

mosaicLayout

Optional

object

The content is arranged as a grid of tiles, with each content widget occupying one or more tiles.

mosaicLayout.columns

Optional

integer

The number of columns in the mosaic grid.

mosaicLayout.tiles

Optional

list (object)

The tiles to display.

mosaicLayout.tiles.[]

Optional

object

mosaicLayout.tiles.[].height

Optional

integer

The height of the tile, measured in grid squares.

mosaicLayout.tiles.[].widget

Optional

object

The informational widget contained in the tile.

mosaicLayout.tiles.[].widget.blank

Optional

object

A blank space.

mosaicLayout.tiles.[].widget.scorecard

Optional

object

A scorecard summarizing time series data.

mosaicLayout.tiles.[].widget.scorecard.gaugeView

Optional

object

Will cause the scorecard to show a gauge chart.

mosaicLayout.tiles.[].widget.scorecard.gaugeView.lowerBound

Optional

float

The lower bound for this gauge chart. The value of the chart should always be greater than or equal to this.

mosaicLayout.tiles.[].widget.scorecard.gaugeView.upperBound

Optional

float

The upper bound for this gauge chart. The value of the chart should always be less than or equal to this.

mosaicLayout.tiles.[].widget.scorecard.sparkChartView

Optional

object

Will cause the scorecard to show a spark chart.

mosaicLayout.tiles.[].widget.scorecard.sparkChartView.minAlignmentPeriod

Optional

string

The lower bound on data point frequency in the chart implemented by specifying the minimum alignment period to use in a time series query. For example, if the data is published once every 10 minutes it would not make sense to fetch and align data at one minute intervals. This field is optional and exists only as a hint.

mosaicLayout.tiles.[].widget.scorecard.sparkChartView.sparkChartType

Required*

string

Required. The type of sparkchart to show in this chartView. Possible values: SPARK_CHART_TYPE_UNSPECIFIED, SPARK_LINE, SPARK_BAR

mosaicLayout.tiles.[].widget.scorecard.thresholds

Optional

list (object)

The thresholds used to determine the state of the scorecard given the time series' current value. For an actual value x, the scorecard is in a danger state if x is less than or equal to a danger threshold that triggers below, or greater than or equal to a danger threshold that triggers above. Similarly, if x is above/below a warning threshold that triggers above/below, then the scorecard is in a warning state - unless x also puts it in a danger state. (Danger trumps warning.) As an example, consider a scorecard with the following four thresholds: { value: 90, category: 'DANGER', trigger: 'ABOVE', }, { value: 70, category: 'WARNING', trigger: 'ABOVE', }, { value: 10, category: 'DANGER', trigger: 'BELOW', }, { value: 20, category: 'WARNING', trigger: 'BELOW', } Then: values less than or equal to 10 would put the scorecard in a DANGER state, values greater than 10 but less than or equal to 20 a WARNING state, values strictly between 20 and 70 an OK state, values greater than or equal to 70 but less than 90 a WARNING state, and values greater than or equal to 90 a DANGER state.

mosaicLayout.tiles.[].widget.scorecard.thresholds.[]

Optional

object

mosaicLayout.tiles.[].widget.scorecard.thresholds.[].color

Optional

string

The state color for this threshold. Color is not allowed in a XyChart. Possible values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN, YELLOW, ORANGE, RED

mosaicLayout.tiles.[].widget.scorecard.thresholds.[].direction

Optional

string

The direction for the current threshold. Direction is not allowed in a XyChart. Possible values: DIRECTION_UNSPECIFIED, ABOVE, BELOW

mosaicLayout.tiles.[].widget.scorecard.thresholds.[].label

Optional

string

A label for the threshold.

mosaicLayout.tiles.[].widget.scorecard.thresholds.[].value

Optional

float

The value of the threshold. The value should be defined in the native scale of the metric.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery

Required*

object

Required. Fields for querying time series data from the Stackdriver metrics API.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilter

Optional

object

Filter parameters to fetch time series.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilter.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilter.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilter.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilter.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilter.aggregation.groupByFields.[]

Optional

string

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilter.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilter.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter

Optional

object

Ranking based time series filter.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.direction

Optional

string

How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.numTimeSeries

Optional

integer

How many time series to allow to pass through the filter.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.rankingMethod

Optional

string

`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation

Optional

object

Apply a second aggregation after `aggregation` is applied.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation.groupByFields.[]

Optional

string

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio

Optional

object

Parameters to fetch a ratio between two time series filters.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator

Optional

object

The denominator of the ratio.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.groupByFields.[]

Optional

string

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator

Optional

object

The numerator of the ratio.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.groupByFields.[]

Optional

string

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter

Optional

object

Ranking based time series filter.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.direction

Optional

string

How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.numTimeSeries

Optional

integer

How many time series to allow to pass through the filter.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.rankingMethod

Optional

string

`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation

Optional

object

Apply a second aggregation after the ratio is computed.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.groupByFields.[]

Optional

string

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.timeSeriesQueryLanguage

Optional

string

A query used to fetch time series.

mosaicLayout.tiles.[].widget.scorecard.timeSeriesQuery.unitOverride

Optional

string

The unit of data contained in fetched time series. If non-empty, this unit will override any unit that accompanies fetched data. The format is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors) field in `MetricDescriptor`.

mosaicLayout.tiles.[].widget.text

Optional

object

A raw string or markdown displaying textual content.

mosaicLayout.tiles.[].widget.text.content

Optional

string

The text content to be displayed.

mosaicLayout.tiles.[].widget.text.format

Optional

string

How the text content is formatted. Possible values: FORMAT_UNSPECIFIED, MARKDOWN, RAW

mosaicLayout.tiles.[].widget.title

Optional

string

Optional. The title of the widget.

mosaicLayout.tiles.[].widget.xyChart

Optional

object

A chart of time series data.

mosaicLayout.tiles.[].widget.xyChart.chartOptions

Optional

object

Display options for the chart.

mosaicLayout.tiles.[].widget.xyChart.chartOptions.mode

Optional

string

The chart mode. Possible values: MODE_UNSPECIFIED, COLOR, X_RAY, STATS

mosaicLayout.tiles.[].widget.xyChart.dataSets

Required*

list (object)

Required. The data displayed in this chart.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[]

Required*

object

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].legendTemplate

Optional

string

A template string for naming `TimeSeries` in the resulting data set. This should be a string with interpolations of the form `${label_name}`, which will resolve to the label's value.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].minAlignmentPeriod

Optional

string

Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the `min_alignment_period` should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].plotType

Optional

string

How this data should be plotted on the chart. Possible values: PLOT_TYPE_UNSPECIFIED, LINE, STACKED_AREA, STACKED_BAR, HEATMAP

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery

Required*

object

Required. Fields for querying time series data from the Stackdriver metrics API.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter

Optional

object

Filter parameters to fetch time series.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation.groupByFields.[]

Optional

string

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter

Optional

object

Ranking based time series filter.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.direction

Optional

string

How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.numTimeSeries

Optional

integer

How many time series to allow to pass through the filter.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.rankingMethod

Optional

string

`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation

Optional

object

Apply a second aggregation after `aggregation` is applied.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation.groupByFields.[]

Optional

string

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio

Optional

object

Parameters to fetch a ratio between two time series filters.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator

Optional

object

The denominator of the ratio.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.groupByFields.[]

Optional

string

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator

Optional

object

The numerator of the ratio.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.groupByFields.[]

Optional

string

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter

Optional

object

Ranking based time series filter.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.direction

Optional

string

How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.numTimeSeries

Optional

integer

How many time series to allow to pass through the filter.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.rankingMethod

Optional

string

`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation

Optional

object

Apply a second aggregation after the ratio is computed.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.groupByFields.[]

Optional

string

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.timeSeriesQueryLanguage

Optional

string

A query used to fetch time series.

mosaicLayout.tiles.[].widget.xyChart.dataSets.[].timeSeriesQuery.unitOverride

Optional

string

The unit of data contained in fetched time series. If non-empty, this unit will override any unit that accompanies fetched data. The format is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors) field in `MetricDescriptor`.

mosaicLayout.tiles.[].widget.xyChart.thresholds

Optional

list (object)

Threshold lines drawn horizontally across the chart.

mosaicLayout.tiles.[].widget.xyChart.thresholds.[]

Optional

object

mosaicLayout.tiles.[].widget.xyChart.thresholds.[].color

Optional

string

The state color for this threshold. Color is not allowed in a XyChart. Possible values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN, YELLOW, ORANGE, RED

mosaicLayout.tiles.[].widget.xyChart.thresholds.[].direction

Optional

string

The direction for the current threshold. Direction is not allowed in a XyChart. Possible values: DIRECTION_UNSPECIFIED, ABOVE, BELOW

mosaicLayout.tiles.[].widget.xyChart.thresholds.[].label

Optional

string

A label for the threshold.

mosaicLayout.tiles.[].widget.xyChart.thresholds.[].value

Optional

float

The value of the threshold. The value should be defined in the native scale of the metric.

mosaicLayout.tiles.[].widget.xyChart.timeshiftDuration

Optional

string

The duration used to display a comparison chart. A comparison chart simultaneously shows values from two similar-length time periods (e.g., week-over-week metrics). The duration must be positive, and it can only be applied to charts with data sets of LINE plot type.

mosaicLayout.tiles.[].widget.xyChart.xAxis

Optional

object

The properties applied to the X axis.

mosaicLayout.tiles.[].widget.xyChart.xAxis.label

Optional

string

The label of the axis.

mosaicLayout.tiles.[].widget.xyChart.xAxis.scale

Optional

string

The axis scale. By default, a linear scale is used. Possible values: SCALE_UNSPECIFIED, LINEAR, LOG10

mosaicLayout.tiles.[].widget.xyChart.yAxis

Optional

object

The properties applied to the Y axis.

mosaicLayout.tiles.[].widget.xyChart.yAxis.label

Optional

string

The label of the axis.

mosaicLayout.tiles.[].widget.xyChart.yAxis.scale

Optional

string

The axis scale. By default, a linear scale is used. Possible values: SCALE_UNSPECIFIED, LINEAR, LOG10

mosaicLayout.tiles.[].width

Optional

integer

The width of the tile, measured in grid squares.

mosaicLayout.tiles.[].xPos

Optional

integer

The zero-indexed position of the tile in grid squares relative to the left edge of the grid.

mosaicLayout.tiles.[].yPos

Optional

integer

The zero-indexed position of the tile in grid squares relative to the top edge of the grid.

projectRef

Required

object

The Project that this resource belongs to.

projectRef.external

Optional

string

The project id of the resource.

projectRef.name

Optional

string

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

projectRef.namespace

Optional

string

Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

resourceID

Optional

string

Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default.

rowLayout

Optional

object

The content is divided into equally spaced rows and the widgets are arranged horizontally.

rowLayout.rows

Optional

list (object)

The rows of content to display.

rowLayout.rows.[]

Optional

object

rowLayout.rows.[].weight

Optional

integer

The relative weight of this row. The row weight is used to adjust the height of rows on the screen (relative to peers). Greater the weight, greater the height of the row on the screen. If omitted, a value of 1 is used while rendering.

rowLayout.rows.[].widgets

Optional

list (object)

The display widgets arranged horizontally in this row.

rowLayout.rows.[].widgets.[]

Optional

object

The informational widget contained in the tile.

rowLayout.rows.[].widgets.[].blank

Optional

object

A blank space.

rowLayout.rows.[].widgets.[].scorecard

Optional

object

A scorecard summarizing time series data.

rowLayout.rows.[].widgets.[].scorecard.gaugeView

Optional

object

Will cause the scorecard to show a gauge chart.

rowLayout.rows.[].widgets.[].scorecard.gaugeView.lowerBound

Optional

float

The lower bound for this gauge chart. The value of the chart should always be greater than or equal to this.

rowLayout.rows.[].widgets.[].scorecard.gaugeView.upperBound

Optional

float

The upper bound for this gauge chart. The value of the chart should always be less than or equal to this.

rowLayout.rows.[].widgets.[].scorecard.sparkChartView

Optional

object

Will cause the scorecard to show a spark chart.

rowLayout.rows.[].widgets.[].scorecard.sparkChartView.minAlignmentPeriod

Optional

string

The lower bound on data point frequency in the chart implemented by specifying the minimum alignment period to use in a time series query. For example, if the data is published once every 10 minutes it would not make sense to fetch and align data at one minute intervals. This field is optional and exists only as a hint.

rowLayout.rows.[].widgets.[].scorecard.sparkChartView.sparkChartType

Required*

string

Required. The type of sparkchart to show in this chartView. Possible values: SPARK_CHART_TYPE_UNSPECIFIED, SPARK_LINE, SPARK_BAR

rowLayout.rows.[].widgets.[].scorecard.thresholds

Optional

list (object)

The thresholds used to determine the state of the scorecard given the time series' current value. For an actual value x, the scorecard is in a danger state if x is less than or equal to a danger threshold that triggers below, or greater than or equal to a danger threshold that triggers above. Similarly, if x is above/below a warning threshold that triggers above/below, then the scorecard is in a warning state - unless x also puts it in a danger state. (Danger trumps warning.) As an example, consider a scorecard with the following four thresholds: { value: 90, category: 'DANGER', trigger: 'ABOVE', }, { value: 70, category: 'WARNING', trigger: 'ABOVE', }, { value: 10, category: 'DANGER', trigger: 'BELOW', }, { value: 20, category: 'WARNING', trigger: 'BELOW', } Then: values less than or equal to 10 would put the scorecard in a DANGER state, values greater than 10 but less than or equal to 20 a WARNING state, values strictly between 20 and 70 an OK state, values greater than or equal to 70 but less than 90 a WARNING state, and values greater than or equal to 90 a DANGER state.

rowLayout.rows.[].widgets.[].scorecard.thresholds.[]

Optional

object

rowLayout.rows.[].widgets.[].scorecard.thresholds.[].color

Optional

string

The state color for this threshold. Color is not allowed in a XyChart. Possible values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN, YELLOW, ORANGE, RED

rowLayout.rows.[].widgets.[].scorecard.thresholds.[].direction

Optional

string

The direction for the current threshold. Direction is not allowed in a XyChart. Possible values: DIRECTION_UNSPECIFIED, ABOVE, BELOW

rowLayout.rows.[].widgets.[].scorecard.thresholds.[].label

Optional

string

A label for the threshold.

rowLayout.rows.[].widgets.[].scorecard.thresholds.[].value

Optional

float

The value of the threshold. The value should be defined in the native scale of the metric.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery

Required*

object

Required. Fields for querying time series data from the Stackdriver metrics API.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter

Optional

object

Filter parameters to fetch time series.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.aggregation.groupByFields.[]

Optional

string

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter

Optional

object

Ranking based time series filter.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.direction

Optional

string

How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.numTimeSeries

Optional

integer

How many time series to allow to pass through the filter.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.rankingMethod

Optional

string

`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation

Optional

object

Apply a second aggregation after `aggregation` is applied.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation.groupByFields.[]

Optional

string

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilter.secondaryAggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio

Optional

object

Parameters to fetch a ratio between two time series filters.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator

Optional

object

The denominator of the ratio.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.groupByFields.[]

Optional

string

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.denominator.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator

Optional

object

The numerator of the ratio.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.groupByFields.[]

Optional

string

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.numerator.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter

Optional

object

Ranking based time series filter.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.direction

Optional

string

How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.numTimeSeries

Optional

integer

How many time series to allow to pass through the filter.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.rankingMethod

Optional

string

`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation

Optional

object

Apply a second aggregation after the ratio is computed.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.groupByFields.[]

Optional

string

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.timeSeriesQueryLanguage

Optional

string

A query used to fetch time series.

rowLayout.rows.[].widgets.[].scorecard.timeSeriesQuery.unitOverride

Optional

string

The unit of data contained in fetched time series. If non-empty, this unit will override any unit that accompanies fetched data. The format is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors) field in `MetricDescriptor`.

rowLayout.rows.[].widgets.[].text

Optional

object

A raw string or markdown displaying textual content.

rowLayout.rows.[].widgets.[].text.content

Optional

string

The text content to be displayed.

rowLayout.rows.[].widgets.[].text.format

Optional

string

How the text content is formatted. Possible values: FORMAT_UNSPECIFIED, MARKDOWN, RAW

rowLayout.rows.[].widgets.[].title

Optional

string

Optional. The title of the widget.

rowLayout.rows.[].widgets.[].xyChart

Optional

object

A chart of time series data.

rowLayout.rows.[].widgets.[].xyChart.chartOptions

Optional

object

Display options for the chart.

rowLayout.rows.[].widgets.[].xyChart.chartOptions.mode

Optional

string

The chart mode. Possible values: MODE_UNSPECIFIED, COLOR, X_RAY, STATS

rowLayout.rows.[].widgets.[].xyChart.dataSets

Required*

list (object)

Required. The data displayed in this chart.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[]

Required*

object

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].legendTemplate

Optional

string

A template string for naming `TimeSeries` in the resulting data set. This should be a string with interpolations of the form `${label_name}`, which will resolve to the label's value.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].minAlignmentPeriod

Optional

string

Optional. The lower bound on data point frequency for this data set, implemented by specifying the minimum alignment period to use in a time series query For example, if the data is published once every 10 minutes, the `min_alignment_period` should be at least 10 minutes. It would not make sense to fetch and align data at one minute intervals.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].plotType

Optional

string

How this data should be plotted on the chart. Possible values: PLOT_TYPE_UNSPECIFIED, LINE, STACKED_AREA, STACKED_BAR, HEATMAP

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery

Required*

object

Required. Fields for querying time series data from the Stackdriver metrics API.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter

Optional

object

Filter parameters to fetch time series.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation.groupByFields.[]

Optional

string

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter

Optional

object

Ranking based time series filter.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.direction

Optional

string

How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.numTimeSeries

Optional

integer

How many time series to allow to pass through the filter.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.pickTimeSeriesFilter.rankingMethod

Optional

string

`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation

Optional

object

Apply a second aggregation after `aggregation` is applied.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation.groupByFields.[]

Optional

string

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilter.secondaryAggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio

Optional

object

Parameters to fetch a ratio between two time series filters.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator

Optional

object

The denominator of the ratio.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.groupByFields.[]

Optional

string

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.denominator.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator

Optional

object

The numerator of the ratio.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation

Optional

object

By default, the raw time series data is returned. Use this field to combine multiple time series for different views of the data.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not specified in `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.groupByFields.[]

Optional

string

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.perSeriesAligner

Optional

string

An `Aligner` describes how to bring the data points in a single time series into temporal alignment. Except for `ALIGN_NONE`, all alignments cause all the data points in an `alignment_period` to be mathematically grouped together, resulting in a single data point for each `alignment_period` with end timestamp at the end of the period. Not all alignment operations may be applied to all time series. The valid choices depend on the `metric_kind` and `value_type` of the original time series. Alignment can change the `metric_kind` or the `value_type` of the time series. Time series data must be aligned in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified and not equal to `ALIGN_NONE` and `alignment_period` must be specified; otherwise, an error is returned.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.numerator.filter

Required*

string

Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters) that identifies the metric types, resources, and projects to query.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter

Optional

object

Ranking based time series filter.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.direction

Optional

string

How to use the ranking to select time series that pass through the filter. Possible values: DIRECTION_UNSPECIFIED, TOP, BOTTOM

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.numTimeSeries

Optional

integer

How many time series to allow to pass through the filter.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.rankingMethod

Optional

string

`ranking_method` is applied to each time series independently to produce the value which will be used to compare the time series to other time series. Possible values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation

Optional

object

Apply a second aggregation after the ratio is computed.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.alignmentPeriod

Optional

string

The `alignment_period` specifies a time interval, in seconds, that is used to divide the data in all the [time series][google.monitoring.v3.TimeSeries] into consistent blocks of time. This will be done before the per-series aligner can be applied to the data. The value must be at least 60 seconds. If a per-series aligner other than `ALIGN_NONE` is specified, this field is required or an error is returned. If no per-series aligner is specified, or the aligner `ALIGN_NONE` is specified, then this field is ignored.

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.crossSeriesReducer

Optional

string

The reduction operation to be used to combine time series into a single time series, where the value of each data point in the resulting series is a function of all the already aligned values in the input time series. Not all reducer operations can be applied to all time series. The valid choices depend on the `metric_kind` and the `value_type` of the original time series. Reduction can yield a time series with a different `metric_kind` or `value_type` than the input time series. Time series data must first be aligned (see `per_series_aligner`) in order to perform cross-time series reduction. If `cross_series_reducer` is specified, then `per_series_aligner` must be specified, and must not be `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an error is returned. Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION

rowLayout.rows.[].widgets.[].xyChart.dataSets.[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.groupByFields

Optional

list (string)

The set of fields to preserve when `cross_series_reducer` is specified. The `group_by_fields` determine how the time series are partitioned into subsets prior to applying the aggregation operation. Each subset contains time series that have the same value for each of the grouping fields. Each individual time series is a member of exactly one subset. The `cross_series_reducer` is applied to each subset of time series. It is not possible to reduce across different resource types, so this field implicitly contains `resource.type`. Fields not s