github.com/pingcap/chaos@v0.0.0-20190710112158-c86faf4b3719/cmd/txnkv/main.go (about)

     1  package main
     2  
     3  import (
     4  	"context"
     5  	"flag"
     6  	"log"
     7  	"time"
     8  
     9  	"github.com/pingcap/chaos/cmd/util"
    10  	"github.com/pingcap/chaos/db/txnkv"
    11  	"github.com/pingcap/chaos/pkg/check/porcupine"
    12  	"github.com/pingcap/chaos/pkg/control"
    13  	"github.com/pingcap/chaos/pkg/core"
    14  	"github.com/pingcap/chaos/pkg/model"
    15  	"github.com/pingcap/chaos/pkg/verify"
    16  )
    17  
    18  var (
    19  	requestCount = flag.Int("request-count", 500, "client test request count")
    20  	round        = flag.Int("round", 3, "client test request count")
    21  	runTime      = flag.Duration("run-time", 10*time.Minute, "client test run time")
    22  	clientCase   = flag.String("case", "register", "client test case, like register")
    23  	historyFile  = flag.String("history", "./history.log", "history file")
    24  	nemesises    = flag.String("nemesis", "", "nemesis, seperated by name, like random_kill,all_kill")
    25  )
    26  
    27  func main() {
    28  	flag.Parse()
    29  
    30  	cfg := control.Config{
    31  		DB:           "txnkv",
    32  		RequestCount: *requestCount,
    33  		RunRound:     *round,
    34  		RunTime:      *runTime,
    35  		History:      *historyFile,
    36  	}
    37  
    38  	var creator core.ClientCreator
    39  	switch *clientCase {
    40  	case "register":
    41  		creator = txnkv.RegisterClientCreator{}
    42  	default:
    43  		log.Fatalf("invalid client test case %s", *clientCase)
    44  	}
    45  
    46  	verifySuit := verify.Suit{
    47  		Model:   model.RegisterModel(),
    48  		Checker: porcupine.Checker{},
    49  		Parser:  model.RegisterParser(),
    50  	}
    51  	suit := util.Suit{
    52  		Config:        &cfg,
    53  		ClientCreator: creator,
    54  		Nemesises:     *nemesises,
    55  		VerifySuit:    verifySuit,
    56  	}
    57  	suit.Run(context.Background(), []string{})
    58  }