-
Notifications
You must be signed in to change notification settings - Fork 34
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
feat: add autoware_node_death_monitor package for monitoring node crashes #1786
base: tier4/main
Are you sure you want to change the base?
Conversation
…shes Signed-off-by: Kyoichi Sugahara <[email protected]>
|
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.
実装の細かい部分は他の方に任せますが、ハイレベルな設計で気になったポイントを書きます。
・launch.logって必ず書き込まれるんだっけ?その保証をしておきたい。
・これってノードが死んだらDiagでエラーだす実装を追加する、で良いですよね?
・ファイルが見つからなかったときに、初回でエラーが出るだけなので「node_death_monitorが立ち上がっているからOKだと思っていたらファイル見れてなかった、実はノード死んでた」ケースがありそう。起動して10秒経ってもファイル見つからない場合は、それ自体でDiagエラー出した方が良い。
それ以外、全般的な方針は問題/違和感ありません。
cmake_minimum_required(VERSION 3.14) | ||
project(autoware_node_death_monitor) | ||
|
||
find_package(autoware_cmake REQUIRED) |
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.
how about node_alive_monitor
or process_alive_monitor
?
@@ -0,0 +1,73 @@ | |||
# autoware_node_death_monitor | |||
|
|||
This package provides a monitoring node that detects ROS 2 node crashes by analyzing `launch.log` files, rather than subscribing to `/rosout` logs. |
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.
launch.logにメッセージが出力されることって保証されてましたっけ?もしyesならREADMEに「ROS2の仕組みとして必ずlounch.logに出力される」とか、もしくは「ooオプションがONになっていることを確認すること」とかを記載したい。
std::streampos last_valid_pos = static_cast<std::streampos>(last_file_pos_); | ||
|
||
size_t iteration = 0; | ||
while (true) { |
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.
while(true)
はNG, while(rclcpp::ok)
みたいなの無かったっけ。
書き込まれることは保証されている認識ですが、どこに書き込まれるかは環境設定に依存しているので運用側とのコミュニケーションが必要と思っている点です。
です。
これは heartbeat topic を出して topic_state_monitor から確認する予定です。(異常系開発の議事録側には書いてたのですが、こちらに書いてないことで誤解招いてしまっているので、READMEに追記します 🙇 |
Description
Draft PR mainly for reviewing changes
以下READMEに追記しますが、一旦ここにメモらせてください。
Related links
Parent Issue:
How was this PR tested?
psim で以下の動作確認を実施済み
Notes for reviewers
None.
Interface changes
None.
Effects on system behavior
None.