-
Notifications
You must be signed in to change notification settings - Fork 872
[BTS-2203] Add ResourceMonitor to ShortestPathExecutorInfos #22014
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: devel
Are you sure you want to change the base?
[BTS-2203] Add ResourceMonitor to ShortestPathExecutorInfos #22014
Conversation
…lder and _targetBuilder to be supervised
_pathLength(0), | ||
_sourceBuilder{}, | ||
_targetBuilder{} { | ||
_sourceBuilder(std::make_shared<velocypack::SupervisedBuffer>( |
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.
Can't the supervised buffer be built on the stack as _sourceBuilder is a class member, is gonna linger there, and no one's gonna steal the buffer from it?
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.
It can, however the original does a make_shared buffer by itself so this is same ballpark.
This also comes with the downside that we need to put supervised buffer as include in the header.
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 brought back the include in the header because the other file is .tpp and has no includes
_targetBuilder{} { | ||
_sourceBuilder(std::make_shared<velocypack::SupervisedBuffer>( | ||
infos.resourceMonitor())), | ||
_targetBuilder(std::make_shared<velocypack::SupervisedBuffer>( |
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.
same for this one
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.
Slight change, please move the include into cpp file.
Otherwise LGTM!
_pathLength(0), | ||
_sourceBuilder{}, | ||
_targetBuilder{} { | ||
_sourceBuilder(std::make_shared<velocypack::SupervisedBuffer>( |
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.
It can, however the original does a make_shared buffer by itself so this is same ballpark.
This also comes with the downside that we need to put supervised buffer as include in the header.
Co-authored-by: Michael Hackstein <michael@arangodb.com>
…rtest-path-executor-memory-monitoring
…thub.com:arangodb/arangodb into feature/shortest-path-executor-memory-monitoring
…rtest-path-executor-memory-monitoring
…rtest-path-executor-memory-monitoring
…rtest-path-executor-memory-monitoring
…rtest-path-executor-memory-monitoring
Scope & Purpose
ShortestPathExecutor holds 2 builder objects:
_sourceBuilder
and_targetBuilder
. Refactored them to be supervised by adding SupervisedBuffer.[Future work]
_pathBuilder
is a BuilderLeaser. This should be counted manually or by implementing supervised BuilderLeaser.💩 Bugfix
🍕 New feature
🔥 Performance improvement
🔨 Refactoring/simplification
Checklist
Related Information
(Please reference tickets / specification / other PRs etc)