コード例 #1
0
    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
コード例 #2
0
ファイル: remote.py プロジェクト: cbowman0/graphite-web
    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
コード例 #3
0
    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
コード例 #4
0
ファイル: remote.py プロジェクト: cbowman0/graphite-web
    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