Add delta window function to postgres query builder

Unlike the increase function delta doesn't check for resets
and can go negative. This is similar to the prometheus delta
function.
pull/13921/head
Sven Klemm 7 years ago
parent 5c1615292a
commit f608340c35
  1. 5
      public/app/plugins/datasource/postgres/postgres_query.ts
  2. 1
      public/app/plugins/datasource/postgres/query_ctrl.ts
  3. 2
      public/app/plugins/datasource/postgres/sql_part.ts

@ -184,6 +184,11 @@ export default class PostgresQuery {
switch (windows.type) {
case 'window':
switch (windows.params[0]) {
case 'delta':
curr = query;
prev = 'lag(' + curr + ') OVER (' + over + ')';
query = curr + ' - ' + prev;
break;
case 'increase':
curr = query;
prev = 'lag(' + curr + ') OVER (' + over + ')';

@ -158,6 +158,7 @@ export class PostgresQueryCtrl extends QueryCtrl {
text: 'Window Functions',
value: 'window',
submenu: [
{ text: 'Delta', value: 'delta' },
{ text: 'Increase', value: 'increase' },
{ text: 'Rate', value: 'rate' },
{ text: 'Sum', value: 'sum' },

@ -107,7 +107,7 @@ register({
{
name: 'function',
type: 'string',
options: ['increase', 'rate', 'sum'],
options: ['delta', 'increase', 'rate', 'sum'],
},
],
defaultParams: ['increase'],

Loading…
Cancel
Save