mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
stackdriver: add resource types query
This commit is contained in:
@@ -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} />
|
||||
|
||||
Reference in New Issue
Block a user