diff --git a/pkg/tsdb/mqe/model_parser.go b/pkg/tsdb/mqe/model_parser.go index 26bafb6c055..679ffcfd713 100644 --- a/pkg/tsdb/mqe/model_parser.go +++ b/pkg/tsdb/mqe/model_parser.go @@ -7,9 +7,8 @@ import ( type MQEQueryParser struct{} -func (qp *MQEQueryParser) Parse(model *simplejson.Json, dsInfo *tsdb.DataSourceInfo) (*MQEQuery, error) { - query := &MQEQuery{} - +func (qp *MQEQueryParser) Parse(model *simplejson.Json, dsInfo *tsdb.DataSourceInfo, queryContext *tsdb.QueryContext) (*MQEQuery, error) { + query := &MQEQuery{TimeRange: queryContext.TimeRange} query.AddAppToAlias = model.Get("addAppToAlias").MustBool(false) query.AddHostToAlias = model.Get("addHostToAlias").MustBool(false) query.UseRawQuery = model.Get("rawQuery").MustBool(false) diff --git a/pkg/tsdb/mqe/model_parser_test.go b/pkg/tsdb/mqe/model_parser_test.go index 60b83914a5c..960705978d7 100644 --- a/pkg/tsdb/mqe/model_parser_test.go +++ b/pkg/tsdb/mqe/model_parser_test.go @@ -12,9 +12,8 @@ func TestMQEQueryParser(t *testing.T) { Convey("MQE query parser", t, func() { parser := &MQEQueryParser{} - dsInfo := &tsdb.DataSourceInfo{ - JsonData: simplejson.New(), - } + dsInfo := &tsdb.DataSourceInfo{JsonData: simplejson.New()} + queryContext := &tsdb.QueryContext{} Convey("can parse simple mqe model", func() { json := ` @@ -35,7 +34,7 @@ func TestMQEQueryParser(t *testing.T) { modelJson, err := simplejson.NewJson([]byte(json)) So(err, ShouldBeNil) - query, err := parser.Parse(modelJson, dsInfo) + query, err := parser.Parse(modelJson, dsInfo, queryContext) So(err, ShouldBeNil) So(query.UseRawQuery, ShouldBeFalse) @@ -70,7 +69,7 @@ func TestMQEQueryParser(t *testing.T) { modelJson, err := simplejson.NewJson([]byte(json)) So(err, ShouldBeNil) - query, err := parser.Parse(modelJson, dsInfo) + query, err := parser.Parse(modelJson, dsInfo, queryContext) So(err, ShouldBeNil) So(query.UseRawQuery, ShouldBeFalse) So(query.Apps[0], ShouldEqual, "demoapp") @@ -107,7 +106,7 @@ func TestMQEQueryParser(t *testing.T) { modelJson, err := simplejson.NewJson([]byte(json)) So(err, ShouldBeNil) - query, err := parser.Parse(modelJson, dsInfo) + query, err := parser.Parse(modelJson, dsInfo, queryContext) So(err, ShouldBeNil) So(query.UseRawQuery, ShouldBeTrue) diff --git a/pkg/tsdb/mqe/mqe.go b/pkg/tsdb/mqe/mqe.go index fac167eaa67..75a291bac0b 100644 --- a/pkg/tsdb/mqe/mqe.go +++ b/pkg/tsdb/mqe/mqe.go @@ -35,12 +35,12 @@ var ( func init() { glog = log.New("tsdb.mqe") - tsdb.RegisterExecutor("mqe", NewMQEExecutor) + tsdb.RegisterExecutor("mqe-datasource", NewMQEExecutor) HttpClient = tsdb.GetDefaultClient() } -func (e *MQEExecutor) Execute(ctx context.Context, queries tsdb.QuerySlice, context *tsdb.QueryContext) *tsdb.BatchResult { +func (e *MQEExecutor) Execute(ctx context.Context, queries tsdb.QuerySlice, queryContext *tsdb.QueryContext) *tsdb.BatchResult { result := &tsdb.BatchResult{} availableSeries, err := NewTokenClient().GetTokenData(ctx, e.DataSourceInfo) @@ -48,11 +48,9 @@ func (e *MQEExecutor) Execute(ctx context.Context, queries tsdb.QuerySlice, cont return result.WithError(err) } - glog.Info("available series", availableSeries) - var mqeQueries []*MQEQuery for _, v := range queries { - q, err := e.QueryParser.Parse(v.Model, e.DataSourceInfo) + q, err := e.QueryParser.Parse(v.Model, e.DataSourceInfo, queryContext) if err != nil { return result.WithError(err) } @@ -88,6 +86,7 @@ func (e *MQEExecutor) Execute(ctx context.Context, queries tsdb.QuerySlice, cont asdf.Series = append(asdf.Series, series.Series...) } + result.QueryResults = make(map[string]*tsdb.QueryResult) result.QueryResults["A"] = asdf return result