This ticket is to add Stream Expression support to the RollupStream as discussed in
Proposed expression syntax for the RollupStream (copied from that ticket)
rollup( someStream(....), over="fieldA, fieldB, fieldC", min(fieldA), max(fieldA), min(fieldB), mean(fieldD), sum(fieldC) )
This requires making the *Metric types Expressible but I think that ends up as a good thing. Would make it real easy to support other options on metrics like excluding outliers, for example find the sum of values within 3 standard deviations from the mean could be
(note, how that particular calculation could be implemented is left as an exercise for the reader, I'm just using it as an example of adding additional options on a relatively simple metric).
Another option example is what to do with null values. For example, in some cases a null should not impact a mean but in others it should. You could express those as
mean(fieldA, replace(null, 0)) // replace null values with 0 thus leading to an impact on the mean mean(fieldA, includeNull="true") // nulls are counted in the denominator but nothing added to numerator mean(fieldA, includeNull="false") // nulls neither counted in denominator nor added to numerator mean(fieldA, replace(null, fieldB), includeNull="true") // if fieldA is null replace it with fieldB, include null fieldB in mean
so on and so forth.