Skip to content
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

testing: set pprof labels for goroutines that use the same code for different cases #4350

Merged
merged 7 commits into from
Jun 27, 2024

Conversation

cce
Copy link
Contributor

@cce cce commented Aug 3, 2022

This sets a few profiler labels to identify a selection of goroutines used by algod. Since profiler data already lets you filter by function, we only need labels for cases where the same function is used by multiple goroutines for different cases. (E.g. low-prority worker pool vs high-priority worker pool; dedicated deserialization goroutines for different message types)

@cce cce added the Enhancement label Aug 3, 2022
@cce cce force-pushed the profiler-labels branch from a8fbc88 to d99c0b3 Compare August 3, 2022 20:18
@cce cce force-pushed the profiler-labels branch from d99c0b3 to 3022572 Compare August 3, 2022 20:20
@codecov
Copy link

codecov bot commented Aug 22, 2022

Codecov Report

Attention: Patch coverage is 91.30435% with 2 lines in your changes missing coverage. Please review.

Project coverage is 55.88%. Comparing base (d02ee6a) to head (4b9942f).

Files Patch % Lines
util/process.go 0.00% 2 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #4350   +/-   ##
=======================================
  Coverage   55.87%   55.88%           
=======================================
  Files         482      482           
  Lines       68571    68578    +7     
=======================================
+ Hits        38317    38325    +8     
+ Misses      27652    27650    -2     
- Partials     2602     2603    +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@cce cce marked this pull request as ready for review August 30, 2022 21:01
winder
winder previously approved these changes Sep 2, 2022
Copy link
Contributor

@winder winder left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Neat. The docs on pprof.Do weren't really helpful for me, and I haven't spent a lot of time with profiling. It looks correct according to the blog post.

Copy link
Contributor

@jannotti jannotti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How did you decide what to label? git grep "go.*()" and dig around? Or stuff you knew was interesting?

node/node.go Outdated Show resolved Hide resolved
@algorandskiy
Copy link
Contributor

@cce could you rebase it?

@cce cce changed the title testing: set some pprof labels for different goroutines testing: set pprof labels for goroutines that use the same code for different cases Jun 18, 2024
util/util.go Outdated Show resolved Hide resolved
@algorandskiy
Copy link
Contributor

I suggest not merging before p2p branch due to conflicts

@algorandskiy algorandskiy merged commit 63c0d5b into algorand:master Jun 27, 2024
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants