[Infra UI] Fixes #36618 - Append filterQuery to TSVB filter (#36644)

* Fixes #36618 - Append filterQuery to TSVB filter

* changing and to AND for lucene

* removing export
This commit is contained in:
Chris Cowan 2019-05-20 11:51:36 -04:00 committed by GitHub
parent e06569c437
commit 8c649d96a3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 1 deletions

View file

@ -52,4 +52,16 @@ describe('createTSVBLink()', () => {
"../app/kibana#/visualize/create?type=metrics&_g=(refreshInterval:(pause:!t,value:0),time:(from:now-1h,to:now))&_a=(filters:!(),linked:!f,query:(language:kuery,query:''),uiState:(),vis:(aggs:!(),params:(axis_formatter:number,axis_position:left,axis_scale:normal,default_index_pattern:'my-beats-*',filter:'host.name: example-01',id:test-id,index_pattern:'my-beats-*',interval:auto,series:!((axis_position:right,chart_type:line,color:%233185FC,fill:0,formatter:percent,id:test-id,label:'avg(system.cpu.user.pct)',line_width:2,metrics:!((field:system.cpu.user.pct,id:test-id,type:avg)),point_size:0,separate_axis:0,split_mode:everything,stacked:none,value_template:{{value}})),show_grid:1,show_legend:1,time_field:time,type:timeseries),title:example-01,type:metrics))"
);
});
it('should work with filterQuery', () => {
const customSource = {
...source,
metricAlias: 'my-beats-*',
fields: { ...source.fields, timestamp: 'time' },
};
const customOptions = { ...options, filterQuery: 'system.network.name:lo*' };
const link = createTSVBLink(customSource, customOptions, series, timeRange);
expect(link).toBe(
"../app/kibana#/visualize/create?type=metrics&_g=(refreshInterval:(pause:!t,value:0),time:(from:now-1h,to:now))&_a=(filters:!(),linked:!f,query:(language:kuery,query:''),uiState:(),vis:(aggs:!(),params:(axis_formatter:number,axis_position:left,axis_scale:normal,default_index_pattern:'my-beats-*',filter:'system.network.name:lo* AND host.name: example-01',id:test-id,index_pattern:'my-beats-*',interval:auto,series:!((axis_position:right,chart_type:line,color:%233185FC,fill:0,formatter:percent,id:test-id,label:'avg(system.cpu.user.pct)',line_width:2,metrics:!((field:system.cpu.user.pct,id:test-id,type:avg)),point_size:0,separate_axis:0,split_mode:everything,stacked:none,value_template:{{value}})),show_grid:1,show_legend:1,time_field:time,type:timeseries),title:example-01,type:metrics))"
);
});
});

View file

@ -79,6 +79,20 @@ const mapMetricToSeries = (metric: MetricsExplorerOptionsMetric) => {
};
};
const createFilterFromOptions = (
options: MetricsExplorerOptions,
series: MetricsExplorerSeries
) => {
const filters = [];
if (options.filterQuery) {
filters.push(options.filterQuery);
}
if (options.groupBy) {
filters.push(`${options.groupBy}: ${series.id}`);
}
return filters.join(' AND ');
};
export const createTSVBLink = (
source: SourceQuery.Query['source']['configuration'] | undefined,
options: MetricsExplorerOptions,
@ -105,7 +119,7 @@ export const createTSVBLink = (
show_legend: 1,
time_field: (source && source.fields.timestamp) || '@timestamp',
type: 'timeseries',
filter: options.groupBy ? `${options.groupBy}: ${series.id}` : '',
filter: createFilterFromOptions(options, series),
},
title: series.id,
type: 'metrics',