-
Notifications
You must be signed in to change notification settings - Fork 467
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
Implement tracing and CPU profiling of long running block creations [NIT-2501] #2305
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good, added few comments with potential improvements
execution/gethexec/sequencer.go
Outdated
pprof.StopCPUProfile() | ||
trace.Stop() | ||
closeFiles(pprofFile, traceFile) | ||
if elapsed > 5*time.Second { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does it make sense to make the time threshold configurable?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have similar argument here as above, this is just for debugging why do some queries take long time. (Just like in existing code:
nitro/execution/gethexec/sequencer.go
Line 898 in 3cc94a3
if elapsed >= time.Second*5 { |
My reasoning in this case for not having configurable is that I believe we already have too many flags, majority of which never actually varies. I'm hesitant to add another one like that, unless we have a good reason.
In any case, if you see more value in that, happy to make it configurable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense, but I wander if 5 seconds for block creation isn't too high threshold.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Discussed with Lee, he suggested 2 seconds and I've changed to that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
execution/gethexec/sequencer.go
Outdated
pprof.StopCPUProfile() | ||
trace.Stop() | ||
closeFiles(pprofFile, traceFile) | ||
if elapsed > 5*time.Second { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense, but I wander if 5 seconds for block creation isn't too high threshold.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
No description provided.