{
  "GlobalSettings": {
    "type": "dynamic",
    "separator": "_"
  },
  "vectors": [
    {
      "URL": "$BaseURL/timeSeries?aggregation.crossSeriesReducer=REDUCE_SUM&filter=metric.type=\"datastore.googleapis.com/api/request_count\"&aggregation.perSeriesAligner=ALIGN_RATE&interval.startTime={$start_time}&interval.endTime={$end_time}&aggregation.alignmentPeriod=60s&aggregation.groupByFields=resource.label.\"project_id\"&aggregation.groupByFields=resource.label.\"module_id\"&aggregation.groupByFields=metric.label.\"api_method\"&aggregation.groupByFields=metric.label.\"response_code\"",
      "URLSetting": {
        "requestType": "get"
      },
      "path": [
        {
          "isPartOfHierarchy": true,
          "query": "$.timeSeries[*].resource.labels.project_id"
        },
        {
          "isPartOfHierarchy": true,
          "query": "$.timeSeries[*].resource.labels.module_id",
          "replaceVectorKey": "moduleKey"
        },
        {
          "isPartOfHierarchy": true,
          "query": "$.timeSeries[*][?(@.resource.labels.module_id=='moduleKey')].metric.labels.api_method",
          "replaceVectorKey": "methodKey"
        },
        {
          "isPartOfHierarchy": true,
          "query": "$.timeSeries[*][?(@.resource.labels.module_id=='moduleKey')].metric.labels[?(@.api_method =='methodKey')].response_code",
          "replaceVectorKey": "responseKey"
        }
      ],
      "metrics": [
        {
          "mPath": "$.timeSeries[*][?(@.resource.labels.module_id == 'moduleKey' && @.metric.labels.api_method == 'methodKey' && @.metric.labels.response_code == 'responseKey')].points[0].value.",
          "operation": "none",
          "attribute": [
            {
              "operation": "none",
              "name": "doubleValue",
              "index": 1,
              "type": 1
            }
          ]
        }
      ]
    }
  ]
}
