Open Bug 2022889 Opened 4 months ago Updated 1 day ago

Add caching of results to backend of perfcompare API

Categories

(Testing :: PerfCompare, task, P2)

task

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.

Assignee: nobody → dgopar

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?)

https://github.com/mozilla/treeherder/pull/9753

Flags: needinfo?(gmierzwinski)

: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.

Flags: needinfo?(gmierzwinski)
You need to log in before you can comment on or make changes to this bug.