mirror of
https://github.com/zalando-incubator/kube-metrics-adapter.git
synced 2025-08-31 11:12:55 +00:00
@@ -5,7 +5,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/influxdata/influxdb-client-go"
|
influxdb "github.com/influxdata/influxdb-client-go"
|
||||||
autoscalingv2 "k8s.io/api/autoscaling/v2"
|
autoscalingv2 "k8s.io/api/autoscaling/v2"
|
||||||
"k8s.io/apimachinery/pkg/api/resource"
|
"k8s.io/apimachinery/pkg/api/resource"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
@@ -92,14 +92,11 @@ func NewInfluxDBCollector(hpa *autoscalingv2.HorizontalPodAutoscaler, address st
|
|||||||
if v, ok := config.Config[influxDBOrgKey]; ok {
|
if v, ok := config.Config[influxDBOrgKey]; ok {
|
||||||
org = v
|
org = v
|
||||||
}
|
}
|
||||||
influxDbClient, err := influxdb.New(address, token)
|
influxDbClient := influxdb.NewClient(address, token)
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
collector.address = address
|
collector.address = address
|
||||||
collector.token = token
|
collector.token = token
|
||||||
collector.org = org
|
collector.org = org
|
||||||
collector.influxDBClient = influxDbClient
|
collector.influxDBClient = &influxDbClient
|
||||||
return collector, nil
|
return collector, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,7 +108,9 @@ type queryResult struct {
|
|||||||
|
|
||||||
// getValue returns the first result gathered from an InfluxDB instance.
|
// getValue returns the first result gathered from an InfluxDB instance.
|
||||||
func (c *InfluxDBCollector) getValue() (resource.Quantity, error) {
|
func (c *InfluxDBCollector) getValue() (resource.Quantity, error) {
|
||||||
res, err := c.influxDBClient.QueryCSV(context.Background(), c.query, c.org)
|
client := *c.influxDBClient
|
||||||
|
queryAPI := client.QueryAPI(c.org)
|
||||||
|
res, err := queryAPI.Query(context.Background(), c.query)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return resource.Quantity{}, err
|
return resource.Quantity{}, err
|
||||||
}
|
}
|
||||||
@@ -119,12 +118,9 @@ func (c *InfluxDBCollector) getValue() (resource.Quantity, error) {
|
|||||||
// Keeping just the first result.
|
// Keeping just the first result.
|
||||||
if res.Next() {
|
if res.Next() {
|
||||||
qr := queryResult{}
|
qr := queryResult{}
|
||||||
if err := res.Unmarshal(&qr); err != nil {
|
|
||||||
return resource.Quantity{}, fmt.Errorf("error in unmarshaling query result: %v", err)
|
|
||||||
}
|
|
||||||
return *resource.NewMilliQuantity(int64(qr.MetricValue*1000), resource.DecimalSI), nil
|
return *resource.NewMilliQuantity(int64(qr.MetricValue*1000), resource.DecimalSI), nil
|
||||||
}
|
}
|
||||||
if err := res.Err; err != nil {
|
if err := res.Err(); err != nil {
|
||||||
return resource.Quantity{}, fmt.Errorf("error in query result: %v", err)
|
return resource.Quantity{}, fmt.Errorf("error in query result: %v", err)
|
||||||
}
|
}
|
||||||
return resource.Quantity{}, fmt.Errorf("empty result returned")
|
return resource.Quantity{}, fmt.Errorf("empty result returned")
|
||||||
|
Reference in New Issue
Block a user