Browse Source

finished CODING PHASE 1

Signed-off-by: wph95 <wph657856467@gmail.com>
wph95 7 years ago
parent
commit
bc5b59737c

+ 4 - 9
pkg/tsdb/elasticsearch/elasticsearch.go

@@ -5,7 +5,6 @@ import (
 	"encoding/json"
 	"errors"
 	"fmt"
-	"github.com/davecgh/go-spew/spew"
 	"github.com/grafana/grafana/pkg/log"
 	"github.com/grafana/grafana/pkg/models"
 	"github.com/grafana/grafana/pkg/setting"
@@ -52,13 +51,9 @@ func (e *ElasticsearchExecutor) Query(ctx context.Context, dsInfo *models.DataSo
 		dsInfo,
 		tsdbQuery.TimeRange,
 		tsdbQuery.Queries,
-		glog,
 	}
 
-	glog.Warn(spew.Sdump(dsInfo))
-	glog.Warn(spew.Sdump(tsdbQuery))
-
-	payload, err := queryParser.Parse()
+	payload, targets, err := queryParser.Parse()
 	if err != nil {
 		return nil, err
 	}
@@ -96,14 +91,14 @@ func (e *ElasticsearchExecutor) Query(ctx context.Context, dsInfo *models.DataSo
 		return nil, err
 	}
 
-	glog.Warn(spew.Sdump(responses))
 	for _, res := range responses.Responses {
 		if res.Err != nil {
 			return nil, errors.New(res.getErrMsg())
 		}
-
 	}
-
+	responseParser := ElasticsearchResponseParser{responses.Responses, targets}
+	queryRes := responseParser.getTimeSeries()
+	result.Results["A"] = queryRes
 	return result, nil
 }
 

+ 8 - 8
pkg/tsdb/elasticsearch/model_parser.go

@@ -5,7 +5,6 @@ import (
 	"encoding/json"
 	"fmt"
 	"github.com/grafana/grafana/pkg/components/simplejson"
-	"github.com/grafana/grafana/pkg/log"
 	"github.com/grafana/grafana/pkg/models"
 	"github.com/grafana/grafana/pkg/tsdb"
 	"src/github.com/davecgh/go-spew/spew"
@@ -18,38 +17,39 @@ type ElasticSearchQueryParser struct {
 	DsInfo    *models.DataSource
 	TimeRange *tsdb.TimeRange
 	Queries   []*tsdb.Query
-	glog      log.Logger
 }
 
-func (qp *ElasticSearchQueryParser) Parse() (string, error) {
+func (qp *ElasticSearchQueryParser) Parse() (string, []*QueryBuilder, error) {
 	payload := bytes.Buffer{}
 	queryHeader := qp.getQueryHeader()
-
+	targets := make([]*QueryBuilder, 0)
 	for _, q := range qp.Queries {
 		timeField, err := q.Model.Get("timeField").String()
 		if err != nil {
-			return "", err
+			return "", nil, err
 		}
 		rawQuery := q.Model.Get("query").MustString("")
 		bucketAggs := q.Model.Get("bucketAggs").MustArray()
 		metrics := q.Model.Get("metrics").MustArray()
 		alias := q.Model.Get("alias").MustString("")
 		builder := QueryBuilder{timeField, rawQuery, bucketAggs, metrics, alias}
+		targets = append(targets, &builder)
 
 		query, err := builder.Build()
 		if err != nil {
-			return "", err
+			return "", nil, err
 		}
 		queryBytes, err := json.Marshal(query)
 		if err != nil {
-			return "", err
+			return "", nil, err
 		}
 
 		payload.WriteString(queryHeader.String() + "\n")
 		payload.WriteString(string(queryBytes) + "\n")
 	}
+	p, err := qp.payloadReplace(payload.String(), qp.DsInfo.JsonData)
 
-	return qp.payloadReplace(payload.String(), qp.DsInfo.JsonData)
+	return p, targets, err
 
 }
 

+ 0 - 11
pkg/tsdb/elasticsearch/models.go

@@ -118,14 +118,3 @@ func (r *Response) getErrMsg() (string) {
 	}
 	return msg.String()
 }
-
-type PercentilesResult struct {
-	Buckets struct {
-		map[string]struct {
-			Values map[string]string `json:"values"`
-		}
-		KeyAsString string `json:"key_as_string"`
-		Key         int64  `json:"key"`
-		DocCount    int    `json:"doc_count"`
-	} `json:"buckets"`
-}