-
Notifications
You must be signed in to change notification settings - Fork 40
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
Define switch data link timeseries in TOML #6120
Conversation
Note that this renames and reorganizes the timeseries a good deal. We want to include more of the switch / sled identifiers, and make the name of the timeseries more consistent with the existing sled data link and planned instance data link timeseries.
Here's a bit more context. This completely abandons the existing timeseries like Once we're all happy with the actual new definition (fields, names, descriptions, etc), I have some other WIP in Dendrite to fetch the needed identifiers (for example, switch serial numbers), and populate the new timeseries definitions with them. At some point after that, I will explicitly expunge the existing The other big change here is that I've removed all the per-FSM-state timeseries and made them all one, that keeps the state itself as a field. That's because I kind of expect we'll want to more easily aggregate across these states. That would be kind of tricky in OxQL now, because we don't currently support aggregating across timeseries, but you can aggregate within a timeseries. For example, we can still do this to get the same data as before:
That would be equivalent to this today:
We can then also do aggregations, say if we wanted to count all the transitions of any kind, not just in a particular state:
Anyway, this is all a bit of an experiment, but hopefully that provides some more insight into where we want to go and why this is the next step along the way. |
Friendly ping on this one folks |
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's obvious enough that I probably don't even need to mention it, but... it sure would be nice if there were an automated way to ensure that this definition stays in sync with the upstream data source. I did a side-by-side visual comparison, but that's not the most confidence inspiring mechanism.
@Nieuwejaar What is the "upstream data source" in your comment? |
In this case, |
Ok, I think I understand. One of the main goals of all the work to move the timeseries definitions into one central location is to ensure consistency. I have a follow-up PR in the works which will remove the existing timeseries definitions, e.g., the ones like So if we decided to publish a new ASIC counter, we would add that to the TOML definitions, and then consume it in Dendrite and start publishing that when Oximeter comes knocking. Hopefully that assuages the concern about keeping things in sync: the text-file definitions in Omicron will be the single source of truth. |
Very much so. Thanks. |
This is what we called |
Should we update/collate a readme to update OxQL queries here to match the changes? I had to planned to do this at some point too. |
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.
@benjaminleonard This essentially maps what we have today and streamlines how we want to capture all these across the system, so 👍🏽. I know you mentioned that you're working on schema update, as we'll probably want to update fields over time as we add more.
Approved here, but had one question on documentation really. |
This timeseries does not exist yet. We'll need to create it soon, and probably publish those samples to
The current place to do that is RFD 463, which I still owe an update on. Part of the motivation of the TOML-formatted timeseries definitions is so that we can auto-generate documentation too. Maybe it would be worth coordinating with @benjaminleonard and / or @david-crespo on how to create those and get them into our documentation pages and / or the console itself. That would be really sweet. |
Oh, I know that it didn't. I meant what I called it in https://github.com/orgs/oxidecomputer/projects/55/views/1?filterQuery=&pane=issue&itemId=68336554, maybe? |
Oh, I see. Yeah |
Note that this renames and reorganizes the timeseries a good deal. We want to include more of the switch / sled identifiers, and make the name of the timeseries more consistent with the existing sled data link and planned instance data link timeseries.