Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add support for publishing kernel statistics to oximeter
- Add a `kstat` module in `oximeter_instruments`. This includes a trait for describing how to map from one or more kstats into oximeter targets and metrics. It can be used to convert name-value kernel statistics in a pretty straightforward way into oximeter samples. - Add a `KstatSampler`, which is used to register kstat targets, and will periodically poll them to generate samples. It is an `oximeter::Producer`, so that it can be easily hooked up to produce data for an `oximeter` collector. - Add targets for tracking physical, virtual, and guest datalinks. - Add metrics for bytes in/out, packets in/out, and errors in/out for the above. - Use the `KstatStampler` in a new `MetricsManager` type in the sled agent, and track the physical (underlay) data links on a system. Does not yet track any virtual or guest links. The manager can be used to also collect other statistics, such as HTTP request latencies similar to nexus, or any kstats through the sampler.
- Loading branch information