Until recently I used a performance mapper to get consecutive samples for my custom monitors or rules. This is not optimal since the data is transformed into performance data.
When taking a look at the Web Application Availability monitoring I found out that the Expression Filter with the 2.0 schema version has a new element called SupressionSettings.
This is great! You can with this set how many matches that is needed to output the data to the next module. You can also set the total number of samples or a time limit for the samples.
I don’t know how I managed to miss this, but hopefully with this post, I’ll help some else not to miss this possibility.
Information from MSDN about the SupressionSettings element in the System.ExpressionFilter module:
|MatchCount||Integer||False||Required element. Indicates how many positive matches the expression filter requires before outputting a data item. A value of 1 or 0 here defaults to the original behavior of the Expression Filter which is to output on all matches.|
|SampleCount||Integer||False||Optional element. Indicates how many total samples (both positive and negative) to store while calculating matches. This value must be greater or equal to the match count. If it is not, or if it is missing, the sample count is set equal to the match count (that is, only consecutive matching samples will trigger output).|
|WithinSeconds||Integer||False||Optional element. Indicates the time period during which a match increments a repeat count from the current item. This means that there need to be MatchCount matches of the expression within WithinSeconds in order for the Expression Filter to produce a data item. If this parameter is missing, set to zero, or SampleCount is non-zero, it defaults to the MatchCount/SampleCount behavior.|