diff --git a/lib/galaxy/web/framework/base.py b/lib/galaxy/web/framework/base.py index ec4536862332..79a36c57724f 100644 --- a/lib/galaxy/web/framework/base.py +++ b/lib/galaxy/web/framework/base.py @@ -251,8 +251,13 @@ def handle_request(self, request_id, path_info, environ, start_response, body_re raise trans.controller = controller_name trans.action = action + + # Action can still refer to invalid and/or inaccurate paths here, so we use the actual + # controller and method names to set the timing key. + + action_tag = getattr(method, "__name__", "default") environ["controller_action_key"] = ( - f"{'api' if environ['is_api_request'] else 'web'}.{controller_name}.{action or 'default'}" + f"{'api' if environ['is_api_request'] else 'web'}.{controller_name}.{action_tag}" ) # Combine mapper args and query string / form args and call kwargs = trans.request.params.mixed()