streamstats
Описание
Выполняет статистические операции над данными в потоковом режиме.
Синтаксис
streamstats <functions-expression> ["," <functions-expression>]
[<by_expression>] [<onchangeExpression>)] [<beforeExpression>] [<afterExpression>] [<windowExpression>]
Обязательные аргументы
Обязательно использование хотя бы одной из функций:
<functions-expression>
Описание см. в команде stats
Опциональные аргументы
Параметр | Синтаксис | По умолчанию | Описание |
---|---|---|---|
<by_expression> | <by_field> ["," <by_field> ...] | Имя поля (или полей) для группировки значений. | |
<beforeExpression> | reset_before=(<eval-expression>) | false | eval выражение, возвращающее boolean . Сбрасывает накопленную статистику до подсчета для текущего события, если выражение равно true . |
<afterExpression> | reset_after=(<eval-expression>) | false | eval выражение, возвращающее boolean . Сбрасывает накопленную статистику после подсчета для текущего события, если выражение равно true . |
<onchangeExpression> | reset_on_change=(<bool>) | false | Сбрасывает накопленную статистику, если значение хотя бы одного by field изменилось. |
<windowExpression> | window=(<int>) | 0 (неограниченно) | Максимальное количество событий, по которым будет считаться статистика. |
Примеры запросов
Пример №1
source server_warnings
| streamstats avg(amount) as stream_avg by server_name
| eventstats avg(amount) as event_avg by server_name
Пример №2
| makeresults count=10 shownumbers=true
| streamstats sum(number) as summ reset_after = (number==sqrt(9))
Пример №3
source server_warnings
| streamstats avg(amount) as stream_avg, count reset_before = (amount==abs(-16))
Пример №4
source server_warnings
| streamstats avg(amount) as stream_avg, count window=3
Пример №5
source apps
| streamstats count by action reset_on_change=true reset_before=(computer == "vb.host2")"