26 lines
1010 B
SQL
26 lines
1010 B
SQL
select
|
|
UNIX_TIMESTAMP(g1.ts) as time_sec,
|
|
g1.description as metric,
|
|
non_negative_value(
|
|
((g1.value - (select g2.value from grafana_v g2 where g2.ts < g1.ts and g2.description = metric order by ts desc limit 1)) / (UNIX_TIMESTAMP(g1.ts) - UNIX_TIMESTAMP((select g3.ts from grafana_v g3 where g3.ts < g1.ts and g3.description = metric order by ts desc limit 1)))),
|
|
((4294967296 + g1.value - (select g2.value from grafana_v g2 where g2.ts < g1.ts and g2.description = metric order by ts desc limit 1)) / (UNIX_TIMESTAMP(g1.ts) - UNIX_TIMESTAMP((select g3.ts from grafana_v g3 where g3.ts < g1.ts and g3.description = metric order by ts desc limit 1))))
|
|
) as value
|
|
from grafana_v g1
|
|
where g1.description = 'VDSL In-gateway'
|
|
order by g1.ts asc;
|
|
|
|
|
|
|
|
delimiter //
|
|
create or replace function non_negative_value(a double, b double) returns double
|
|
begin
|
|
if (a >= 0) then
|
|
return a;
|
|
else
|
|
return b;
|
|
end if;
|
|
end//
|
|
delimiter ;
|
|
|
|
grant execute on function statsdb.non_negative_value to 'grafana'@'%';
|