Prediction - script API
StackState Self-hosted v5.0.x
This page describes StackState version 5.0.
Function: Prediction.predictMetrics(predictorName: String, horizon: Duration, query: String)
Prediction.predictMetrics(predictorName: String, horizon: Duration, query: String)
Predict metrics for any metric query coming from any data source.
Args
predictorName
- the prediction preset to use:fft - Fast Fourier Transformation. Used for seasonal metrics with a repeatable pattern that has a cycle.
linear - Used for metrics that have a linear trend.
hmn - Harmonic Mean Normal. Used in difficult cases when metrics are not clearly seasonal or linear.
horizon
- How much future to predict. The horizon is specified in duration format.query
- The metrics to use for the prediction. A telemetry query that returns metrics, created using theTelemetry.query()
function followed by.compileQuery()
.
Builder methods
predictionPoints(points: Int)
- the number of points to the horizon.includeHistory(start?: Instant, end?: Instant)
- call this builder method to include the result of thequery
in the return value. Optionally a start and end can be added to limit the included history using the instant format. When not specifying the start and end the whole history will be included.
Return type
AsyncScriptResult[PredictionResponse]
A PredictionResponse
, which contains the following fields:
Fields:
PredictionResponse.request
- the request made to the prediction API of typePredictionRequest
.PredictionResponse.history
- optional, the history used for prediction of typeMetricTelemetry
. Empty if.includeHistory()
was not used.PredictionResponse.prediction
- the predicted metrics.
The PredictionRequest
type has the following fields:
PredictionRequest.query
- the query provided topredictMetrics
.PredictionRequest.predictor
- the name and configuration of the predictor.PredictionRequest.horizon
- the prediction horizon.PredictionRequest.predictionPointCount
- the number of predicted points.PredictionRequest.historyResponse
- options of the history response.
The MetricTelemetry
has the following fields:
MetricTelemetry.result.data
- the two dimensional array with values and time stamps.
Examples
Predict 8 points of disk utilization for myHost
for the next four hours based on the last four weeks of data:
Last updated