def process(self, stat, val, timestamp=None, seen=None):
    if not seen:
      seen = set()
    elif stat in seen:
      return False
    seen.add(stat)

    aggregates = self._aggregates.match(stat)
    for schema in self._schemas:
      stored = schema.store(stat, val, timestamp)
      if self._debug:
        if stored:
          logging.debug('STOR %s %s %.06f'%(stat, val, timestamp))
        elif self._debug > 1:
          logging.debug('SKIP %s %s %.06f'%(stat, val, timestamp))
    
    # Infinite loop is prevented by match() implementation
    for ag in aggregates:
      processed = self.process(ag, val, timestamp, seen=seen)
      if self._debug and processed:
        logging.debug('AGRT %s FROM %s %s %.06f'%(ag, stat, val, timestamp))

    return True
Returns whether or not the grouper can match a single line based on the start_pattern.
dataset/ETHPy150Open agoragames/torus/torus/configuration.py/Configuration.process--crossover with--dataset/ETHPy150Open scalyr/scalyr-agent-2/scalyr_agent/line_matcher.py/LineGrouper._match_single_line