Перейти к основному содержимому
Версия: 4.1

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>)falseeval выражение, возвращающее boolean. Сбрасывает накопленную статистику до подсчета для текущего события, если выражение равно true.
<afterExpression>reset_after=(<eval-expression>)falseeval выражение, возвращающее 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")"