perf(aurweb): create a context with what is required
The pkgbase/util.py make_context
helper does a lot of unrelated
expensive queries which are not required for any of the templates. Only
the 404 template shows git_clone_uri_* and pkgbase.
Merge request reports
Activity
Queries now:
fastapi-1 | 2024-08-16 19:53:58,987 INFO sqlalchemy.engine.Engine SELECT `PackageBases`.`ID` AS `PackageBases_ID`, `PackageBases`.`Name` AS `PackageBases_Name`, `PackageBases`.`NumVotes` AS `PackageBases_NumVotes`, `PackageBases`.`Popularity` AS `PackageBases_Popularity`, `PackageBases`.`PopularityUpdated` AS `PackageBases_PopularityUpdated`, `PackageBases`.`OutOfDateTS` AS `PackageBases_OutOfDateTS`, `PackageBases`.`FlaggerComment` AS `PackageBases_FlaggerComment`, `PackageBases`.`SubmittedTS` AS `PackageBases_SubmittedTS`, `PackageBases`.`ModifiedTS` AS `PackageBases_ModifiedTS`, `PackageBases`.`FlaggerUID` AS `PackageBases_FlaggerUID`, `PackageBases`.`SubmitterUID` AS `PackageBases_SubmitterUID`, `PackageBases`.`MaintainerUID` AS `PackageBases_MaintainerUID`, `PackageBases`.`PackagerUID` AS `PackageBases_PackagerUID` fastapi-1 | FROM `PackageBases` fastapi-1 | WHERE `PackageBases`.`Name` = %s fastapi-1 | LIMIT %s fastapi-1 | 2024-08-16 19:53:58,987 INFO sqlalchemy.engine.Engine [cached since 41.29s ago] ('test404', 1) fastapi-1 | WE GOT pkgbase <aurweb.models.package_base.PackageBase object at 0x75b59cc50350> fastapi-1 | 19:53:58 INFO | uvicorn.access @ (h11_impl.py:468): 10.89.1.11:0 - "GET /test404 HTTP/1.0" 404 fastapi-1 | 19:53:59 INFO | uvicorn.access @ (h11_impl.py:468): 10.89.1.11:0 - "GET /static/images/favicon.ico HTTP/1.0" 200 fastapi-1 | 19:53:59 INFO | uvicorn.access @ (h11_impl.py:468): 127.0.0.1:0 - "GET / HTTP/1.0" 200
Before, possibly more as I yolo'd a PackageBase without a maintainer etc.
fastapi-1 | 2024-08-16 19:55:27,548 INFO sqlalchemy.engine.Engine SELECT `PackageBases`.`ID` AS `PackageBases_ID`, `PackageBases`.`Name` AS `PackageBases_Name`, `PackageBases`.`NumVotes` AS `PackageBases_NumVotes`, `PackageBases`.`Popularity` AS `PackageBases_Popularity`, `PackageBases`.`PopularityUpdated` AS `PackageBases_PopularityUpdated`, `PackageBases`.`OutOfDateTS` AS `PackageBases_OutOfDateTS`, `PackageBases`.`FlaggerComment` AS `PackageBases_FlaggerComment`, `PackageBases`.`SubmittedTS` AS `PackageBases_SubmittedTS`, `PackageBases`.`ModifiedTS` AS `PackageBases_ModifiedTS`, `PackageBases`.`FlaggerUID` AS `PackageBases_FlaggerUID`, `PackageBases`.`SubmitterUID` AS `PackageBases_SubmitterUID`, `PackageBases`.`MaintainerUID` AS `PackageBases_MaintainerUID`, `PackageBases`.`PackagerUID` AS `PackageBases_PackagerUID` fastapi-1 | FROM `PackageBases` fastapi-1 | WHERE `PackageBases`.`Name` = %s fastapi-1 | LIMIT %s fastapi-1 | 2024-08-16 19:55:27,548 INFO sqlalchemy.engine.Engine [cached since 5.974s ago] ('test404', 1) fastapi-1 | 2024-08-16 19:55:27,550 INFO sqlalchemy.engine.Engine SELECT `PackageComaintainers`.`UsersID` AS `PackageComaintainers_UsersID`, `PackageComaintainers`.`PackageBaseID` AS `PackageComaintainers_PackageBaseID`, `PackageComaintainers`.`Priority` AS `PackageComaintainers_Priority` fastapi-1 | FROM `PackageComaintainers` fastapi-1 | WHERE %s = `PackageComaintainers`.`PackageBaseID` ORDER BY `PackageComaintainers`.`Priority` ASC fastapi-1 | 2024-08-16 19:55:27,550 INFO sqlalchemy.engine.Engine [cached since 5.973s ago] (32001,) fastapi-1 | 2024-08-16 19:55:27,551 INFO sqlalchemy.engine.Engine SELECT count(*) AS count_1 fastapi-1 | FROM (SELECT `Packages`.`ID` AS `Packages_ID`, `Packages`.`PackageBaseID` AS `Packages_PackageBaseID`, `Packages`.`Name` AS `Packages_Name`, `Packages`.`Version` AS `Packages_Version`, `Packages`.`Description` AS `Packages_Description`, `Packages`.`URL` AS `Packages_URL` fastapi-1 | FROM `Packages` fastapi-1 | WHERE %s = `Packages`.`PackageBaseID`) AS anon_1 fastapi-1 | 2024-08-16 19:55:27,551 INFO sqlalchemy.engine.Engine [cached since 5.971s ago] (32001,) fastapi-1 | 2024-08-16 19:55:27,552 INFO sqlalchemy.engine.Engine SELECT count(*) AS count_1 fastapi-1 | FROM (SELECT `PackageComments`.`ID` AS `PackageComments_ID`, `PackageComments`.`PackageBaseID` AS `PackageComments_PackageBaseID`, `PackageComments`.`UsersID` AS `PackageComments_UsersID`, `PackageComments`.`Comments` AS `PackageComments_Comments`, `PackageComments`.`RenderedComment` AS `PackageComments_RenderedComment`, `PackageComments`.`CommentTS` AS `PackageComments_CommentTS`, `PackageComments`.`EditedTS` AS `PackageComments_EditedTS`, `PackageComments`.`EditedUsersID` AS `PackageComments_EditedUsersID`, `PackageComments`.`DelTS` AS `PackageComments_DelTS`, `PackageComments`.`DelUsersID` AS `PackageComments_DelUsersID`, `PackageComments`.`PinnedTS` AS `PackageComments_PinnedTS` fastapi-1 | FROM `PackageComments` fastapi-1 | WHERE %s = `PackageComments`.`PackageBaseID` ORDER BY `PackageComments`.`CommentTS` DESC) AS anon_1 fastapi-1 | 2024-08-16 19:55:27,552 INFO sqlalchemy.engine.Engine [cached since 5.968s ago] (32001,) fastapi-1 | 19:55:27 INFO | uvicorn.access @ (h11_impl.py:468): 10.89.1.11:0 - "GET /test404 HTTP/1.0" 404
Edited by Jelle van der Waarequested review from @artafinde
Please register or sign in to reply