docs: @Override
    public Collection<Symptom> detect(Collection<Measurement> measurements) {
  
      Collection<Symptom> result = new ArrayList<>();
  
      MeasurementsTable waitQueueMetrics
          = MeasurementsTable.of(measurements).type(METRIC_WAIT_Q_SIZE.text());
      for (String component : waitQueueMetrics.uniqueComponents()) {
        Set<String> addresses = new HashSet<>();
        MeasurementsTable instanceMetrics = waitQueueMetrics.component(component);
        for (String instance : instanceMetrics.uniqueInstances()) {
          double avgWaitQSize = instanceMetrics.instance(instance).mean();
          if (avgWaitQSize > sizeLimit) {
            LOG.info(String.format("Detected large wait queues for instance"
                + "%s, smallest queue is + %f", instance, avgWaitQSize));
            addresses.add(instance);
          }
        }
        if (addresses.size() > 0) {
          result.add(new Symptom(SYMPTOM_LARGE_WAIT_Q.text(), context.checkpoint(), addresses));
        }
      }
  
      return result;
    }