diff --git a/hrp/boomer.go b/hrp/boomer.go index 91094341..c8cd9349 100644 --- a/hrp/boomer.go +++ b/hrp/boomer.go @@ -7,6 +7,7 @@ import ( "io/ioutil" "os" "path/filepath" + "strings" "sync" "time" @@ -209,6 +210,18 @@ func (b *HRPBoomer) runTestCases(testCases []*TCase, profile *boomer.Profile) { testcases = append(testcases, tesecase) } + if profile.PrometheusPushgatewayURL != "" { + urlSlice := strings.Split(profile.PrometheusPushgatewayURL, ":") + if len(urlSlice) != 2 { + profile.PrometheusPushgatewayURL = "" + } else { + if urlSlice[0] == "" { + urlSlice[0] = b.Boomer.GetMasterHost() + } + } + profile.PrometheusPushgatewayURL = strings.Join(urlSlice, ":") + } + b.SetProfile(profile) b.InitBoomer() log.Info().Interface("testcases", testcases).Interface("profile", profile).Msg("run tasks successful") diff --git a/hrp/cmd/boom.go b/hrp/cmd/boom.go index 6b13bdcf..7a267b4d 100644 --- a/hrp/cmd/boom.go +++ b/hrp/cmd/boom.go @@ -148,26 +148,12 @@ func makeHRPBoomer() *hrp.HRPBoomer { os.Exit(1) } } - hrpBoomer := hrp.NewStandaloneBoomer(boomArgs.SpawnCount, boomArgs.SpawnRate) - hrpBoomer.SetRateLimiter(boomArgs.MaxRPS, boomArgs.RequestIncreaseRate) - if boomArgs.LoopCount > 0 { - hrpBoomer.SetLoopCount(boomArgs.LoopCount) - } - if !boomArgs.DisableConsoleOutput { - hrpBoomer.AddOutput(boomer.NewConsoleOutput()) - } - if boomArgs.PrometheusPushgatewayURL != "" { - hrpBoomer.AddOutput(boomer.NewPrometheusPusherOutput(boomArgs.PrometheusPushgatewayURL, "hrp", hrpBoomer.GetMode())) - } - hrpBoomer.SetDisableKeepAlive(boomArgs.DisableKeepalive) - hrpBoomer.SetDisableCompression(boomArgs.DisableCompression) - hrpBoomer.SetClientTransport() if venv != "" { hrpBoomer.SetPython3Venv(venv) } - hrpBoomer.EnableCPUProfile(boomArgs.CPUProfile, boomArgs.CPUProfileDuration) - hrpBoomer.EnableMemoryProfile(boomArgs.MemoryProfile, boomArgs.MemoryProfileDuration) - hrpBoomer.EnableGracefulQuit() + hrpBoomer.SetProfile(&boomArgs.Profile) + hrpBoomer.EnableGracefulQuit(context.Background()) + hrpBoomer.InitBoomer() return hrpBoomer } diff --git a/hrp/internal/boomer/boomer.go b/hrp/internal/boomer/boomer.go index b4fe7256..da7ac054 100644 --- a/hrp/internal/boomer/boomer.go +++ b/hrp/internal/boomer/boomer.go @@ -210,6 +210,11 @@ func (b *Boomer) ParseTestCasesChan() chan bool { return b.masterRunner.parseTestCasesChan } +// GetMasterHost returns master IP +func (b *Boomer) GetMasterHost() string { + return b.masterHost +} + // GetState gets worker state func (b *Boomer) GetState() int32 { switch b.mode {