[comment]: # attributes: notoc

[comment]: # translation:outdated

[comment]: # ({70939231-2e2a1a06})
# 8 Funciones de predicción

Todas las funciones enumeradas aquí son compatibles con:

-   [Expresiones de iniciador](/manual/config/triggers/expression)
-   [Métricas calculadas](/manual/config/items/itemtypes/calculated)

Las funciones se enumeran sin información adicional. Haga clic en la función para ver los detalles completos.

|Función|Descripción|
|--|--------|
|[forecast](#forecast)|El valor futuro, máximo, mínimo, delta o promedio de la métrica.|
|[timeleft](#timeleft)|El tiempo en segundos necesario para que una métrica alcance el umbral especificado.|

[comment]: # ({/70939231-2e2a1a06})

[comment]: # ({7bb9caf7-4d343eb8})
##### Parámetros comunes

-   `/host/key` es un primer parámetro obligatorio común para las funciones
    haciendo referencia al historial de la métrica del equipo
-   `(sec|#num)<:time shift>` es un segundo parámetro común para las
    funciones que hacen referencia al historial de la métrica del equipo, donde:
    -   **seg** - período máximo de [evaluación](/manual/config/triggers#evaluation_period) en segundos
        (se pueden utilizar [sufijos](/manual/appendix/suffixes)) de tiempo , o
    -   **\#num** - máximo [rango de evaluación](/manual/config/triggers#evaluation_period) en la última versión de
        valores recopilados (si están precedidos por una almohadilla)
    -   **time shift** (opcional) permite mover el punto de evaluación
        atrás en el tiempo. Ver [más
        detalles](/manual/config/triggers/expression#time_shift) sobre
        como especificar el desplazamiento de hora.

[comment]: # ({/7bb9caf7-4d343eb8})

[comment]: # ({c645f0e4-f3b63bc1})
### Detalles de la función

Algunas notas generales sobre los parámetros de función:

-   Los parámetros de la función están separados por una coma.
-   Los parámetros de función opcionales (o partes de parámetros) se indican mediante
    `<` `>`
-   Los parámetros específicos de la función se describen con cada función.
-   Los parámetros `/host/key` y `(sec|#num)<:time shift>` nunca deben ser
    entrecomillados

[comment]: # ({/c645f0e4-f3b63bc1})

[comment]: # ({8a873b31-e4452b37})

##### forecast(/host/key,(sec|#num)<:time shift>,time,<fit>,<mode>) {#forecast}

El valor futuro, máximo, mínimo, delta o promedio de la métrica.<br>
Tipos de valores admitidos: *Flotante*, *Entero*.

Parámetros: 

-   Ver [parámetros comunes](#common-parameters);<br>
-   **hora**: el horizonte de pronóstico en segundos (se pueden usar sufijos de tiempo); se admiten valores negativos;<br>
-   **fit** (opcional; debe estar entre comillas dobles): la función utilizada para ajustar los datos históricos. Ajustes admitidos:<br>*lineal* - función lineal (predeterminada)<br>*polinomioN* - polinomio de grado N (1 <= N <= 6)<br>*exponencial* - función exponencial<br>*logarítmica* - función logarítmica<br>*potencia* - función de potencia<br>Tenga en cuenta que *polinomio1* es equivalente a *lineal*;
-   **modo** (opcional; debe estar entre comillas dobles): la salida solicitada. Modos admitidos:<br>*valor* - valor (predeterminado)<br>*max* - máximo<br>*min* - mínimo<br>*delta* - *max*-*min*<br>*avg* - promedio<br>Tenga en cuenta que *valor* estima el valor del artículo en el momento `ahora` + `tiempo`; *max*, *min*, *delta* y *avg* investigan la estimación del valor del artículo en el intervalo entre "ahora" y "ahora" + "tiempo".

Comentarios:

-   Si el valor a devolver es mayor que 1.7976931348623158E+308 o menor que -1.7976931348623158E+308, el valor devuelto se recorta a 1.7976931348623158E+308 o -1.7976931348623158E+308 respectivamente;
-   Deja de ser compatible solo si se usa incorrectamente en la expresión (tipo de métrica incorrecto, parámetros no válidos); de lo contrario, devuelve -1 en caso de errores;
-   Consulte también información adicional sobre [funciones de iniciador predictivas](/manual/config/triggers/prediction).

Ejemplos:

    forecast(/host/key,#10,1h) #pronostica el valor de la métrica en una hora según los últimos 10 valores
    forecast(/host/key,1h,30m) #pronostica el valor de la métrica en 30 minutos según los datos de la última hora
    forecast(/host/key,1h:now-1d,12h) #pronostica el valor del artículo en 12 horas basándose en una hora hace un día
    forecast(/host/key,1h,10m,"exponential") #pronostica el valor de la métrica en 10 minutos según los datos de la última hora y la función exponencial
    forecast(/host/key,1h,2h,"polynomial3","max") #pronostica el valor máximo que la métrica puede alcanzar en las próximas dos horas según los datos de la última hora y el polinomio cúbico (tercer grado)
    forecast(/host/key,#2,-20m) #estima el valor de la métrica hace 20 minutos basándose en los dos últimos valores (esto puede ser más preciso que usar last(), especialmente si la métrica se actualiza rara vez, digamos, una vez una hora)

[comment]: # ({/8a873b31-e4452b37})

[comment]: # ({834aceba-9b065620})

##### timeleft(/host/key,(sec|#num)<:time shift>,threshold,<fit>) {#timeleft}

El tiempo en segundos necesario para que una métrica alcance el umbral especificado.<br>
Tipos de valores admitidos: *Flotante*, *Entero*.

Parámetros: 

-   Ver [parámetros comunes](#common-parameters);<br>
-   **umbral**: el valor a alcanzar (se pueden utilizar [sufijos de unidad](/manual/apéndice/sufijos));
-   **fit** (opcional; debe estar entre comillas dobles) - consulte [forecast()](#forecast).

Comentarios:

-   Si el valor a devolver es mayor que 1,7976931348623158E+308, el valor devuelto se recorta a 1,7976931348623158E+308;
-   Devuelve 1.7976931348623158E+308 si no se puede alcanzar el umbral;
-   Deja de ser compatible solo si se usa incorrectamente en la expresión (tipo de métrica incorrecto, parámetros no válidos); de lo contrario, devuelve -1 en caso de errores;
-   Consulte también información adicional sobre [funciones de iniciador predictivas](/manual/config/triggers/prediction).

Ejemplos:

    timeleft(/host/key,#10,0) #el tiempo hasta que el valor de la métrica llega a cero según los últimos 10 valores
    timeleft(/host/key,1h,100) #el tiempo hasta que el valor de la métrica llega a 100 según los datos de la última hora
    timeleft(/host/key,1h:now-1d,100) #el tiempo hasta que el valor de la métrica llega a 100 basado en una hora hace un día
    timeleft(/host/key,1h,200,"polynomial2") #el tiempo hasta que el valor de la métrica alcanza 200 según los datos de la última hora y la suposición de que la métrica se comporta como un polinomio cuadrático (segundo grado)

[comment]: # ({/834aceba-9b065620})

[comment]: # ({b38ab1d7-9958c480})

Consulte [todas las funciones admitidas](/manual/appendix/functions).

[comment]: # ({/b38ab1d7-9958c480})


