mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
finished CODING PHASE 1
Signed-off-by: wph95 <wph657856467@gmail.com>
This commit is contained in:
parent
8e7d23cdeb
commit
bc5b59737c
@ -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
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
||||
}
|
||||
|
||||
|
@ -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"`
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user