|
|
|
|
@ -44,6 +44,10 @@ export class StackdriverTemplateQueryComponent extends PureComponent<TemplateQue |
|
|
|
|
this.setState({ metricDescriptors }); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
isLabelQuery(queryType) { |
|
|
|
|
return ['metricLabels', 'resourceLabels'].indexOf(queryType) !== -1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
async loadTimeSeriesData() { |
|
|
|
|
const refId = 'StackdriverTemplateQueryComponent'; |
|
|
|
|
const response = await this.props.datasource.getLabels(this.state.metricType, refId); |
|
|
|
|
@ -52,10 +56,6 @@ export class StackdriverTemplateQueryComponent extends PureComponent<TemplateQue |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
isLabelQuery(queryType) { |
|
|
|
|
return ['metricLabels', 'resourceLabels'].indexOf(queryType) !== -1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
handleQueryTypeChange(event) { |
|
|
|
|
this.setState({ type: event.target.value }); |
|
|
|
|
if (this.isLabelQuery(event.target.value)) { |
|
|
|
|
@ -87,6 +87,31 @@ export class StackdriverTemplateQueryComponent extends PureComponent<TemplateQue |
|
|
|
|
this.props.onChange(queryModel); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
switchMetaType(queryType) { |
|
|
|
|
switch (queryType) { |
|
|
|
|
case 'resourceLabels': |
|
|
|
|
return ( |
|
|
|
|
<SimpleDropdown |
|
|
|
|
value={this.state.resourceLabelKey} |
|
|
|
|
options={this.state.resourceLabels} |
|
|
|
|
onValueChange={this.onResourceLabelKeyChange} |
|
|
|
|
label="Resource Labels" |
|
|
|
|
/> |
|
|
|
|
); |
|
|
|
|
case 'metricLabels': |
|
|
|
|
return ( |
|
|
|
|
<SimpleDropdown |
|
|
|
|
value={this.state.metricLabelKey} |
|
|
|
|
options={this.state.metricLabels} |
|
|
|
|
onValueChange={this.onMetricLabelKeyChange} |
|
|
|
|
label="Metric Labels" |
|
|
|
|
/> |
|
|
|
|
); |
|
|
|
|
default: |
|
|
|
|
return ''; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
renderSwitch(queryType) { |
|
|
|
|
switch (queryType) { |
|
|
|
|
case 'metricTypes': |
|
|
|
|
@ -95,22 +120,8 @@ export class StackdriverTemplateQueryComponent extends PureComponent<TemplateQue |
|
|
|
|
); |
|
|
|
|
case 'metricLabels': |
|
|
|
|
case 'resourceLabels': |
|
|
|
|
const dropdown = |
|
|
|
|
queryType === 'resourceLabels' ? ( |
|
|
|
|
<SimpleDropdown |
|
|
|
|
value={this.state.resourceLabelKey} |
|
|
|
|
options={this.state.resourceLabels} |
|
|
|
|
onValueChange={this.onResourceLabelKeyChange} |
|
|
|
|
label="Resource Labels" |
|
|
|
|
/> |
|
|
|
|
) : ( |
|
|
|
|
<SimpleDropdown |
|
|
|
|
value={this.state.metricLabelKey} |
|
|
|
|
options={this.state.metricLabels} |
|
|
|
|
onValueChange={this.onMetricLabelKeyChange} |
|
|
|
|
label="Metric Labels" |
|
|
|
|
/> |
|
|
|
|
); |
|
|
|
|
case 'resourceTypes': |
|
|
|
|
const dropdown = this.switchMetaType(queryType); |
|
|
|
|
return ( |
|
|
|
|
<React.Fragment> |
|
|
|
|
<ServiceSelector metricDescriptors={this.state.metricDescriptors} onServiceChange={this.onServiceChange} /> |
|
|
|
|
|