MonitoringDashboard

Stay organized with collections Save and categorize content based on your preferences.
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

Annotations

Fields
cnrm.cloud.google.com/state-into-spec

Spec

Schema

columnLayout:
  columns:
  - weight: integer
    widgets:
    - blank: {}
      logsPanel:
        filter: string
        resourceNames:
        - external: string
          name: string
          namespace: string
      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: {}
    logsPanel:
      filter: string
      resourceNames:
      - external: string
        name: string
        namespace: string
    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: {}
      logsPanel:
        filter: string
        resourceNames:
        - external: string
          name: string
          namespace: string
      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: {}
      logsPanel:
        filter: string
        resourceNames:
        - external: string
          name: string
          namespace: string
      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[].logsPanel

Optional

object

columnLayout.columns[].widgets[].logsPanel.filter

Optional

string

A filter that chooses which log entries to return. See [Advanced Logs Queries](https://cloud.google.com/logging/docs/view/advanced-queries). Only log entries that match the filter are returned. An empty filter matches all log entries.

columnLayout.columns[].widgets[].logsPanel.resourceNames

Optional

list (object)

columnLayout.columns[].widgets[].logsPanel.resourceNames[]

Optional

object

columnLayout.columns[].widgets[].logsPanel.resourceNames[].external

Optional

string

Allowed value: The Google Cloud resource name of a `Project` resource (format: `projects/{{name}}`).

columnLayout.columns[].widgets[].logsPanel.resourceNames[].name

Optional

string

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

columnLayout.columns[].widgets[].logsPanel.resourceNames[].namespace

Optional

string

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

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

gridLayout.widgets[].blank

Optional

object

A blank space.

gridLayout.widgets[].logsPanel

Optional

object

gridLayout.widgets[].logsPanel.filter

Optional

string

A filter that chooses which log entries to return. See [Advanced Logs Queries](https://cloud.google.com/logging/docs/view/advanced-queries). Only log entries that match the filter are returned. An empty filter matches all log entries.

gridLayout.widgets[].logsPanel.resourceNames

Optional

list (object)

gridLayout.widgets[].logsPanel.resourceNames[]

Optional

object

gridLayout.widgets[].logsPanel.resourceNames[].external

Optional

string

Allowed value: The Google Cloud resource name of a `Project` resource (format: `projects/{{name}}`).

gridLayout.widgets[].logsPanel.resourceNames[].name

Optional

string

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

gridLayout.widgets[].logsPanel.resourceNames[].namespace

Optional

string

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

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.logsPanel

Optional

object

mosaicLayout.tiles[].widget.logsPanel.filter

Optional

string

A filter that chooses which log entries to return. See [Advanced Logs Queries](https://cloud.google.com/logging/docs/view/advanced-queries). Only log entries that match the filter are returned. An empty filter matches all log entries.

mosaicLayout.tiles[].widget.logsPanel.resourceNames

Optional

list (object)

mosaicLayout.tiles[].widget.logsPanel.resourceNames[]

Optional

object

mosaicLayout.tiles[].widget.logsPanel.resourceNames[].external

Optional

string

Allowed value: The Google Cloud resource name of a `Project` resource (format: `projects/{{name}}`).

mosaicLayout.tiles[].widget.logsPanel.resourceNames[].name

Optional

string

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

mosaicLayout.tiles[].widget.logsPanel.resourceNames[].namespace

Optional

string

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

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 `g