-
Notifications
You must be signed in to change notification settings - Fork 177
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
Add add_analyzer functionality #329
Add add_analyzer functionality #329
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.
Thanks for adding this feature.
Please add
- information on the usage in diagnostic_aggregator/README.md
- a test that initializes a new analyzer at runtime
…:nobleo/diagnostics into feature/add-analyzers-through-parameters
… service namespace from diagnostics_agg to analyzers
…ger, remove unnecessary hardcoded namespace from yaml files
Looks like all comments where addressed. Any chance for a re-review? |
If I may be so bold... Since there's a lot of maintenance effort going on: can this get a re-review? 🙂 |
Of course. Let's use the momentum while it lasts ;-) |
* Add add_analyzer functionality * Add copyright notice and license, remove unused includes, re-order includes correctly * Increase clarity of prefix_ by renaming it to analyzers_ns_ * Add add_analyzer functionality * Fix bug where base_path is not reset correctly * Make the parameter forwarding condition more generic, fix the default service namespace from diagnostics_agg to analyzers * Add an add_analyzer example to the diagnostic_aggregator * Update the relevant READMEs * Fix linter errors * Add test for add_analyzer at runtime, remove unnecessary ros info logger, remove unnecessary hardcoded namespace from yaml files * Remove the now redundant analyzers_ns_ * Change the copyright of add_analyzer, forgot to update it to Nobleo after copying the notice (cherry picked from commit 5e1415c)
* Add add_analyzer functionality * Add copyright notice and license, remove unused includes, re-order includes correctly * Increase clarity of prefix_ by renaming it to analyzers_ns_ * Add add_analyzer functionality * Fix bug where base_path is not reset correctly * Make the parameter forwarding condition more generic, fix the default service namespace from diagnostics_agg to analyzers * Add an add_analyzer example to the diagnostic_aggregator * Update the relevant READMEs * Fix linter errors * Add test for add_analyzer at runtime, remove unnecessary ros info logger, remove unnecessary hardcoded namespace from yaml files * Remove the now redundant analyzers_ns_ * Change the copyright of add_analyzer, forgot to update it to Nobleo after copying the notice (cherry picked from commit 5e1415c)
* Add add_analyzer functionality * Add copyright notice and license, remove unused includes, re-order includes correctly * Increase clarity of prefix_ by renaming it to analyzers_ns_ * Add add_analyzer functionality * Fix bug where base_path is not reset correctly * Make the parameter forwarding condition more generic, fix the default service namespace from diagnostics_agg to analyzers * Add an add_analyzer example to the diagnostic_aggregator * Update the relevant READMEs * Fix linter errors * Add test for add_analyzer at runtime, remove unnecessary ros info logger, remove unnecessary hardcoded namespace from yaml files * Remove the now redundant analyzers_ns_ * Change the copyright of add_analyzer, forgot to update it to Nobleo after copying the notice (cherry picked from commit 5e1415c)
💚 All backports created successfully
Questions ?Please refer to the Backport tool documentation |
* Add add_analyzer functionality * Add copyright notice and license, remove unused includes, re-order includes correctly * Increase clarity of prefix_ by renaming it to analyzers_ns_ * Add add_analyzer functionality * Fix bug where base_path is not reset correctly * Make the parameter forwarding condition more generic, fix the default service namespace from diagnostics_agg to analyzers * Add an add_analyzer example to the diagnostic_aggregator * Update the relevant READMEs * Fix linter errors * Add test for add_analyzer at runtime, remove unnecessary ros info logger, remove unnecessary hardcoded namespace from yaml files * Remove the now redundant analyzers_ns_ * Change the copyright of add_analyzer, forgot to update it to Nobleo after copying the notice (cherry picked from commit 5e1415c) Co-authored-by: MartinCornelis2 <[email protected]>
* Add add_analyzer functionality * Add copyright notice and license, remove unused includes, re-order includes correctly * Increase clarity of prefix_ by renaming it to analyzers_ns_ * Add add_analyzer functionality * Fix bug where base_path is not reset correctly * Make the parameter forwarding condition more generic, fix the default service namespace from diagnostics_agg to analyzers * Add an add_analyzer example to the diagnostic_aggregator * Update the relevant READMEs * Fix linter errors * Add test for add_analyzer at runtime, remove unnecessary ros info logger, remove unnecessary hardcoded namespace from yaml files * Remove the now redundant analyzers_ns_ * Change the copyright of add_analyzer, forgot to update it to Nobleo after copying the notice (cherry picked from commit 5e1415c) Co-authored-by: MartinCornelis2 <[email protected]>
* Add add_analyzer functionality * Add copyright notice and license, remove unused includes, re-order includes correctly * Increase clarity of prefix_ by renaming it to analyzers_ns_ * Add add_analyzer functionality * Fix bug where base_path is not reset correctly * Make the parameter forwarding condition more generic, fix the default service namespace from diagnostics_agg to analyzers * Add an add_analyzer example to the diagnostic_aggregator * Update the relevant READMEs * Fix linter errors * Add test for add_analyzer at runtime, remove unnecessary ros info logger, remove unnecessary hardcoded namespace from yaml files * Remove the now redundant analyzers_ns_ * Change the copyright of add_analyzer, forgot to update it to Nobleo after copying the notice (cherry picked from commit 5e1415c) Co-authored-by: MartinCornelis2 <[email protected]>
Applied the following changes to allow adding analyzers at runtime similar to the ROS1 functionality.
Move the creation of
analyzer_group_
andother_analyzer_
from the constructor to a new functioninitAnalyzers()
.Added a subscriber to parameter events
param_sub_
that triggers a callbackparameterCallback
.Check in the callback if
this
node got any new paramters -> if true, lock the mutex and callinitAnalyzers()
again.Created an
add_analyzer
node that forwards its own parameters to thediagnostic_aggregator
by sending a request to/diagnostics_agg/set_parameters_atomically
service(EDIT) [The
add_analyzer
looks for all parameters starting with the prefixanalyzers.
,] has been replaced with [Theadd_analyzer
looks for all parameters for which a similar named parameter exists with the suffix ".path"] converts them to a parameter_msg and sends them together as oneSetParametersAtomically::Request
Example usage: