(self, endpoint, instance=None)
Poll the data from prometheus and return the metrics as a generator.
Poll the data from prometheus and return the metrics as a generator.
Poll the data from prometheus and return the metrics as a generator .
def scrape_metrics(self, endpoint, instance=None):
        """
        Poll the data from prometheus and return the metrics as a generator.
        """
        response = self.poll(endpoint, instance=instance)
        try:
            # no dry run if no label joins
            if not self.label_joins:
                self._dry_run = False
            elif not self._watched_labels:
                # build the _watched_labels set
                for val in itervalues(self.label_joins):
                    self._watched_labels.add(val['label_to_match'])

            for metric in self.parse_metric_family(response):
                yield metric

            # Set dry run off
            self._dry_run = False
            # Garbage collect unused mapping and reset active labels
            for metric, mapping in list(iteritems(self._label_mapping)):
                for key in list(mapping):
                    if key not in self._active_label_mapping[metric]:
                        del self._label_mapping[metric][key]
            self._active_label_mapping = {}
        finally:
            response.close()
def scrape_metrics ( self , endpoint , instance = None ) : response = self . poll ( endpoint , instance = instance ) try : # no dry run if no label joins if not self . label_joins : self . _dry_run = False elif not self . _watched_labels : # build the _watched_labels set for val in itervalues ( self . label_joins ) : self . _watched_labels . add ( val [ 'label_to_match' ] ) for metric in self . parse_metric_family ( response ) : yield metric # Set dry run off self . _dry_run = False # Garbage collect unused mapping and reset active labels for metric , mapping in list ( iteritems ( self . _label_mapping ) ) : for key in list ( mapping ) : if key not in self . _active_label_mapping [ metric ] : del self . _label_mapping [ metric ] [ key ] self . _active_label_mapping = { } finally : response . close ( )