{
  "GlobalSettings": {
    "type": "dynamic",
    "separator": "_"
  },
  "vectors": [
    {
      "URL": "$BaseURL/timeSeries?aggregation.crossSeriesReducer=REDUCE_NONE&filter=metric.type=\"firebasestorage.googleapis.com/rules/evaluation_count\"&aggregation.perSeriesAligner=ALIGN_RATE&interval.startTime={$start_time}&interval.endTime={$end_time}&aggregation.alignmentPeriod=60s",
      "URLSetting": {
        "requestType": "get"
      },
      "path": [
        {
          "isPartOfHierarchy": true,
          "query": "$.timeSeries[*].resource.labels.project_id"
        },
        {
          "isPartOfHierarchy": true,
          "query": "$.timeSeries[*].resource.labels.location",
          "replaceVectorKey": "locationKey"
        },
        {
          "isPartOfHierarchy": true,
          "query": "$.timeSeries[*].resource.labels[?(@.location == 'locationKey')].bucket_name",
          "replaceVectorKey": "tableKey"
        },
        {
          "isPartOfHierarchy": true,
          "query": "$.timeSeries[*][?(@.resource.labels.location == 'locationKey' && @.resource.labels.bucket_name== 'tableKey')].metric.labels.request_method",
          "replaceVectorKey": "reqMethodKey"
        },
        {
          "isPartOfHierarchy": true,
          "query": "$.timeSeries[*][?(@.resource.labels.location == 'locationKey' && @.resource.labels.bucket_name== 'tableKey')].metric.labels[?(@.request_method == 'reqMethodKey')].ruleset_label",
          "replaceVectorKey": "ruleSetKey"
        },
        {
          "isPartOfHierarchy": true,
          "query": "$.timeSeries[*][?(@.resource.labels.location == 'locationKey' && @.resource.labels.bucket_name== 'tableKey')].metric.labels[?(@.request_method == 'reqMethodKey' && @.ruleset_label == 'ruleSetKey' )].result",
          "replaceVectorKey": "resultKey"
        }
      ],
      "metrics": [
        {
          "mPath": "$.timeSeries[*][?(@.resource.labels.location == 'locationKey' && @.resource.labels.bucket_name == 'tableKey' && @.resource.labels.request_method == 'reqMethodKey' && @.metric.labels.ruleset_label == 'ruleSetKey' && @.metric.labels.result == 'resultKey')].points[0].value.",
          "operation": "none",
          "attribute": [
            {
              "operation": "none",
              "name": "doubleValue",
              "index": 1,
              "type": 1
            }
          ]
        }
      ]
    }
  ]
}