{
  "GlobalSettings": {
    "type": "dynamic",
    "separator": "_"
  },
  "vectors": [
    {
      "URL": "$BaseURL/timeSeries?aggregation.crossSeriesReducer=REDUCE_SUM&filter=metric.type=\"spanner.googleapis.com/instance/backup/used_bytes\"&aggregation.perSeriesAligner=ALIGN_MEAN&interval.startTime={$start_time}&interval.endTime={$end_time}&aggregation.alignmentPeriod=60s&aggregation.groupByFields=resource.label.\"instance_config\"&aggregation.groupByFields=resource.label.\"instance_id\"&aggregation.groupByFields=metric.label.\"database\"&aggregation.groupByFields=metric.label.\"backup\"",
      "URLSetting": {
        "requestType": "get"
      },
      "path": [
        {
          "isPartOfHierarchy": true,
          "query": "$.timeSeries[*].resource.labels..project_id"
        },
        {
          "isPartOfHierarchy": true,
          "query": "$.timeSeries[*].resource.labels.instance_config",
          "replaceVectorKey": "instanceConfigKey1"
        },
        {
          "isPartOfHierarchy": true,
          "query": "$.timeSeries[*].resource.labels[?(@.instance_config == 'instanceConfigKey1')].instance_id",
          "replaceVectorKey": "instanceIdKey1"
        },
        {
          "isPartOfHierarchy": true,
          "query": "$.timeSeries[*][?(@.resource.labels.instance_config == 'instanceConfigKey1' && @.resource.labels.instance_id == 'instanceIdKey1')].metric.labels.database",
          "replaceVectorKey": "databaseKey"
        },
		{
          "isPartOfHierarchy": true,
          "query": "$.timeSeries[*][?(@.resource.labels.instance_config == 'instanceConfigKey1' && @.resource.labels.instance_id == 'instanceIdKey1')].metric.labels[?(@.database == 'databaseKey')].backup",
          "replaceVectorKey": "backupKey"
        }
      ],
      "metrics": [
        {
          "mPath": "$.timeSeries[*][?(@.resource.labels.instance_config == 'instanceConfigKey1' && @.resource.labels.instance_id == 'instanceIdKey1' && @.metric.labels.database =='databaseKey' && @.metric.labels.backup =='backupKey')].points[0].value.",
          "operation": "none",
          "attribute": [
            {
              "operation": "none",
              "name": "doubleValue",
              "index": 1,
              "type": 1
            }
          ]
        }
      ]
    }
  ]
}
