auto detect time agg location
This commit is contained in:
parent
282ff24669
commit
df4de53d29
|
@ -51,6 +51,14 @@ func (m *Metric) GenerateExpression() (string, error){
|
||||||
|
|
||||||
return string(expressionBytes), nil
|
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 {
|
type MetricItem struct {
|
||||||
Name string `json:"name,omitempty"`
|
Name string `json:"name,omitempty"`
|
||||||
|
|
|
@ -214,7 +214,8 @@ func getMetricData(metric *insight.Metric) (interface{}, error) {
|
||||||
agg = aggM["filter_agg"]
|
agg = aggM["filter_agg"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
metricData := CollectMetricData(agg, true)
|
timeBeforeGroup := metric.AutoTimeBeforeGroup()
|
||||||
|
metricData := CollectMetricData(agg, timeBeforeGroup)
|
||||||
|
|
||||||
var targetMetricData []insight.MetricData
|
var targetMetricData []insight.MetricData
|
||||||
formula := strings.TrimSpace(metric.Formula)
|
formula := strings.TrimSpace(metric.Formula)
|
||||||
|
|
|
@ -79,7 +79,7 @@ func generateAgg(metricItem *insight.MetricItem, timeField string) map[string]in
|
||||||
}
|
}
|
||||||
|
|
||||||
func GenerateQuery(metric *insight.Metric) (interface{}, error) {
|
func GenerateQuery(metric *insight.Metric) (interface{}, error) {
|
||||||
var timeBeforeGroup = true
|
var timeBeforeGroup = metric.AutoTimeBeforeGroup()
|
||||||
basicAggs := util.MapStr{}
|
basicAggs := util.MapStr{}
|
||||||
i := 0
|
i := 0
|
||||||
for _, metricItem := range metric.Items {
|
for _, metricItem := range metric.Items {
|
||||||
|
|
Loading…
Reference in New Issue