Skip to content

Commit bc6063c

Browse files
committed
resolve conflict
2 parents ded4bd5 + 5751ec1 commit bc6063c

File tree

22 files changed

+218
-45
lines changed

22 files changed

+218
-45
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
/strain-ui/coverage
1010

1111
.env.pg
12+
temp
1213
# production
1314
/strain-ui/build
1415
/strain-ui/dist

Dockerfile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,4 @@ RUN chmod +x ./main
2323
EXPOSE 3005
2424
ENV MASTER_IP ""
2525
ENV TOKEN ""
26-
ENV PORT ""
27-
CMD ./main -MASTER_IP $MASTER_IP -TOKEN $TOKEN -PORT $PORT
26+
CMD ./main -MASTER_IP $MASTER_IP -TOKEN $TOKEN

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ as many server as you can to run test script across all the server at same time.
2020

2121
1. `docker run -it -p 3005:3005 --platform linux/amd64 manojown1/loadtester:latest` (outer port can be change according to the need.)
2222

23+
## Run as workers for distributed testing
24+
`docker run -it -p ANY_AVAILABLE_PORT:3005 -e TOKEN="YOU_CAN_GET_WHILE_CREATE_SERVER" -e MASTER_IP="YOUR_MAIN_SERVER_IP" --platform linux/amd64 manojown1/loadtester:latest`
25+
2326

2427

2528
## Download the binary

server/app/controllers/workerMode.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ package controllers
22

33
import (
44
"context"
5-
"log"
5+
6+
log "github.com/sirupsen/logrus"
7+
68
"time"
79

810
_ "github.com/cirnum/loadtester/server/app/models"
@@ -19,14 +21,11 @@ import (
1921
func RunRequest(c *fiber.Ctx) error {
2022
ctx := context.Background()
2123
request := &models.Request{}
22-
log.Println("Run request hit")
2324

2425
if err := c.BodyParser(request); err != nil {
25-
log.Println("Run request Body", err)
26-
2726
return utils.ResponseError(c, err, constants.InvalidBody, fiber.StatusInternalServerError)
2827
}
29-
log.Printf("Run request Body %+v \n", request)
28+
log.Info("Run request Body %+v \n", request)
3029

3130
executor := executor.NewExecutor(request.ID, request.ServerId)
3231
ctx, cancelCtx := context.WithCancel(ctx)

server/app/utils/requestHelper.go

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ import (
44
"context"
55
"encoding/json"
66
"io/ioutil"
7-
"log"
87
"net/http"
98
"time"
109

10+
log "github.com/sirupsen/logrus"
11+
1112
helperModels "github.com/cirnum/loadtester/server/app/models"
1213
"github.com/cirnum/loadtester/server/db/models"
1314

@@ -27,13 +28,14 @@ func RunExecutor(ctx context.Context, request models.Request) error {
2728

2829
err := utils.RunWorker(request)
2930
if err != nil {
30-
log.Println("Error while sending request to Worker", err)
31+
log.Errorf("Error while sending request to Worker", err.Error())
3132
return err
3233
}
3334

3435
go executor.Run(ctx, request)
3536
client, err = httpRequest.Initializer(request)
3637
if err != nil {
38+
log.Error("Error while initiate http client", err.Error())
3739
return err
3840
}
3941

@@ -63,9 +65,12 @@ func TestRequest(request *models.Request) (helperModels.RequestResponse, error)
6365
}
6466
startTime := time.Now().UnixNano() / int64(time.Millisecond)
6567
response, err = utils.Do(method, request.URL, body, headers)
68+
69+
if err != nil {
70+
log.Error("Error while checking service is reachable or not", err.Error())
71+
}
6672
endTime := time.Now().UnixNano() / int64(time.Millisecond)
6773

68-
log.Println("Error", err)
6974
if err != nil && response == nil {
7075
return requestResponse, err
7176
}

server/db/providers/sql/provider.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package sql
22

33
import (
4-
"log"
54
"os"
65
"time"
76

87
"github.com/cirnum/loadtester/server/db/models"
98
"github.com/cirnum/loadtester/server/pkg/constants"
109
"github.com/glebarez/sqlite"
1110
"github.com/sirupsen/logrus"
11+
log "github.com/sirupsen/logrus"
1212
"gorm.io/driver/mysql"
1313
"gorm.io/driver/postgres"
1414
"gorm.io/gorm"
@@ -52,7 +52,7 @@ func NewProvider() (*provider, error) {
5252

5353
dbType := os.Getenv(constants.DbType)
5454
dbDNS := os.Getenv(constants.DbDns)
55-
log.Println("dbDNS:", dbType, dbDNS)
55+
log.Infof("dbType: %s, dbDNS: %s \n", dbType, dbDNS)
5656
switch dbType {
5757
case constants.DbTypeSQL:
5858
sqlDB, err = gorm.Open(mysql.Open(dbDNS), ormConfig)

server/main.go

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@ package main
33
import (
44
"embed"
55
"flag"
6-
"fmt"
7-
"log"
6+
87
"os"
98
"time"
109

10+
log "github.com/sirupsen/logrus"
11+
1112
"github.com/cirnum/loadtester/server/db"
1213
"github.com/cirnum/loadtester/server/pkg/configs"
1314
"github.com/clerkinc/clerk-sdk-go/clerk"
@@ -77,9 +78,9 @@ func main() {
7778
}
7879

7980
func isWorkerMode() bool {
80-
portPtr := flag.String("PORT", "3005", "Take the dafault port if port is empty (Required)")
81+
portPtr := flag.String("PORT", "3005", "Take the dafault port if port is empty")
8182
token := flag.String("TOKEN", "", "Please pass the token (Required)")
82-
masterIp := flag.String("MASTER_IP", "", "Please pass the master node ip.")
83+
masterIp := flag.String("MASTER_IP", "", "Please pass the master node ip. (Required)")
8384
flag.Parse()
8485

8586
localIp := utils.GetPublicIp()
@@ -88,15 +89,17 @@ func isWorkerMode() bool {
8889
configs.ConfigProvider.HostIp = localIp
8990
configs.ConfigProvider.IsSlave = false
9091
configs.ConfigProvider.IP = os.Getenv("SERVER_HOST")
91-
fmt.Printf("Master %+v \n", configs.ConfigProvider)
92+
log.Info("Master Config: %+v \n", configs.ConfigProvider)
93+
log.Info(string("\033[34m"), "Master service initiated.")
9294
return false
9395
}
94-
log.Println("Started node as worker.")
9596
configs.ConfigProvider = configs.Initialize(*portPtr, *token, *masterIp)
9697
configs.ConfigProvider.IsSlave = true
9798
configs.ConfigProvider.IP = "0.0.0.0"
9899
configs.ConfigProvider.HostIp = localIp
99-
fmt.Printf("Worker %+v \n", configs.ConfigProvider)
100+
101+
log.Info("Worker Config: %+v \n", configs.ConfigProvider)
102+
log.Info(string("\033[34m"), "Worker service initiated.")
100103
return true
101104
}
102105

server/pkg/clients/http.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import (
55
"encoding/json"
66
"io"
77
"io/ioutil"
8-
"log"
98
"net/http"
109
"reflect"
1110
"strings"
@@ -16,6 +15,7 @@ import (
1615
"github.com/cirnum/loadtester/server/pkg/executor"
1716
metrics "github.com/cirnum/loadtester/server/pkg/executor/metrics"
1817
"github.com/cirnum/loadtester/server/pkg/utils"
18+
log "github.com/sirupsen/logrus"
1919
)
2020

2121
type RequestSend struct {
@@ -130,12 +130,12 @@ func (h *HttpClient) RunScen(ctx context.Context, conf models.Request) {
130130
case err = <-finished:
131131
ctx.Done()
132132
case <-ctx.Done():
133-
log.Println("Job Completed")
133+
log.Info("Job Completed")
134134
return
135135
}
136136
}()
137137
h.Manager(ctx, conf, finished)
138-
log.Println("Error", err)
138+
log.Error("Error", err)
139139
}
140140

141141
func (h *HttpClient) Manager(ctx context.Context, conf models.Request, done chan<- error) {

server/pkg/executor/worker.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import (
55
"encoding/json"
66
"errors"
77
"fmt"
8-
"log"
8+
"net/http"
99
"os"
1010
"sync"
1111
"time"
@@ -16,6 +16,7 @@ import (
1616
metrics "github.com/cirnum/loadtester/server/pkg/executor/metrics"
1717
"github.com/cirnum/loadtester/server/pkg/utils"
1818
gometrics "github.com/rcrowley/go-metrics"
19+
log "github.com/sirupsen/logrus"
1920
)
2021

2122
const (
@@ -238,7 +239,13 @@ func (e *Executor) logScaledOnCue(ctx context.Context, ch chan interface{}) erro
238239
headers := map[string]string{
239240
"Content-Type": "application/json",
240241
}
241-
utils.Do("POST", url, body, headers)
242+
res, err := utils.Do(http.MethodPost, url, body, headers)
243+
if err != nil {
244+
log.Error("Failed to connect to master host", err.Error())
245+
}
246+
if res != nil {
247+
log.Warnf("For url: %s, statusCode: %s", url, res.StatusCode)
248+
}
242249
} else {
243250
db.Provider.AddLoadByRequestId(ctx, value)
244251
}

server/pkg/utils/server.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package utils
22

33
import (
4-
"log"
54
"os"
65
"os/signal"
76
"time"
87

98
"github.com/cirnum/loadtester/server/db/models"
109
"github.com/gofiber/fiber/v2"
10+
log "github.com/sirupsen/logrus"
1111
)
1212

1313
// Check server Status
@@ -43,7 +43,7 @@ func StartServerWithGracefulShutdown(a *fiber.App) {
4343
// Received an interrupt signal, shutdown.
4444
if err := a.Shutdown(); err != nil {
4545
// Error from closing listeners, or context timeout:
46-
log.Printf("Oops... Server is not shutting down! Reason: %v", err)
46+
log.Errorf("Oops... Server is not shutting down! Reason: %v", err)
4747
}
4848

4949
close(idleConnsClosed)
@@ -54,7 +54,7 @@ func StartServerWithGracefulShutdown(a *fiber.App) {
5454

5555
// Run server.
5656
if err := a.Listen(fiberConnURL); err != nil {
57-
log.Printf("Oops... Server is not running! Reason: %v", err)
57+
log.Errorf("Oops... Server is not running! Reason: %v", err)
5858
}
5959

6060
<-idleConnsClosed
@@ -66,6 +66,6 @@ func StartServer(a *fiber.App) {
6666
fiberConnURL, _ := ConnectionURLBuilder("fiber")
6767
// Run server.
6868
if err := a.Listen(fiberConnURL); err != nil {
69-
log.Printf("Oops... Server is not running! Reason: %v", err)
69+
log.Errorf("Oops... Server is not running! Reason: %v", err)
7070
}
7171
}

0 commit comments

Comments
 (0)