4646)
4747
4848@click .command ()
49- @click .option ("--course_key" , default = "" , help = "A course_key to apply as a filter." )
49+ @click .option (
50+ "--course_key" ,
51+ default = "" ,
52+ help = "A course_key to apply as a filter, you must include the 'course-v1:'." )
5053@click .option (
5154 "--print_sql" ,
5255 is_flag = True ,
@@ -64,7 +67,8 @@ def performance_metrics(course_key, print_sql, fail_on_error):
6467 # table by by the http_user_agent field.
6568 extra_filters = []
6669 if course_key :
67- extra_filters += [{"col" :"course_key" ,"op" :"==" ,"val" :course_key }]
70+ extra_filters += [{"col" : "course_key" , "op" : "==" , "val" : course_key }]
71+
6872 with patch ("clickhouse_connect.common.build_client_name" ) as mock_build_client_name :
6973 mock_build_client_name .return_value = RUN_ID
7074 embedable_dashboards = {{SUPERSET_EMBEDDABLE_DASHBOARDS }}
@@ -78,7 +82,11 @@ def performance_metrics(course_key, print_sql, fail_on_error):
7882 for dashboard in dashboards :
7983 logger .info (f"Dashboard: { dashboard .slug } " )
8084 for slice in dashboard .slices :
81- query_context = get_slice_query_context (slice , query_contexts )
85+ query_context = get_slice_query_context (
86+ slice ,
87+ query_contexts ,
88+ extra_filters
89+ )
8290 result = measure_chart (slice , query_context , fail_on_error )
8391 if not result :
8492 continue
@@ -111,7 +119,11 @@ def get_query_contexts_from_assets():
111119 logger .info (f"Found { len (query_contexts )} query contexts" )
112120 return query_contexts
113121
114- def get_slice_query_context (slice , query_contexts , extra_filters = []):
122+
123+ def get_slice_query_context (slice , query_contexts , extra_filters = None ):
124+ if not extra_filters :
125+ extra_filters = []
126+
115127 query_context = query_contexts .get (str (slice .uuid ), {})
116128 if not query_context :
117129 logger .info (f"SLICE { slice } has no query context! { slice .uuid } " )
@@ -131,7 +143,7 @@ def get_slice_query_context(slice, query_contexts, extra_filters=[]):
131143
132144 if extra_filters :
133145 for query in query_context ["queries" ]:
134- query ["filters" ]+= extra_filters
146+ query ["filters" ] += extra_filters
135147
136148 return query_context
137149
@@ -152,7 +164,6 @@ def measure_chart(slice, query_context, fail_on_error):
152164
153165 for query in result ["queries" ]:
154166 if "error" in query and query ["error" ]:
155- print (query ["error" ])
156167 raise query ["error" ]
157168 except Exception as e :
158169 logger .error (f"Error fetching slice data: { slice } . Error: { e } " )
0 commit comments