-
-
Notifications
You must be signed in to change notification settings - Fork 4.9k
Closed
Labels
enhancementNew features or improvements of some kind, as opposed to a problem (bug)New features or improvements of some kind, as opposed to a problem (bug)frozen-due-to-ageIssues closed and untouched for a long time, together with being locked for discussionIssues closed and untouched for a long time, together with being locked for discussion
Milestone
Description
Currently we do a hash benchmark. We track transfer rates. There are often support issues on sync being slow, and narrowing down the cause is tricky. To help that out we could sample our operations to perhaps be able to present useful data. Things we could measure:
- Per device block request data; time taken for each request-response and the amount of data thus transferred. (This would aggregate to per-device and total transfer rates.)
- Per block write stats. Time taken to write a block (and size) and the operation that caused it (copy or transferred).
- Per block read stats. Time to read a block (and size) and why (copy, incoming request, etc).
- Per block verification stats. Time to verify block hashes.
- Per block database lookup stats. Time to iterate or look up candidate blocks from database.
- General database stats: time per get/set operation. (Timing iterations is trickier.)
- etc
We already keep some counters for block actions, but not fine grained and not with timing metrics.
One way to expose this could be as a prometheus endpoint, which then also buys us the data types for tracking histograms or percentiles of these things.
Actually showing, interpreting and understanding the data is another issue. Having it accessible as an endpoint that can be viewed (and included in a future "support bundle" thing) could be a good start.
Script-Mak3r, Dmitry-Gorohov, sisu4syncthing, arl and peterhoegh1z1
Metadata
Metadata
Assignees
Labels
enhancementNew features or improvements of some kind, as opposed to a problem (bug)New features or improvements of some kind, as opposed to a problem (bug)frozen-due-to-ageIssues closed and untouched for a long time, together with being locked for discussionIssues closed and untouched for a long time, together with being locked for discussion