-
Notifications
You must be signed in to change notification settings - Fork 1.2k
feat: logging time inside lock to help debugging lock contentions #6477
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
|
Guix Automation has began to build this PR tagged as v22.1.0-devpr6477.ce8b10fd. A new comment will be made when the image is pushed. |
|
@PastaPastaPasta can you collect data for any testnet node during sending bunch of txs, please? |
|
Guix Automation has completed; a release should be present here: https://github.com/dashpay/dash-dev-branches/releases/tag/v22.1.0-devpr6477.ce8b10fd. The image should be on dockerhub soon. |
|
@knst I'm assuming this isn't actually going in 22.1 and the milestone can be removed/modified? |
✅ No Merge Conflicts DetectedThis PR currently has no conflicts with other open PRs. |
|
Guix Automation has failed due to the HEAD commit not being signed by an authorized core-team member. Please rebase and sign or push a new empty signed commit to allow Guix build to happen. |
56bf451 to
d566271
Compare
|
Guix Automation has began to build this PR tagged as v23.0.0-devpr6477.d5662713. A new comment will be made when the image is pushed. |
|
Guix Automation has completed; a release should be present here: https://github.com/dashpay/dash-dev-branches/releases/tag/v23.0.0-devpr6477.d5662713. The image should be on dockerhub soon. |
|
This pull request has conflicts, please rebase. |
This PR is not meant to be merged at the moment, let's try to collect real data and find-out at least one issue with this logs to proof it's useful.
Issue being fixed or feature implemented
Current log contention doesn't show information for how long time is spent inside mutex.
But this information is critical, because when looking to lock-contention you want to know which other function or method occupied it for so long time.
What was done?
Some extra logs for lock contention (for non-shared mutex only).
Debug logs have information about all cases when mutex is occupied for longer than 0.1ms:
Please note, though, that in some cases long mutex occupation is expected because it's triggered by timer, for example:
How Has This Been Tested?
Breaking Changes
N/A
Checklist: