Skip to content

Commit b77ea4d

Browse files
committed
fix: Fix course_key option in performance_metrics
1 parent 7946df4 commit b77ea4d

1 file changed

Lines changed: 17 additions & 6 deletions

File tree

tutoraspects/templates/aspects/apps/superset/pythonpath/performance_metrics.py

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,10 @@
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

Comments
 (0)