-
Notifications
You must be signed in to change notification settings - Fork 63
better document DebugCollector internals #9484
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
Conversation
| //! ```text | ||
| //! +------------------------+ +--------------+ +---------------+ | ||
| //! | dump device containing | | user process | | log files | | ||
| //! | kernel crash dump | +--------------+ | inside zones | | ||
| //! +------------------------+ | +---------------+ | ||
| //! | | | | ||
| //! | | process crash: | | ||
| //! | | system writes | | ||
| //! | DebugCollector | core dump to | | ||
| //! | invokes | configured | | ||
| //! | savecore(8) | directory | | ||
| //! | | | | ||
| //! | v | | ||
| //! | +--------------------------------------+ | | ||
| //! | | chosen "core" dataset | | | ||
| //! | | (ZFS dataset on internal (M.2) disk) | | | ||
| //! | +--------------------------------------+ | | ||
| //! | | | | ||
| //! | | | | ||
| //! | | | | ||
| //! | | DebugCollector | | ||
| //! | | periodically archives | | ||
| //! | | the core dumps and | | ||
| //! | | log files (copies to | | ||
| //! | | debug dataset, then | | ||
| //! | | deletes the original) | | ||
| //! | | | | ||
| //! v v v | ||
| //! +----------------------------------------------------------+ | ||
| //! | debug datasets (ZFS datasets on external (U.2) disks) |-+ | ||
| //! +----------------------------------------------------------+ |-+ | ||
| //! +----------------------------------------------------------+ | | ||
| //! +----------------------------------------------------------+ | ||
| //! ``` |
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.
beautiful <3
| //! | ||
| //! * `core.[zone-name].[exe-filename].[pid].[time]`: process core dumps | ||
| //! * `unix.[0-9]+`, `bounds`: files associated with kernel crash dumps | ||
| //! * `$UUID`: support bundles (wholly unrelated to the DebugCollector) |
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.
Do you want to note that this is a directory? (Probably not worth getting into "might be empty or might not depending...", but the other bullets are either clearly files or clearly directories)
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.
Good idea. I'll fold this into one of the follow-ups.
This updates the Big Theory Statement on the DebugCollector and adds documentation to a bunch of constants and types in the
DebugCollector.I'm deliberately not changing anything meaningful in this PR. I'll keep doing some cleanup in follow-up PRs.
(Staged on #9479 so I'm keeping this "draft" so I don't land it early.)