class_docstr: An interface to receive log statistics. Implemented by the LogStatAggregator class to receive logs
  from the subjacent aggregator.
class_docstr_tok: ["An","interface","to","receive","log","statistics",".","Implemented","by","the","LogStatAggregator","class","to","receive","logs","from","the","subjacent","aggregator","."]
docstr: Receive a statistics object from an aggregator. This might be called multiple times in case we consume
  statistics from multiple LogStatAggregator objects.
  
  :param stat: The statistics dictionary
docstr_tok: ["Receive","a","statistics","object","from","an","aggregator",".","This","might","be","called","multiple","times","in","case","we","consume","statistics","from","multiple","LogStatAggregator","objects",".",":","param","stat",":","The","statistics","dictionary"]
code: def receive(self, stat: LogStats):
      """
      Receive a statistics object from an aggregator. This might be called multiple times in case we consume
      statistics from multiple LogStatAggregator objects.
  
      :param stat: The statistics dictionary
      """
  
imports: from abc import ABC, abstractmethod
  from collections import defaultdict
  from enum import Enum
  from typing import Union, Callable, Dict, Optional, NamedTuple, List, Type, TypeVar, Tuple, Any
  import numpy
  from maze.core.events.event_record import EventRecord
  from maze.core.events.event_topic_factory import event_topic_factory
label_desc: Use image node_id 1 for calling the LogStatsConsumer obj's underlying member method code with example usage: obj.receive(stat) without return types