Description
This is currently underway, making an issue for the sake of 8.2 tracking.
This is part of an ongoing effort to refactor the system code and remove our dependence on third-party libraries. We have a meta-issue for this, but after we migrated all the system issues to the Data Plane dashboard, I...can't find it anymore. This is a non-breaking change that entirely deals with tech debt, but there's a few "features" that we'll get as a part of this:
- Remove dependencies on deprecated upstream libraries
- hostfs values are no longer set globally
- Remove complex
MapStr
data manipulation, carry all metrics in structs - Wrap metrics in the new
Opt
type, eliminating the possibility for reporting invalid metric values. - Presumably some performance improvements, as we're de-spaghetting the code and removing a few repetitive loops over the main lists and maps of processes.
However, we'll need to pay close attention to testing here, since the overall surface of this code, and the amount of OS-specific code is pretty large, and this is also a fairly important metricset. I'll obviously be testing this myself, but we'll probably want to rope in @EricDavisX so we can get more concrete validation, since this will be a situation where we'll basically need to verify all the metrics across all supported OSes.