Add "Minimum" and "Maximum" to MetricMode, make it a flags enum
For some metrics, such as Shared Memory Available %, it may be desirable to have the minimum or maximum value of the metric during the interval available as a metric.
Thinking slightly more about this, we already have AccumulateAndRate, and one could easily want the AverageAndMinimum, AccumulateAndMaximum, and so on, so it might be best to make the MetricMode field settable via bitwise OR, i.e. MetricMode::Average | MetricMode::Minimum, MetricMode::Accumulate | MetricMode::Maximum, etc.
Thinking even more about this, it may be desirable to revise this functionality completely, such that each MetricPlugin instance can decide which Modes to report to its back-end. Most of the data needed to calculating each mode's value is already available to the MetricPlugin, and it would not be difficult to modify MetricData to ensure that the rest is available as well.