Add caching of results to backend of perfcompare API
Categories
(Testing :: PerfCompare, task, P2)
Tracking
(Not tracked)
People
(Reporter: sparky, Assigned: gopar)
References
Details
(Whiteboard: [pcf])
To help reduce the delay when obtaining performance results for the same 2 revisions, we should implement some caching to the backend.
The caching can be implemented in a new table in the DB using a JSONField. We can make a hash key that is based on the following and that can be used to check if we've already computed results for the comparison:
- All of the test/subtest signatures.
- The number of data points each of those tests/subtests have (could be a single value as a sum).
- Revision, and branch pairings for all the base and new revisions to analyze.
This caching should only exist for MWU results. Following this work, we will need to potentially add a data cycler to delete old data although an argument could be made to keep this data indefinitely.
Updated•4 months ago
|
| Assignee | ||
Updated•5 days ago
|
| Assignee | ||
Comment 1•4 days ago
|
||
Added a PR for this. Please let me know if it matches the behavior that we want. I am not sure how to test this in staging (docs mention about special handling when PRs have migrations?)
| Reporter | ||
Comment 2•1 day ago
|
||
:gopar, I think we should look into cleaning up the perfcompare endpoint first before any of this caching work - we probably won't need caching after that.
Description
•