Skip to content

Commit 8c649d9

Browse files
authored
[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
1 parent e06569c commit 8c649d9

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

x-pack/plugins/infra/public/components/metrics_explorer/helpers/create_tsvb_link.test.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,16 @@ describe('createTSVBLink()', () => {
5252
"../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))"
5353
);
5454
});
55+
it('should work with filterQuery', () => {
56+
const customSource = {
57+
...source,
58+
metricAlias: 'my-beats-*',
59+
fields: { ...source.fields, timestamp: 'time' },
60+
};
61+
const customOptions = { ...options, filterQuery: 'system.network.name:lo*' };
62+
const link = createTSVBLink(customSource, customOptions, series, timeRange);
63+
expect(link).toBe(
64+
"../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))"
65+
);
66+
});
5567
});

x-pack/plugins/infra/public/components/metrics_explorer/helpers/create_tsvb_link.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,20 @@ const mapMetricToSeries = (metric: MetricsExplorerOptionsMetric) => {
7979
};
8080
};
8181

82+
const createFilterFromOptions = (
83+
options: MetricsExplorerOptions,
84+
series: MetricsExplorerSeries
85+
) => {
86+
const filters = [];
87+
if (options.filterQuery) {
88+
filters.push(options.filterQuery);
89+
}
90+
if (options.groupBy) {
91+
filters.push(`${options.groupBy}: ${series.id}`);
92+
}
93+
return filters.join(' AND ');
94+
};
95+
8296
export const createTSVBLink = (
8397
source: SourceQuery.Query['source']['configuration'] | undefined,
8498
options: MetricsExplorerOptions,
@@ -105,7 +119,7 @@ export const createTSVBLink = (
105119
show_legend: 1,
106120
time_field: (source && source.fields.timestamp) || '@timestamp',
107121
type: 'timeseries',
108-
filter: options.groupBy ? `${options.groupBy}: ${series.id}` : '',
122+
filter: createFilterFromOptions(options, series),
109123
},
110124
title: series.id,
111125
type: 'metrics',

0 commit comments

Comments
 (0)