Прогностические функции
Все функции, перечисленные здесь, поддерживаются в:
Функции перечислены без дополнительной информации. Щелкните функцию, чтобы просмотреть полные сведения.
| Function | Description |
|---|---|
| forecast | Будущее значение, max, min, delta или avg элемента данных. |
| timeleft | Время в секундах, необходимое элементу данных для достижения указанного порога. |
Общие параметры
/host/key— общий обязательный первый параметр для функций, обращающихся к истории элемента данных узла сети(sec|#num)<:time shift>— общий второй параметр для функций, обращающихся к истории элемента данных узла сети, где:- sec — максимальный период оценки в секундах (можно использовать суффиксы времени), или
- #num — максимальный диапазон оценки по последним собранным значениям (если перед ним указан символ решетки)
- time shift (необязательно) позволяет сместить точку оценки назад во времени. См. подробности о задании time shift.
Подробности функций
Некоторые общие замечания о параметрах функций:
- Параметры функций разделяются запятой
- Необязательные параметры функций (или части параметров) обозначаются
<> - Параметры, специфичные для функций, описаны с каждой функцией
- Параметры
/host/keyи(sec|#num)<:time shift>никогда не должны заключаться в кавычки
forecast(/host/key,(sec|#num)<:time shift>,time,<fit>,<mode>)
Будущее значение, максимальное, минимальное значение, дельта или среднее значение элемента данных.
Поддерживаемые типы значений: Float, Integer.
Параметры:
- См. общие параметры;
- time - горизонт прогнозирования в секундах (например,
1,60) (можно использовать суффиксы времени (например,30s,1m)); поддерживаются отрицательные значения; - fit (необязательный параметр; должен быть заключён в двойные кавычки) - функция, используемая для аппроксимации исторических данных. Поддерживаемые функции аппроксимации:
linear - линейная функция (по умолчанию)
polynomialN - полином степени N (1 <= N <= 6)
exponential - экспоненциальная функция
logarithmic - логарифмическая функция
power - степенная функция
Обратите внимание, что polynomial1 эквивалентен linear; - mode (необязательный параметр; должен быть заключён в двойные кавычки) - требуемый результат. Поддерживаемые режимы:
value - значение (по умолчанию)
max - максимальное значение
min - минимальное значение
delta - max-min
avg - среднее значение
Обратите внимание, что value оценивает значение элемента данных в моментnow+time; max, min, delta и avg вычисляют оценку значения элемента данных на интервале междуnowиnow+time.
Комментарии:
- Если возвращаемое значение больше 1.7976931348623158E+308 или меньше -1.7976931348623158E+308, возвращаемое значение ограничивается значением 1.7976931348623158E+308 или -1.7976931348623158E+308 соответственно;
- Становится неподдерживаемым только при неправильном использовании в выражении (неверный тип элемента данных, недопустимые параметры), в противном случае при возникновении ошибок возвращает -1;
- Дополнительную информацию см. в разделе о прогнозирующих функциях триггеров.
Примеры:
forecast(/host/key,#10,1h) #прогноз значения элемента данных через один час на основе последних 10 значений
forecast(/host/key,1h,30m) #прогноз значения элемента данных через 30 минут на основе данных за последний час
forecast(/host/key,1h:now-1d,12h) #прогноз значения элемента данных через 12 часов на основе данных за один час, полученных день назад
forecast(/host/key,1h,10m,"exponential") #прогноз значения элемента данных через 10 минут на основе данных за последний час с использованием экспоненциальной функции
forecast(/host/key,1h,2h,"polynomial3","max") #прогноз максимального значения, которого элемент данных может достичь в течение следующих двух часов, на основе данных за последний час и кубического полинома (полинома третьей степени)
forecast(/host/key,#2,-20m) #оценка значения элемента данных 20 минут назад на основе последних двух значений (это может быть точнее, чем использование last(), особенно если элемент данных обновляется редко, например раз в час)
timeleft(/узел_сети/ключ,(сек|#число)<:сдвиг_времени>,порог,<аппроксимация>)
Время в секундах, которое требуется для достижения элементом данных указанного порогового значения.
Поддерживаемые типы значений: Float, Integer.
Параметры:
- Смотрите общие параметры;
- порог — достигаемое значение (могут использоваться суффиксы единиц измерения);
- аппроксимация (опционально; должна быть в двойных кавычках) — см. forecast().
Комментарии:
- Если возвращаемое значение больше, чем 1.7976931348623157E+308, то возвращаемое значение усекается до 1.7976931348623157E+308;
- Возвращает 1.7976931348623157E+308, если пороговое значение недостижимо;
- Переходит в неподдерживаемое состояние только при некорректном использовании в выражении (ошибочный тип элемента данных, недопустимые параметры), в противном случае при ошибках возвращает -1;
- Смотрите также дополнительную информацию о прогнозирующих функуциях триггеров.
Примеры:
timeleft(/узел_сети/ключ,#10,0) #время до тех пор, пока значение элемента данных не достигнет нуля, на основании последних 10 значений
timeleft(/узел_сети/ключ,1h,100) #время до тех пор, пока значение элемента данных не достигнет 100, на основании данных последнего часа
timeleft(/узел_сети/ключ,1h:now-1d,100) #время до тех пор, пока значение элемента данных не достигнет 100, на основании данных одного часа сутки назад
timeleft(/узел_сети/ключ,1h,200,"polynomial2") #время до тех пор, пока значение элемента данных не достигнет 200, на основании данных последнего часа и предположении, что элемент данных ведёт себя как квадратный (второй степени) многочлен