def get_index(self, requestContext): url = '/metrics/index.json' headers = requestContext.get('forwardHeaders') result = self.request(url, fields=[ ('local', self.params.get('local', '1')), ], headers=headers, timeout=settings.REMOTE_FIND_TIMEOUT) try: reader = codecs.getreader('utf-8') results = json.load(reader(result)) except Exception as err: self.fail() log.exception( "RemoteFinder[%s] Error decoding index response from %s: %s" % (self.host, result.url_full, err)) raise Exception("Error decoding index response from %s: %s" % (result.url_full, err)) finally: result.release_conn() return results
def auto_complete_values(self, exprs, tag, valuePrefix=None, limit=None, requestContext=None): """ Return auto-complete suggestions for tags and values based on the matches for the specified expressions, optionally filtered by tag and/or value prefix """ if limit is None: limit = settings.TAGDB_AUTOCOMPLETE_LIMIT fields = [ ('tag', tag or ''), ('valuePrefix', valuePrefix or ''), ('limit', str(limit)), ('local', self.params.get('local', '1')), ] for expr in exprs: fields.append(('expr', expr)) result = self.request( '/tags/autoComplete/values', fields, headers=requestContext.get('forwardHeaders') if requestContext else None, timeout=settings.FIND_TIMEOUT) try: reader = codecs.getreader('utf-8') results = json.load(reader(result)) except Exception as err: self.fail() log.exception( "RemoteFinder[%s] Error decoding autocomplete values response from %s: %s" % (self.host, result.url_full, err)) raise Exception("Error decoding autocomplete values response from %s: %s" % (result.url_full, err)) finally: result.release_conn() return results
def auto_complete_values(self, exprs, tag, valuePrefix=None, limit=None, requestContext=None): """ Return auto-complete suggestions for tags and values based on the matches for the specified expressions, optionally filtered by tag and/or value prefix """ if limit is None: limit = settings.TAGDB_AUTOCOMPLETE_LIMIT fields = [ ('tag', tag or ''), ('valuePrefix', valuePrefix or ''), ('limit', str(limit)), ] for expr in exprs: fields.append(('expr', expr)) result = self.request( '/tags/autoComplete/values', fields, headers=requestContext.get('forwardHeaders') if requestContext else None, timeout=settings.REMOTE_FIND_TIMEOUT) try: reader = codecs.getreader('utf-8') results = json.load(reader(result)) except Exception as err: self.fail() log.exception( "RemoteFinder[%s] Error decoding autocomplete values response from %s: %s" % (self.host, result.url_full, err)) raise Exception("Error decoding autocomplete values response from %s: %s" % (result.url_full, err)) finally: result.release_conn() return results
def get_index(self, requestContext): url = '/metrics/index.json' headers = requestContext.get('forwardHeaders') result = self.request( url, fields=[ ('local', self.params.get('local', '1')), ], headers=headers, timeout=settings.FIND_TIMEOUT) try: reader = codecs.getreader('utf-8') results = json.load(reader(result)) except Exception as err: self.fail() log.exception( "RemoteFinder[%s] Error decoding index response from %s: %s" % (self.host, result.url_full, err)) raise Exception("Error decoding index response from %s: %s" % (result.url_full, err)) finally: result.release_conn() return results