Skip to content

Commit

Permalink
fix: Fix course_key option in performance_metrics
Browse files Browse the repository at this point in the history
  • Loading branch information
bmtcril committed Apr 29, 2024
1 parent 7946df4 commit b77ea4d
Showing 1 changed file with 17 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,10 @@
)

@click.command()
@click.option("--course_key", default="", help="A course_key to apply as a filter.")
@click.option(
"--course_key",
default="",
help="A course_key to apply as a filter, you must include the 'course-v1:'.")
@click.option(
"--print_sql",
is_flag=True,
Expand All @@ -64,7 +67,8 @@ def performance_metrics(course_key, print_sql, fail_on_error):
# table by by the http_user_agent field.
extra_filters = []
if course_key:
extra_filters+=[{"col":"course_key","op":"==","val":course_key}]
extra_filters += [{"col": "course_key", "op": "==", "val": course_key}]

with patch("clickhouse_connect.common.build_client_name") as mock_build_client_name:
mock_build_client_name.return_value = RUN_ID
embedable_dashboards = {{SUPERSET_EMBEDDABLE_DASHBOARDS}}
Expand All @@ -78,7 +82,11 @@ def performance_metrics(course_key, print_sql, fail_on_error):
for dashboard in dashboards:
logger.info(f"Dashboard: {dashboard.slug}")
for slice in dashboard.slices:
query_context = get_slice_query_context(slice, query_contexts)
query_context = get_slice_query_context(
slice,
query_contexts,
extra_filters
)
result = measure_chart(slice, query_context, fail_on_error)
if not result:
continue
Expand Down Expand Up @@ -111,7 +119,11 @@ def get_query_contexts_from_assets():
logger.info(f"Found {len(query_contexts)} query contexts")
return query_contexts

def get_slice_query_context(slice, query_contexts, extra_filters=[]):

def get_slice_query_context(slice, query_contexts, extra_filters=None):
if not extra_filters:
extra_filters = []

query_context = query_contexts.get(str(slice.uuid), {})
if not query_context:
logger.info(f"SLICE {slice} has no query context! {slice.uuid}")
Expand All @@ -131,7 +143,7 @@ def get_slice_query_context(slice, query_contexts, extra_filters=[]):

if extra_filters:
for query in query_context["queries"]:
query["filters"]+=extra_filters
query["filters"] += extra_filters

return query_context

Expand All @@ -152,7 +164,6 @@ def measure_chart(slice, query_context, fail_on_error):

for query in result["queries"]:
if "error" in query and query["error"]:
print(query["error"])
raise query["error"]
except Exception as e:
logger.error(f"Error fetching slice data: {slice}. Error: {e}")
Expand Down

0 comments on commit b77ea4d

Please sign in to comment.