metric_descriptors_query.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package stackdriver
  2. import (
  3. "context"
  4. "fmt"
  5. "io/ioutil"
  6. "github.com/grafana/grafana/pkg/cmd/grafana-cli/logger"
  7. "github.com/grafana/grafana/pkg/components/simplejson"
  8. "golang.org/x/net/context/ctxhttp"
  9. "github.com/grafana/grafana/pkg/tsdb"
  10. )
  11. func (e *StackdriverExecutor) executeMetricDescriptors(ctx context.Context, tsdbQuery *tsdb.TsdbQuery) (*tsdb.Response, error) {
  12. logger.Info("metricDescriptors", "metricDescriptors", tsdbQuery.Queries[0].RefId)
  13. queryResult := &tsdb.QueryResult{Meta: simplejson.New(), RefId: tsdbQuery.Queries[0].RefId}
  14. result := &tsdb.Response{
  15. Results: make(map[string]*tsdb.QueryResult),
  16. }
  17. req, err := e.createRequest(ctx, e.dsInfo, "metricDescriptors")
  18. if err != nil {
  19. slog.Error("Failed to create request", "error", err)
  20. return nil, fmt.Errorf("Failed to create request. error: %v", err)
  21. }
  22. res, err := ctxhttp.Do(ctx, e.httpClient, req)
  23. if err != nil {
  24. logger.Info("error2", err)
  25. return nil, err
  26. }
  27. body, err := ioutil.ReadAll(res.Body)
  28. if err != nil {
  29. logger.Info("error3", err)
  30. return nil, err
  31. }
  32. defer res.Body.Close()
  33. if err != nil {
  34. return nil, err
  35. }
  36. queryResult.Meta.Set("test", string(body))
  37. logger.Info("string(body)", "string(body)", string(body))
  38. result.Results[tsdbQuery.Queries[0].RefId] = queryResult
  39. return result, nil
  40. }