Merge pull request #11995 from zhaoxiangchun/fix/zxc-node-alert-vm

fix(monitor):fix monitor query top 5
This commit is contained in:
Zexi Li
2021-08-25 10:16:00 +08:00
committed by GitHub
3 changed files with 15 additions and 7 deletions
+13 -6
View File
@@ -83,15 +83,11 @@ func (query *MetricQueryCondition) ExecuteQuery() (*mq.Metrics, error) {
Series: make(tsdb.TimeSeriesSlice, 0),
Metas: queryResult.metas,
}
if len(query.QueryCons[0].ResType) == 0 ||
strings.HasPrefix(query.QueryCons[0].ResType, monitor.EXT_PREFIX) {
if query.noCheckSeries() {
metrics.Series = queryResult.series
return &metrics, nil
}
//allResources, err := query.QueryCons[0].GetQueryResources()
//if err != nil {
// return nil, errors.Wrap(err, "MetricQueryCondition GetQueryResources err")
//}
for _, serie := range queryResult.series {
isLatestOfSerie, resource := query.QueryCons[0].serieIsLatestResource(nil, serie)
if !isLatestOfSerie {
@@ -103,6 +99,17 @@ func (query *MetricQueryCondition) ExecuteQuery() (*mq.Metrics, error) {
return &metrics, nil
}
func (query *MetricQueryCondition) noCheckSeries() bool {
if len(query.QueryCons[0].ResType) == 0 ||
strings.HasPrefix(query.QueryCons[0].ResType, monitor.EXT_PREFIX) {
return true
}
if len(query.QueryCons[0].Query.Model.GroupBy) == 0 {
return true
}
return false
}
func (c *MetricQueryCondition) executeQuery(context *alerting.EvalContext, timeRange *tsdb.TimeRange) (*queryResult, error) {
ds, err := models.DataSourceManager.GetSource(c.QueryCons[0].Query.DataSourceId)
if err != nil {
+1 -1
View File
@@ -447,7 +447,7 @@ func checkQueryGroupBy(query *monitor.AlertQuery, inputQuery *monitor.MetricInpu
if len(query.Model.GroupBy) != 0 {
return
}
if query.Model.Database == monitor.METRIC_DATABASE_METER && inputQuery.Unit {
if query.Model.Database == monitor.METRIC_DATABASE_METER || inputQuery.Unit {
return
}
metricMeasurement, _ := MetricMeasurementManager.GetCache().Get(query.Model.Measurement)
@@ -88,6 +88,7 @@ func (e *InfluxdbExecutor) Query(ctx context.Context, dsInfo *tsdb.DataSource, t
// return nil, err
//}
log.Debugf("sql: %s", rawQuery)
db := dsInfo.Database
if db == "" {
db = tsdbQuery.Queries[0].Database