From e674f22806e4aaf7aef3d3c4e6b8233bb0894baa Mon Sep 17 00:00:00 2001 From: "Mikhail f. Shiryaev" Date: Tue, 13 Aug 2019 16:28:28 +0200 Subject: [PATCH] Add forwarding of maxDataPoints from requestContext to graphouse --- src/main/pySources/graphouse.py | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/main/pySources/graphouse.py b/src/main/pySources/graphouse.py index 87f3908f..83c0e94b 100644 --- a/src/main/pySources/graphouse.py +++ b/src/main/pySources/graphouse.py @@ -55,21 +55,26 @@ def append(self, node): 'Maximum body size {} exceeded'.format(max_data_size) ) - def fetch(self, path, reqkey, start_time, end_time): + def fetch(self, path, reqkey, start_time, end_time, requestContext=None): if path in self.result: return self.result[path] - if reqkey is None: - reqkey = str(uuid.uuid4()) + reqkey = reqkey or str(uuid.uuid4()) + + requestContext = requestContext or {} + maxDataPoints = requestContext.get('maxDataPoints') profilingTime = {'start': time.time()} try: query = { - 'start': start_time, - 'end': end_time, - 'reqKey': reqkey - } + 'start': start_time, + 'end': end_time, + 'reqKey': reqkey, + } + if maxDataPoints: + query['maxDataPoints'] = maxDataPoints + data = {'metrics': ','.join(self.paths)} request_url = graphouse_url + "/metricData" request = requests.post(request_url, params=query, data=data) @@ -248,7 +253,10 @@ def fetch(self, patterns, start_time, end_time, now=None, } """ - log.debug('Multifetcher, patterns={}'.format(patterns)) + log.debug( + 'Multifetcher, patterns={}, requestContext={}' + .format(patterns, requestContext) + ) profilingTime = {'start': time.time()} requestContext = requestContext or {} @@ -287,7 +295,7 @@ def fetch(self, patterns, start_time, end_time, now=None, 'Fetch values for reqkey={} for {} metrics'.format( reqkey, len(sub.nodes) ), - sub.nodes[0].path, reqkey, start_time, end_time + sub.nodes[0].path, reqkey, start_time, end_time, requestContext ) for sub in subreqs if sub.nodes ] profilingTime['gen_fetch'] = time.time()