docs: def subscribe(self, callback, filter_):
          """
          Create and register metric subscriber,
          find metrics for this subscriber (using filter_) and subscribe
  
          Args:
              callback (object method): subscriber's callback
              filter_ (dict): filter dict
  
          filter sample:
              {'type': 'metrics', 'source': 'gun'}
          """
          sub_id = "subscriber_{uuid}".format(uuid=uuid.uuid4())
          # register subscriber in manager
          sub = pd.DataFrame({sub_id: filter_}).T
          sub['callback'] = callback
          self.subscribers = self.subscribers.append(sub)
  
          # find metrics for subscriber using `filter`
          this_subscriber_metrics = self.__filter(self.metrics_meta, filter_)
          if this_subscriber_metrics.empty:
              logger.debug('Metrics for subscriber %s not found', sub_id)
          else:
              logger.debug('Found metrics for this subscriber, subscribing...: %s', this_subscriber_metrics)
              # attach this sub callback to discovered metrics and select id <-> callbacks
              this_subscriber_metrics['callback'] = callback
              prepared_callbacks = this_subscriber_metrics[['callback']]
              # add this subscriber callbacks to DataManager's callbacks
              self.callbacks = self.callbacks.append(prepared_callbacks)