|
8 | 8 | DataFrame, |
9 | 9 | DataQueryRequest, |
10 | 10 | DataQueryResponse, |
| 11 | + DataSourceGetTagKeysOptions, |
| 12 | + DataSourceGetTagValuesOptions, |
11 | 13 | DataSourceInstanceSettings, |
12 | 14 | DataSourceWithQueryImportSupport, |
13 | 15 | getDefaultTimeRange, |
@@ -46,7 +48,7 @@ type FieldCapsSpec = { |
46 | 48 | aggregatable?: boolean, |
47 | 49 | searchable?: boolean, |
48 | 50 | type?: string[], |
49 | | - _range?: TimeRange |
| 51 | + range?: TimeRange |
50 | 52 | } |
51 | 53 |
|
52 | 54 | export class BaseQuickwitDataSource |
@@ -163,7 +165,8 @@ export class BaseQuickwitDataSource |
163 | 165 | ) |
164 | 166 | } |
165 | 167 |
|
166 | | - getFields(spec: FieldCapsSpec={}, range = getDefaultTimeRange()): Observable<MetricFindValue[]> { |
| 168 | + getFields(spec: FieldCapsSpec={}): Observable<MetricFindValue[]> { |
| 169 | + const range = spec.range || getDefaultTimeRange(); |
167 | 170 | return from(this.getResource('_elastic/' + this.index + '/_field_caps', { |
168 | 171 | start_timestamp: Math.floor(range.from.valueOf()/SECOND), |
169 | 172 | end_timestamp: Math.ceil(range.to.valueOf()/SECOND), |
@@ -209,17 +212,16 @@ export class BaseQuickwitDataSource |
209 | 212 | /** |
210 | 213 | * Get tag keys for adhoc filters |
211 | 214 | */ |
212 | | - getTagKeys(spec?: FieldCapsSpec) { |
213 | | - const fields = this.getFields(spec) |
| 215 | + getTagKeys(options: DataSourceGetTagKeysOptions) { |
| 216 | + const fields = this.getFields({aggregatable:true, range: options.timeRange}) |
214 | 217 | return lastValueFrom(fields, {defaultValue:[]}); |
215 | 218 | } |
216 | 219 |
|
217 | 220 | /** |
218 | 221 | * Get tag values for adhoc filters |
219 | 222 | */ |
220 | | - getTagValues(options: any) { |
221 | | - const range = getDefaultTimeRange(); |
222 | | - const terms = this.getTerms({ field: options.key }, range) |
| 223 | + getTagValues(options: DataSourceGetTagValuesOptions) { |
| 224 | + const terms = this.getTerms({ field: options.key }, options.timeRange) |
223 | 225 | return lastValueFrom(terms, {defaultValue:[]}); |
224 | 226 | } |
225 | 227 |
|
@@ -292,7 +294,7 @@ export class BaseQuickwitDataSource |
292 | 294 | if (query) { |
293 | 295 | if (parsedQuery.find === 'fields') { |
294 | 296 | parsedQuery.type = this.interpolateLuceneQuery(parsedQuery.type); |
295 | | - return lastValueFrom(this.getFields({aggregatable:true, type:parsedQuery.type, _range:range}), {defaultValue:[]}); |
| 297 | + return lastValueFrom(this.getFields({aggregatable:true, type:parsedQuery.type, range:range}), {defaultValue:[]}); |
296 | 298 | } |
297 | 299 | if (parsedQuery.find === 'terms') { |
298 | 300 | parsedQuery.field = this.interpolateLuceneQuery(parsedQuery.field); |
|
0 commit comments