docs: def get_counters(counter_list):
      '''
      Get the values for the passes list of counters
  
      Args:
          counter_list (list):
              A list of counters to lookup
  
      Returns:
          dict: A dictionary of counters and their values
      '''
      if not isinstance(counter_list, list):
          raise CommandExecutionError('counter_list must be a list of tuples')
  
      try:
          # Start a Query instances
          query = win32pdh.OpenQuery()
  
          # Build the counters
          counters = build_counter_list(counter_list)
  
          # Add counters to the Query
          for counter in counters:
              counter.add_to_query(query)
  
          # https://docs.microsoft.com/en-us/windows/desktop/perfctrs/collecting-performance-data
          win32pdh.CollectQueryData(query)
          # The sleep here is required for counters that require more than 1
          # reading
          time.sleep(1)
          win32pdh.CollectQueryData(query)
          ret = {}
  
          for counter in counters:
              try:
                  ret.update({counter.path: counter.value()})
              except pywintypes.error as exc:
                  if exc.strerror == 'No data to return.':
                      # Some counters are not active and will throw an error if
                      # there is no data to return
                      continue
                  else:
                      raise
  
      finally:
          win32pdh.CloseQuery(query)
  
      return ret