Rewrite urlgen in Go
Issue: 1818 This is meant to replace the urlgen shell script.pull/1831/head
parent
2facd61586
commit
bdbb2a7503
|
@ -0,0 +1,49 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"flag"
|
||||||
|
"fmt"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
i, s, c int
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
flag.IntVar(&i, "i", 10, "interval")
|
||||||
|
flag.IntVar(&s, "s", 1, "Number of unique series to generate.")
|
||||||
|
flag.IntVar(&c, "c", 10, "Number of clients to simulate.")
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
flag.Parse()
|
||||||
|
|
||||||
|
var (
|
||||||
|
pointsInSeries string
|
||||||
|
j int = 1
|
||||||
|
k int
|
||||||
|
printComma string = ","
|
||||||
|
jsonTemplate string = `{"name": "cpu", "tags": {"host": "server%d"}, "timestamp": "%s","fields": {"value": 100}}%s`
|
||||||
|
urlTemplate string = `http://localhost:8086/write POST {"database" : "db", "retentionPolicy" : "raw", "points": [%s]}`
|
||||||
|
)
|
||||||
|
|
||||||
|
t := time.Date(2010, time.January, 1, 8, 0, 0, 0, time.UTC)
|
||||||
|
for ; c > 0; c-- {
|
||||||
|
for ; j < s+1; j++ {
|
||||||
|
for ; k < i; k++ {
|
||||||
|
if k == i-1 {
|
||||||
|
printComma = ""
|
||||||
|
}
|
||||||
|
pointsInSeries = pointsInSeries + fmt.Sprintf(jsonTemplate, j, t.Format(time.RFC3339), printComma)
|
||||||
|
t = t.Add(1 * time.Second)
|
||||||
|
}
|
||||||
|
fmt.Printf(urlTemplate, pointsInSeries)
|
||||||
|
fmt.Println()
|
||||||
|
pointsInSeries = ""
|
||||||
|
k = 0
|
||||||
|
printComma = ","
|
||||||
|
}
|
||||||
|
j = 1
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue