@@ -55,21 +55,26 @@ def append(self, node):
5555 'Maximum body size {} exceeded' .format (max_data_size )
5656 )
5757
58- def fetch (self , path , reqkey , start_time , end_time ):
58+ def fetch (self , path , reqkey , start_time , end_time , requestContext = None ):
5959 if path in self .result :
6060 return self .result [path ]
6161
62- if reqkey is None :
63- reqkey = str (uuid .uuid4 ())
62+ reqkey = reqkey or str (uuid .uuid4 ())
63+
64+ requestContext = requestContext or {}
65+ maxDataPoints = requestContext .get ('maxDataPoints' )
6466
6567 profilingTime = {'start' : time .time ()}
6668
6769 try :
6870 query = {
69- 'start' : start_time ,
70- 'end' : end_time ,
71- 'reqKey' : reqkey
72- }
71+ 'start' : start_time ,
72+ 'end' : end_time ,
73+ 'reqKey' : reqkey ,
74+ }
75+ if maxDataPoints :
76+ query ['maxDataPoints' ] = maxDataPoints
77+
7378 data = {'metrics' : ',' .join (self .paths )}
7479 request_url = graphouse_url + "/metricData"
7580 request = requests .post (request_url , params = query , data = data )
@@ -248,7 +253,10 @@ def fetch(self, patterns, start_time, end_time, now=None,
248253 }
249254 """
250255
251- log .debug ('Multifetcher, patterns={}' .format (patterns ))
256+ log .debug (
257+ 'Multifetcher, patterns={}, requestContext={}'
258+ .format (patterns , requestContext )
259+ )
252260 profilingTime = {'start' : time .time ()}
253261
254262 requestContext = requestContext or {}
@@ -287,7 +295,7 @@ def fetch(self, patterns, start_time, end_time, now=None,
287295 'Fetch values for reqkey={} for {} metrics' .format (
288296 reqkey , len (sub .nodes )
289297 ),
290- sub .nodes [0 ].path , reqkey , start_time , end_time
298+ sub .nodes [0 ].path , reqkey , start_time , end_time , requestContext
291299 ) for sub in subreqs if sub .nodes
292300 ]
293301 profilingTime ['gen_fetch' ] = time .time ()
0 commit comments