CREATE TABLE prom_series ( ts TIMESTAMP TIME INDEX, val DOUBLE, host STRING PRIMARY KEY ); Affected Rows: 0 INSERT INTO prom_series (ts, val, host) VALUES (0, 0.0, 'p'), (300, 10.0, 'p'), (600, 20.0, 'p'), (900, 30.0, 'p'), (1200, 40.0, 'p'), (1500, 0.0, 'p'), (1800, 10.0, 'p'), (2100, 20.0, 'p'), (2400, 30.0, 'p'), (2700, 40.0, 'p'), (3000, 50.0, 'p'); Affected Rows: 11 -- predict_linear -- SQLNESS SORT_RESULT 3 1 tql eval (3, 3, '1s') predict_linear(prom_series[3s], 0); +---------------------+----------------------------------------------+------+ | ts | prom_predict_linear(ts_range,val,Float64(0)) | host | +---------------------+----------------------------------------------+------+ | 1970-01-01T00:00:03 | 37.27272727272727 | p | +---------------------+----------------------------------------------+------+ -- SQLNESS SORT_RESULT 3 1 tql eval (3, 3, '1s') predict_linear(prom_series[3s], 3); +---------------------+----------------------------------------------+------+ | ts | prom_predict_linear(ts_range,val,Float64(3)) | host | +---------------------+----------------------------------------------+------+ | 1970-01-01T00:00:03 | 64.54545454545455 | p | +---------------------+----------------------------------------------+------+ -- SQLNESS SORT_RESULT 3 1 tql eval (3, 3, '1s') predict_linear(prom_series[3s], 40 + 2); +---------------------+------------------------------------------------------------+------+ | ts | prom_predict_linear(ts_range,val,Float64(40) + Float64(2)) | host | +---------------------+------------------------------------------------------------+------+ | 1970-01-01T00:00:03 | 419.090909090909 | p | +---------------------+------------------------------------------------------------+------+ -- double_exponential_smoothing -- SQLNESS SORT_RESULT 3 1 tql eval (10, 10, '1s') double_exponential_smoothing(prom_series[10s], 0.4 + 0.1, 0.1); +---------------------+------------------------------------------------------------------------------------------+------+ | ts | prom_double_exponential_smoothing(ts_range,val,Float64(0.4) + Float64(0.1),Float64(0.1)) | host | +---------------------+------------------------------------------------------------------------------------------+------+ | 1970-01-01T00:00:10 | 47.0806953125 | p | +---------------------+------------------------------------------------------------------------------------------+------+ -- holt_winters (backward compatibility) -- SQLNESS SORT_RESULT 3 1 tql eval (10, 10, '1s') holt_winters(prom_series[10s], 0.4 + 0.1, 0.1); +---------------------+------------------------------------------------------------------------------------------+------+ | ts | prom_double_exponential_smoothing(ts_range,val,Float64(0.4) + Float64(0.1),Float64(0.1)) | host | +---------------------+------------------------------------------------------------------------------------------+------+ | 1970-01-01T00:00:10 | 47.0806953125 | p | +---------------------+------------------------------------------------------------------------------------------+------+ DROP TABLE prom_series; Affected Rows: 0 CREATE TABLE prom_series_q ( ts TIMESTAMP TIME INDEX, val DOUBLE, host STRING PRIMARY KEY ); Affected Rows: 0 INSERT INTO prom_series_q (ts, val, host) VALUES (1000, 123.45, 'q'), (2000, 234.567, 'q'), (3000, 345.678, 'q'), (4000, 456.789, 'q'); Affected Rows: 4 -- quantile_over_time -- SQLNESS SORT_RESULT 3 1 tql eval (4, 4, '1s') quantile_over_time(0.2 + 0.05, prom_series_q[4s]); +---------------------+--------------------------------------------------------------------+------+ | ts | prom_quantile_over_time(ts_range,val,Float64(0.2) + Float64(0.05)) | host | +---------------------+--------------------------------------------------------------------+------+ | 1970-01-01T00:00:04 | 206.78775000000002 | q | +---------------------+--------------------------------------------------------------------+------+ -- SQLNESS SORT_RESULT 3 1 tql eval (4, 4, '1s') quantile_over_time(0.4 + 0.1, prom_series_q[4s]); +---------------------+-------------------------------------------------------------------+------+ | ts | prom_quantile_over_time(ts_range,val,Float64(0.4) + Float64(0.1)) | host | +---------------------+-------------------------------------------------------------------+------+ | 1970-01-01T00:00:04 | 290.1225 | q | +---------------------+-------------------------------------------------------------------+------+ -- round -- SQLNESS SORT_RESULT 3 1 tql eval (3, 3, '1s') round(prom_series_q); +---------------------+----------------------------+------+ | ts | prom_round(val,Float64(0)) | host | +---------------------+----------------------------+------+ | 1970-01-01T00:00:03 | 346.0 | q | +---------------------+----------------------------+------+ -- SQLNESS SORT_RESULT 3 1 tql eval (1, 4, '1s') round(prom_series_q, 0.01); +---------------------+-------------------------------+------+ | ts | prom_round(val,Float64(0.01)) | host | +---------------------+-------------------------------+------+ | 1970-01-01T00:00:01 | 123.45 | q | | 1970-01-01T00:00:02 | 234.57 | q | | 1970-01-01T00:00:03 | 345.68 | q | | 1970-01-01T00:00:04 | 456.79 | q | +---------------------+-------------------------------+------+ -- SQLNESS SORT_RESULT 3 1 tql eval (1, 4, '1s') round(prom_series_q, 0.05 + 0.05); +---------------------+-----------------------------------------------+------+ | ts | prom_round(val,Float64(0.05) + Float64(0.05)) | host | +---------------------+-----------------------------------------------+------+ | 1970-01-01T00:00:01 | 123.5 | q | | 1970-01-01T00:00:02 | 234.60000000000002 | q | | 1970-01-01T00:00:03 | 345.70000000000005 | q | | 1970-01-01T00:00:04 | 456.8 | q | +---------------------+-----------------------------------------------+------+ -- SQLNESS SORT_RESULT 3 1 tql eval (1, 4, '1s') round(prom_series_q, 10.0); +---------------------+-----------------------------+------+ | ts | prom_round(val,Float64(10)) | host | +---------------------+-----------------------------+------+ | 1970-01-01T00:00:01 | 120.0 | q | | 1970-01-01T00:00:02 | 230.0 | q | | 1970-01-01T00:00:03 | 350.0 | q | | 1970-01-01T00:00:04 | 460.0 | q | +---------------------+-----------------------------+------+ -- SQLNESS SORT_RESULT 3 1 tql eval (1, 4, '1s') round(prom_series_q, 100.0 + 3.0); +---------------------+-------------------------------------------+------+ | ts | prom_round(val,Float64(100) + Float64(3)) | host | +---------------------+-------------------------------------------+------+ | 1970-01-01T00:00:01 | 103.0 | q | | 1970-01-01T00:00:02 | 206.0 | q | | 1970-01-01T00:00:03 | 309.0 | q | | 1970-01-01T00:00:04 | 412.0 | q | +---------------------+-------------------------------------------+------+ -- SQLNESS SORT_RESULT 3 1 tql eval (1, 4, '1s') round(prom_series_q, - 3.0 + 13.0); +---------------------+-------------------------------------------+------+ | ts | prom_round(val,Float64(-3) + Float64(13)) | host | +---------------------+-------------------------------------------+------+ | 1970-01-01T00:00:01 | 120.0 | q | | 1970-01-01T00:00:02 | 230.0 | q | | 1970-01-01T00:00:03 | 350.0 | q | | 1970-01-01T00:00:04 | 460.0 | q | +---------------------+-------------------------------------------+------+ DROP TABLE prom_series_q; Affected Rows: 0