 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewStackdriverExecutor ¶
func NewStackdriverExecutor(dsInfo *models.DataSource) (tsdb.TsdbQueryEndpoint, error)
NewStackdriverExecutor initializes a http client
Types ¶
type StackdriverBucketOptions ¶
type StackdriverBucketOptions struct {
	LinearBuckets *struct {
		NumFiniteBuckets int64 `json:"numFiniteBuckets"`
		Width            int64 `json:"width"`
		Offset           int64 `json:"offset"`
	} `json:"linearBuckets"`
	ExponentialBuckets *struct {
		NumFiniteBuckets int64   `json:"numFiniteBuckets"`
		GrowthFactor     float64 `json:"growthFactor"`
		Scale            float64 `json:"scale"`
	} `json:"exponentialBuckets"`
	ExplicitBuckets *struct {
		Bounds []int64 `json:"bounds"`
	} `json:"explicitBuckets"`
}
    type StackdriverExecutor ¶
type StackdriverExecutor struct {
	// contains filtered or unexported fields
}
    StackdriverExecutor executes queries for the Stackdriver datasource
func (*StackdriverExecutor) Query ¶
func (e *StackdriverExecutor) Query(ctx context.Context, dsInfo *models.DataSource, tsdbQuery *tsdb.TsdbQuery) (*tsdb.Response, error)
Query takes in the frontend queries, parses them into the Stackdriver query format executes the queries against the Stackdriver API and parses the response into the time series or table format
type StackdriverQuery ¶
type StackdriverQuery struct {
	Target   string
	Params   url.Values
	RefID    string
	GroupBys []string
	AliasBy  string
}
    StackdriverQuery is the query that Grafana sends from the frontend
type StackdriverResponse ¶
type StackdriverResponse struct {
	TimeSeries []struct {
		Metric struct {
			Labels map[string]string `json:"labels"`
			Type   string            `json:"type"`
		} `json:"metric"`
		Resource struct {
			Type   string            `json:"type"`
			Labels map[string]string `json:"labels"`
		} `json:"resource"`
		MetricKind string `json:"metricKind"`
		ValueType  string `json:"valueType"`
		Points     []struct {
			Interval struct {
				StartTime time.Time `json:"startTime"`
				EndTime   time.Time `json:"endTime"`
			} `json:"interval"`
			Value struct {
				DoubleValue       float64 `json:"doubleValue"`
				StringValue       string  `json:"stringValue"`
				BoolValue         bool    `json:"boolValue"`
				IntValue          string  `json:"int64Value"`
				DistributionValue struct {
					Count                 string  `json:"count"`
					Mean                  float64 `json:"mean"`
					SumOfSquaredDeviation float64 `json:"sumOfSquaredDeviation"`
					Range                 struct {
						Min int `json:"min"`
						Max int `json:"max"`
					} `json:"range"`
					BucketOptions StackdriverBucketOptions `json:"bucketOptions"`
					BucketCounts  []string                 `json:"bucketCounts"`
					Examplars     []struct {
						Value     float64 `json:"value"`
						Timestamp string  `json:"timestamp"`
					} `json:"examplars"`
				} `json:"distributionValue"`
			} `json:"value"`
		} `json:"points"`
	} `json:"timeSeries"`
}
    StackdriverResponse is the data returned from the external Google Stackdriver API
 Click to show internal directories. 
   Click to hide internal directories.