New: Find and upload perf snapshots
- Uploads as one request, rather than a ping-pong chain
- Once attempted the upload, deletes from the drive
- Reacts to log messages
I've yet to test it all, will do after done with Dashboard
Update: Renaming BackupBeginResult -> DelegatedUploadBeginResult
It's renamed on the dashboard, and will be used for 2 flows, so more fitting
Update: reimplementing perf snapshot uploading to use delegation
Merge: from main
Update: review comments
- Removed in-memory file caching and simplified code
- Added a semaphore to prevent multiple concurrent uploads
- Removed a flat delay when detected trigger phrase to upload a snapshot
- Removed post-heartbeat attempt to find-and-upload snapshots
Update: braking change mitigation
- Fallback to old API json format if failing to process with new one.
Update: further review feedback
- Wrapped body of FindAndUpload in a try-finaly to ensure we always release a semaphore
- Merged backwards compatibility support into existing DelegatedUploadBeginResult class
Clean: file rename (since it no longer contains old class)
Merge pull request #5 from Facepunch/PerfSnapshot
Adding support for PerfSnapshot uploads to Dashboard