如何在prometheus中无步查询指定指标的原始时间序列值?比如我想查询1分钟内实际有多少个datapoints,但是当我指定step为15s时,不管datapoints个数多少都会产生4个结果
package main
import (
"context"
"fmt"
"github.com/prometheus/client_golang/api"
v1 "github.com/prometheus/client_golang/api/prometheus/v1"
"log"
"time"
)
var (
prometheus string = "http://10.22.5.54:8481/select/0/prometheus"
timeout time.Duration = time.Second * 30
)
func main() {
client, err := api.NewClient(api.Config{Address: prometheus})
if err != nil {
log.Fatalln("Error connect to the prometheus: ", err)
}
v1api := v1.NewAPI(client)
ctx, cancel := context.WithTimeout(context.Background(), timeout)
defer cancel()
result, warnings, err := v1api.QueryRange(ctx, "up{app=\"activity-api\"}", v1.Range{Start: time.Now().Add(-time.Minute * 1), End: time.Now(), Step: time.Second * 15})
if err != nil {
log.Printf("Error querying Prometheus: %s\n", err)
}
if len(warnings) > 0 {
log.Printf("Warnings: %s", warnings)
}
fmt.Println(result)
}