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

profiling: add internal changes to support profiling of gRPC #3158

Merged
merged 19 commits into from
Dec 11, 2019

Conversation

adtac
Copy link
Contributor

@adtac adtac commented Nov 7, 2019

No description provided.

@dfawley dfawley added the Type: Performance Performance improvements (CPU, network, memory, etc) label Nov 11, 2019
@dfawley dfawley added this to the 1.26 Release milestone Nov 11, 2019
@dfawley
Copy link
Member

dfawley commented Nov 11, 2019

We'll have to make vet.sh happy even though we only quasi-support appengine standard now. Can you add the exclude-appengine build tag to anything importing unsafe?

internal/profiling/profiling.go Outdated Show resolved Hide resolved
internal/profiling/profiling.go Outdated Show resolved Hide resolved
internal/profiling/profiling.go Outdated Show resolved Hide resolved
internal/profiling/profiling.go Outdated Show resolved Hide resolved
@adtac
Copy link
Contributor Author

adtac commented Nov 14, 2019

Pushed V2 addressing review comments.

Ping @dfawley @easwars

@easwars easwars assigned easwars and unassigned adtac Nov 15, 2019
@adtac adtac force-pushed the adtac/profiling-core branch 4 times, most recently from c5b9976 to 3e06a41 Compare November 16, 2019 00:15
@dfawley
Copy link
Member

dfawley commented Nov 20, 2019

Travis is unhappy right now:

internal/profiling/profiling.go:149:13: undeclared name: goId (compile)
internal/profiling/profiling.go:149:3: unknown field GoId in struct literal (compile)
internal/profiling/profiling.go:149:13: undeclared name: goId (compile)
internal/profiling/profiling.go:149:3: unknown field GoId in struct literal (compile)
internal/profiling/profiling.go:149:13: undeclared name: goId (compile)
internal/profiling/profiling.go:149:3: unknown field GoId in struct literal (compile)

@adtac
Copy link
Contributor Author

adtac commented Nov 20, 2019

ugh, fixed (waiting for travis)

Copy link
Member

@dfawley dfawley left a comment

Choose a reason for hiding this comment

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

Sending some partial comments (mostly nits) since more commits have been pushed and I don't want either one of us to have to deal with the github UI in this situation too much!

internal/profiling/buffer.go Outdated Show resolved Hide resolved
internal/profiling/buffer.go Outdated Show resolved Hide resolved
internal/profiling/buffer.go Outdated Show resolved Hide resolved
internal/profiling/buffer.go Outdated Show resolved Hide resolved
@easwars easwars removed their assignment Nov 20, 2019
@adtac
Copy link
Contributor Author

adtac commented Nov 20, 2019

@dfawley thanks for the review, addressed your comments and pushed V7, V8. (But don't bother with the actual commits; I imagine you're already using the Files Changed tab.)

@dfawley dfawley self-assigned this Nov 21, 2019
internal/profiling/buffer.go Outdated Show resolved Hide resolved
internal/profiling/buffer_test.go Outdated Show resolved Hide resolved
internal/profiling/buffer_test.go Outdated Show resolved Hide resolved
internal/profiling/profiling.go Outdated Show resolved Hide resolved
internal/profiling/profiling.go Show resolved Hide resolved
internal/profiling/profiling_test.go Show resolved Hide resolved
@easwars easwars assigned adtac and unassigned dfawley Nov 21, 2019
@adtac
Copy link
Contributor Author

adtac commented Nov 22, 2019

@easwars thanks for the comments, pushed PATCH V9, PTAL.

@dfawley
Copy link
Member

dfawley commented Nov 22, 2019

FYI travis is failing; it looks like your test needs to be conditional on appengine?

@adtac
Copy link
Contributor Author

adtac commented Nov 22, 2019

Ah yes, I forgot to add the build tag to the new tests. Pushed V10.

Copy link
Member

@dfawley dfawley left a comment

Choose a reason for hiding this comment

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

Looks really good overall! Just a handful of comments, and I don't anticipate any more.

internal/profiling/buffer.go Outdated Show resolved Hide resolved
internal/profiling/buffer.go Outdated Show resolved Hide resolved
internal/profiling/buffer.go Outdated Show resolved Hide resolved
internal/profiling/buffer.go Outdated Show resolved Hide resolved
internal/profiling/buffer.go Outdated Show resolved Hide resolved
internal/profiling/goid_modified.go Outdated Show resolved Hide resolved
internal/profiling/profiling.go Show resolved Hide resolved
internal/profiling/profiling.go Outdated Show resolved Hide resolved
internal/profiling/profiling.go Outdated Show resolved Hide resolved
internal/profiling/profiling.go Outdated Show resolved Hide resolved
Adhityaa Chandrasekar added 9 commits December 5, 2019 13:54
@adtac
Copy link
Contributor Author

adtac commented Dec 5, 2019

@dfawley, @menghanl thanks for the review! Updated the PR:

  1. Rebased on to latest master.
  2. reverted the lock-free stat/timer thing -- I found a data race in that approach with some additional testing. Apparently, dynamically resizing, lock-free arrays are apparently an area of active research for a reason :P
  3. Addressed review comments.

@menghanl menghanl assigned menghanl and dfawley and unassigned adtac Dec 5, 2019
internal/profiling/buffer/buffer.go Show resolved Hide resolved
internal/profiling/buffer/buffer.go Show resolved Hide resolved
internal/profiling/buffer/buffer.go Show resolved Hide resolved
internal/profiling/buffer/buffer.go Outdated Show resolved Hide resolved
internal/profiling/profiling.go Outdated Show resolved Hide resolved
internal/profiling/profiling.go Outdated Show resolved Hide resolved
internal/profiling/profiling.go Outdated Show resolved Hide resolved
internal/profiling/profiling.go Outdated Show resolved Hide resolved
internal/profiling/profiling.go Outdated Show resolved Hide resolved
internal/profiling/profiling.go Outdated Show resolved Hide resolved
internal/profiling/profiling.go Outdated Show resolved Hide resolved
internal/profiling/profiling.go Outdated Show resolved Hide resolved
@adtac
Copy link
Contributor Author

adtac commented Dec 10, 2019

@menghanl pushed V19 modifying CircularBuffer's documentation.

@dfawley dfawley changed the title profiling: add internal changes profiling: add internal changes to support profiling of gRPC Dec 11, 2019
@dfawley dfawley merged commit 021bd57 into grpc:master Dec 11, 2019
@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 25, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Type: Performance Performance improvements (CPU, network, memory, etc)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants