mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
Merge pull request #11995 from zhaoxiangchun/fix/zxc-node-alert-vm
fix(monitor):fix monitor query top 5
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user