MonitoringDashboard


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

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 `group_by_fields` are aggregated away. If `group_by_fields` is not specified and all the time series have the same resource type, then the time series are aggregated into a single output time series. If `cross_series_reducer` is not defined, this field is ignored.

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

Optional

string

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

Optional

string

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

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

Required*

string

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

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

Optional

object

Ranking based time series filter.

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

Optional

string

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

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

Optional

integer

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

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

Optional

string

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

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

Optional

object

Apply a second aggregation after the ratio is computed.

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

Optional

string

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

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

Optional

string

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

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

Optional

list (string)

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

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

Optional

string

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

Optional

string

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

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

Optional

string

A query used to fetch time series.

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

Optional

string

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

mosaicLayout.tiles[].widget.xyChart.thresholds

Optional

list (object)

Threshold lines drawn horizontally across the chart.

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

Optional

object

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

Optional

string

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

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

Optional

string

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

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

Optional

string

A label for the threshold.

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

Optional

float

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

mosaicLayout.tiles[].widget.xyChart.timeshiftDuration

Optional

string

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

mosaicLayout.tiles[].widget.xyChart.xAxis

Optional

object

The properties applied to the X axis.

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

Optional

string

The label of the axis.

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

Optional

string

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

mosaicLayout.tiles[].widget.xyChart.yAxis

Optional

object

The properties applied to the Y axis.

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

Optional

string

The label of the axis.

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

Optional

string

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

mosaicLayout.tiles[].width

Optional

integer

The width of the tile, measured in grid squares.

mosaicLayout.tiles[].xPos

Optional

integer

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

mosaicLayout.tiles[].yPos

Optional

integer

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

projectRef

Required

object

Immutable. The Project that this resource belongs to.

projectRef.external

Optional

string

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

projectRef.name

Optional

string

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

projectRef.namespace

Optional

string

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

resourceID

Optional

string

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

rowLayout

Optional

object

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

rowLayout.rows

Optional

list (object)

The rows of content to display.

rowLayout.rows[]

Optional

object

rowLayout.rows[].weight

Optional

integer

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

rowLayout.rows[].widgets

Optional

list (object)

The display widgets arranged horizontally in this row.

rowLayout.rows[].widgets[]

Optional

object

rowLayout.rows[].widgets[].blank

Optional

object

A blank space.

rowLayout.rows[].widgets[].logsPanel

Optional

object

rowLayout.rows[].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.

rowLayout.rows[].widgets[].logsPanel.resourceNames

Optional

list (object)

rowLayout.rows[].widgets[].logsPanel.resourceNames[]

Optional

object

rowLayout.rows[].widgets[].logsPanel.resourceNames[].external

Optional

string

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

rowLayout.rows[].widgets[].logsPanel.resourceNames[].name

Optional

string

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

rowLayout.rows[].widgets[].logsPanel.resourceNames[].namespace

Optional

string

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

rowLayout.rows[].widgets[].scorecard

Optional

object

A scorecard summarizing time series data.

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

Optional

object

Will cause the scorecard to show a gauge chart.

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

Optional

float

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

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

Optional

float

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

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

Optional

object

Will cause the scorecard to show a spark chart.

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

Optional

string

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

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

Required*

string

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

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

Optional

list (object)

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

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

Optional

object

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

Optional

string

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

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

Optional

string

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

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

Optional

string

A label for the threshold.

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

Optional

float

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

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

Required*

object

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

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

Optional

object

Filter parameters to fetch time series.

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

Optional

object

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

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

Optional

string

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

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

Optional

string

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

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

Optional

list (string)

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

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

Optional

string

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

Optional

string

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

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

Required*

string

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

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

Optional

object

Ranking based time series filter.

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

Optional

string

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

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

Optional

integer

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

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

Optional

string

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

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

Optional

object

Apply a second aggregation after `aggregation` is applied.

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

Optional

string

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

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

Optional

string

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

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

Optional

list (string)

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

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

Optional

string

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

Optional

string

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

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

Optional

object

Parameters to fetch a ratio between two time series filters.

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

Optional

object

The denominator of the ratio.

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

Optional

object

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

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

Optional

string

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

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

Optional

string

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

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

Optional

list (string)

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

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

Optional

string

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

Optional

string

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

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

Required*

string

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

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

Optional

object

The numerator of the ratio.

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

Optional

object

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

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

Optional

string

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

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

Optional

string

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

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

Optional

list (string)

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

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

Optional

string

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

Optional

string

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

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

Required*

string

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

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

Optional

object

Ranking based time series filter.

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

Optional

string

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

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

Optional

integer

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

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

Optional

string

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

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

Optional

object

Apply a second aggregation after the ratio is computed.

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

Optional

string

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

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

Optional

string

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

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

Optional

list (string)

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

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

Optional

string

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

Optional

string

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

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

Optional

string

A query used to fetch time series.

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

Optional

string

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

rowLayout.rows[].widgets[].text

Optional

object

A raw string or markdown displaying textual content.

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

Optional

string

The text content to be displayed.

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

Optional

string

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

rowLayout.rows[].widgets[].title

Optional

string

Optional. The title of the widget.

rowLayout.rows[].widgets[].xyChart

Optional

object

A chart of time series data.

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

Optional

object

Display options for the chart.

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

Optional

string

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

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

Required*

list (object)

Required. The data displayed in this chart.

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

Required*

object

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

Optional

string

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

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

Optional

string

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

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

Optional

string

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

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

Required*

object

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

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

Optional

object

Filter parameters to fetch time series.

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

Optional

object

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

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

Optional

string

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

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

Optional

string

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

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

Optional

list (string)

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

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

Optional

string

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

Optional

string

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

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

Required*

string

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

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

Optional

object

Ranking based time series filter.

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

Optional

string

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

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

Optional

integer

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

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

Optional

string

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

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

Optional

object

Apply a second aggregation after `aggregation` is applied.

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

Optional

string

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

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

Optional

string

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

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

Optional

list (string)

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

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

Optional

string

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

Optional

string

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

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

Optional

object

Parameters to fetch a ratio between two time series filters.

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

Optional

object

The denominator of the ratio.

rowLayout.rows[].widgets[].xyChart.dataSets[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation

Optional

object

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

rowLayout.rows[].widgets[].xyChart.dataSets[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.alignmentPeriod

Optional

string

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

rowLayout.rows[].widgets[].xyChart.dataSets[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.crossSeriesReducer

Optional

string

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

rowLayout.rows[].widgets[].xyChart.dataSets[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.groupByFields

Optional

list (string)

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

rowLayout.rows[].widgets[].xyChart.dataSets[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.groupByFields[]

Optional

string

rowLayout.rows[].widgets[].xyChart.dataSets[].timeSeriesQuery.timeSeriesFilterRatio.denominator.aggregation.perSeriesAligner

Optional

string

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

rowLayout.rows[].widgets[].xyChart.dataSets[].timeSeriesQuery.timeSeriesFilterRatio.denominator.filter

Required*

string

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

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

Optional

object

The numerator of the ratio.

rowLayout.rows[].widgets[].xyChart.dataSets[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation

Optional

object

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

rowLayout.rows[].widgets[].xyChart.dataSets[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.alignmentPeriod

Optional

string

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

rowLayout.rows[].widgets[].xyChart.dataSets[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.crossSeriesReducer

Optional

string

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

rowLayout.rows[].widgets[].xyChart.dataSets[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.groupByFields

Optional

list (string)

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

rowLayout.rows[].widgets[].xyChart.dataSets[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.groupByFields[]

Optional

string

rowLayout.rows[].widgets[].xyChart.dataSets[].timeSeriesQuery.timeSeriesFilterRatio.numerator.aggregation.perSeriesAligner

Optional

string

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

rowLayout.rows[].widgets[].xyChart.dataSets[].timeSeriesQuery.timeSeriesFilterRatio.numerator.filter

Required*

string

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

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

Optional

object

Ranking based time series filter.

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

Optional

string

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

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

Optional

integer

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

rowLayout.rows[].widgets[].xyChart.dataSets[].timeSeriesQuery.timeSeriesFilterRatio.pickTimeSeriesFilter.rankingMethod

Optional

string

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

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

Optional

object

Apply a second aggregation after the ratio is computed.

rowLayout.rows[].widgets[].xyChart.dataSets[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.alignmentPeriod

Optional

string

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

rowLayout.rows[].widgets[].xyChart.dataSets[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.crossSeriesReducer

Optional

string

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

rowLayout.rows[].widgets[].xyChart.dataSets[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.groupByFields

Optional

list (string)

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

rowLayout.rows[].widgets[].xyChart.dataSets[].timeSeriesQuery.timeSeriesFilterRatio.secondaryAggregation.groupByFields[]

Optional

string

rowLayout.rows[].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.

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

Optional

string

A query used to fetch time series.

rowLayout.rows[].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`.

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

Optional

list (object)

Threshold lines drawn horizontally across the chart.

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

Optional

object

rowLayout.rows[].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

rowLayout.rows[].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

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

Optional

string

A label for the threshold.

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

Optional

float

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

rowLayout.rows[].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.

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

Optional

object

The properties applied to the X axis.

rowLayout.rows[].widgets[].xyChart.xAxis.label

Optional

string

The label of the axis.

rowLayout.rows[].widgets[].xyChart.xAxis.scale

Optional

string

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

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

Optional

object

The properties applied to the Y axis.

rowLayout.rows[].widgets[].xyChart.yAxis.label

Optional

string

The label of the axis.

rowLayout.rows[].widgets[].xyChart.yAxis.scale

Optional

string

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

* Field is required when parent field is specified

Status

Schema

conditions:
- lastTransitionTime: string
  message: string
  reason: string
  status: string
  type: string
etag: string
observedGeneration: integer
Fields
conditions

list (object)

Conditions represent the latest available observation of the resource's current state.

conditions[]

object

conditions[].lastTransitionTime

string

Last time the condition transitioned from one status to another.

conditions[].message

string

Human-readable message indicating details about last transition.

conditions[].reason

string

Unique, one-word, CamelCase reason for the condition's last transition.

conditions[].status

string

Status is the status of the condition. Can be True, False, Unknown.

conditions[].type

string

Type is the type of the condition.

etag

string

\`etag\` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. An \`etag\` is returned in the response to \`GetDashboard\`, and users are expected to put that etag in the request to \`UpdateDashboard\` to ensure that their change will be applied to the same version of the Dashboard configuration. The field should not be passed during dashboard creation.

observedGeneration

integer

ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.

Sample YAML(s)

Typical Use Case

# Copyright 2021 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

apiVersion: monitoring.cnrm.cloud.google.com/v1beta1
kind: MonitoringDashboard
metadata:
  name: monitoringdashboard-sample
spec:
  projectRef:
    # Replace ${PROJECT_ID?} with your project ID
    external: "projects/${PROJECT_ID?}"
  displayName: "monitoringdashboard-sample"
  columnLayout:
    columns:
    - weight: 2
      widgets:
      - title: "Widget 1"
        xyChart:
          dataSets:
          - timeSeriesQuery:
              timeSeriesFilter:
                filter: metric.type="agent.googleapis.com/nginx/connections/accepted_count"
                aggregation:
                  perSeriesAligner: "ALIGN_RATE"
              unitOverride: "1"
            plotType: LINE
          timeshiftDuration: 0s
          yAxis:
            label: y1Axis
            scale: LINEAR
      - text:
          content: "Widget 2"
          format: "MARKDOWN"
      - title: "Widget 3"
        xyChart:
          dataSets:
          - timeSeriesQuery:
              timeSeriesFilter:
                filter: metric.type="agent.googleapis.com/nginx/connections/accepted_count"
                aggregation:
                  perSeriesAligner: ALIGN_RATE
              unitOverride: "1"
            plotType: "STACKED_BAR"
          timeshiftDuration: 0s
          yAxis:
            label: y1Axis
            scale: LINEAR
      - title: "Widget 4"
        logsPanel:
          filter: metric.type="agent.googleapis.com/nginx/connections/accepted_count"
          resourceNames:
            # Replace ${PROJECT_ID?} with the ID of the project you wish to monitor
            - external: "projects/${PROJECT_ID?}"