-
Notifications
You must be signed in to change notification settings - Fork 26
DTrace and log polish #1773
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
DTrace and log polish #1773
Conversation
| ss == "wait_quorum" ? "WQ" : | ||
| ss == "wait_active" ? "WA" : | ||
| ss == "connecting" ? "CON" : | ||
| ss == "Active" ? "ACT" : |
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.
Is there a way to share this function with all the other scripts?
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.
Maybe... Let me see if I can find an easy way.
I think it's "possible", but I don't want the callers of the scripts have to do too much, or remember too much.
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.
Let me see if I can find an easier way.. in a follow up commit :)
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 want these changes so I can triage what is going on when multiple downstairs come and go while doing LR
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.
You could look at what OPTE does, which has a few shared type and function definitions for these kinds of things.
Propolis changes: * oxidecomputer/propolis#950 * oxidecomputer/propolis#952 * oxidecomputer/propolis#951 * oxidecomputer/propolis#954 * oxidecomputer/propolis#957 * oxidecomputer/propolis#960 * oxidecomputer/propolis#961 * oxidecomputer/propolis#955 Crucible changes: * oxidecomputer/crucible#1773 * oxidecomputer/crucible#1774 * oxidecomputer/crucible#1780 * oxidecomputer/crucible#1778
Propolis changes: * oxidecomputer/propolis#950 * oxidecomputer/propolis#952 * oxidecomputer/propolis#951 * oxidecomputer/propolis#954 * oxidecomputer/propolis#957 * oxidecomputer/propolis#960 * oxidecomputer/propolis#961 * oxidecomputer/propolis#955 Crucible changes: * oxidecomputer/crucible#1773 * oxidecomputer/crucible#1774 * oxidecomputer/crucible#1780 * oxidecomputer/crucible#1778 Crucible shouldn't have functional changes here, Propolis' big ones are @sunshowers' work moving Propolis to versioned APIs, plus propolis#960 turning the crank on MAXCPU. propolis#961 changes the initial Milan CPU profile one last time before the release in service of propolis#959. Propolis will clear [this bit](https://github.com/oxidecomputer/omicron/blob/d74f5e3f1ae0a378dcdb9795a0ada2426702b046/nexus/src/app/instance_platform/cpu_platform.rs#L423). Later we want to actually set up leaf 8000_001E, so after this merges I'll have a followup to remove that leaf from the inital Milan definition to keep the profile constant when `propolis-server` is smarter about the leaf.
Cleanup DTrace printing of downstairs state.
Convert the DsState type into a string before we stuff it into the DTrace probe. We were treating it as a string already on the other side, so why not just send the string we want to begin with. This avoids having to do more complicated processing inside the D scripts. Updated all the DTraces scripts that were using the old method to now expect the new string that is returned for the default display of DsState type.
Updated the default display for DsState to provide a bit more info for states that were "Connecting".
Changed a few log messages from error to warn in the case where we can't send an update message to Nexus.
Fix for various bits in #1772
Here is some sample output from some of the DTrace scripts:
I let the dtrace scripts run while running cargo test and I could see many of the states showing up.
Here is a bunch of noise from that: