50 lines
862 B
Go
50 lines
862 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"strconv"
|
|
"sync"
|
|
"time"
|
|
|
|
"git.frostfs.info/TrueCloudLab/frostfs-observability/logging/lokicore/loki"
|
|
)
|
|
|
|
var wg sync.WaitGroup
|
|
|
|
const (
|
|
countMsgGroup = 100
|
|
countMsg = 500000
|
|
)
|
|
|
|
func send(loki *loki.Client) {
|
|
wg.Add(1)
|
|
defer wg.Done()
|
|
|
|
for j := 0; j < countMsg/countMsgGroup; j++ {
|
|
for i := 0; i < countMsgGroup; i++ {
|
|
err := loki.Send(strconv.Itoa(j)+" "+strconv.Itoa(i)+" test log message", time.Now())
|
|
if err != nil {
|
|
fmt.Fprintf(os.Stderr, "send: %v", err)
|
|
}
|
|
}
|
|
time.Sleep(20 * time.Millisecond)
|
|
}
|
|
}
|
|
|
|
func main() {
|
|
loki := loki.Setup(loki.Config{
|
|
Endpoint: "localhost:3100/api/prom/push",
|
|
Labels: map[string]string{
|
|
"label": "test",
|
|
},
|
|
BatchWait: 1000,
|
|
BatchEntriesNumber: 200,
|
|
Enabled: true,
|
|
})
|
|
go send(loki)
|
|
send(loki)
|
|
|
|
wg.Wait()
|
|
loki.Shutdown()
|
|
}
|