def parseAnalysisFile()

in tooling/query-metrics-alerts/parse_analysis.py [0:0]


def parseAnalysisFile(file, resourceTypes):
  # Read the CSV file using Pandas
  alerts = pd.read_csv(file, header=0).to_dict('records')


  for alert in alerts:
    type = alert['resourceType']
    metric = alert['metricName']

    # Check if the metric is in the metrics list for each resource type
    if type in resourceTypes.keys():
      if 'metrics' in resourceTypes[type].keys():
        # find key in metrics that matches lowercase metric name
        key = [k for k in resourceTypes[type]['metrics'].keys() if k.lower() == metric.lower()]
        if len(key) > 0:
          # drop first keys in alert
          alert.pop('resourceType')
          alert.pop('metricName')
          resourceTypes[type]['metrics'][key[0]]['alert'] = alert
        else:
          print(f"Did not find metric: {metric} in {type}")