auto detect time agg location

This commit is contained in:
liugq 2023-06-08 12:53:14 +08:00
parent 282ff24669
commit df4de53d29
3 changed files with 11 additions and 2 deletions

View File

@ -51,6 +51,14 @@ func (m *Metric) GenerateExpression() (string, error){
return string(expressionBytes), nil
}
func (m *Metric) AutoTimeBeforeGroup() bool {
for _, item := range m.Items {
if item.Statistic == "derivative" {
return false
}
}
return true
}
type MetricItem struct {
Name string `json:"name,omitempty"`

View File

@ -214,7 +214,8 @@ func getMetricData(metric *insight.Metric) (interface{}, error) {
agg = aggM["filter_agg"]
}
}
metricData := CollectMetricData(agg, true)
timeBeforeGroup := metric.AutoTimeBeforeGroup()
metricData := CollectMetricData(agg, timeBeforeGroup)
var targetMetricData []insight.MetricData
formula := strings.TrimSpace(metric.Formula)

View File

@ -79,7 +79,7 @@ func generateAgg(metricItem *insight.MetricItem, timeField string) map[string]in
}
func GenerateQuery(metric *insight.Metric) (interface{}, error) {
var timeBeforeGroup = true
var timeBeforeGroup = metric.AutoTimeBeforeGroup()
basicAggs := util.MapStr{}
i := 0
for _, metricItem := range metric.Items {