dbtester: add more flags, default values

This commit is contained in:
Gyu-Ho Lee 2017-02-23 09:53:39 -08:00
parent 85b869fbd1
commit 520f664534
No known key found for this signature in database
GPG Key ID: 1DDD39C7EB70C24C
4 changed files with 43 additions and 12 deletions

View File

@ -131,6 +131,7 @@ func ReadConfig(fpath string, analyze bool) (*Config, error) {
}
const (
defaultAgentPort int64 = 3500
defaultEtcdClientPort int64 = 2379
defaultZookeeperClientPort int64 = 2181
defaultConsulClientPort int64 = 8500
@ -145,6 +146,9 @@ func ReadConfig(fpath string, analyze bool) (*Config, error) {
)
if v, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__v2_3.String()]; ok {
if v.AgentPortToConnect == 0 {
v.AgentPortToConnect = defaultAgentPort
}
if v.DatabasePortToConnect == 0 {
v.DatabasePortToConnect = defaultEtcdClientPort
}
@ -154,6 +158,9 @@ func ReadConfig(fpath string, analyze bool) (*Config, error) {
cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__v2_3.String()] = v
}
if v, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__v3_1.String()]; ok {
if v.AgentPortToConnect == 0 {
v.AgentPortToConnect = defaultAgentPort
}
if v.DatabasePortToConnect == 0 {
v.DatabasePortToConnect = defaultEtcdClientPort
}
@ -166,6 +173,9 @@ func ReadConfig(fpath string, analyze bool) (*Config, error) {
cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__v3_1.String()] = v
}
if v, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__v3_2.String()]; ok {
if v.AgentPortToConnect == 0 {
v.AgentPortToConnect = defaultAgentPort
}
if v.DatabasePortToConnect == 0 {
v.DatabasePortToConnect = defaultEtcdClientPort
}
@ -178,6 +188,9 @@ func ReadConfig(fpath string, analyze bool) (*Config, error) {
cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__v3_2.String()] = v
}
if v, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__tip.String()]; ok {
if v.AgentPortToConnect == 0 {
v.AgentPortToConnect = defaultAgentPort
}
if v.DatabasePortToConnect == 0 {
v.DatabasePortToConnect = defaultEtcdClientPort
}
@ -190,11 +203,14 @@ func ReadConfig(fpath string, analyze bool) (*Config, error) {
cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_etcd__tip.String()] = v
}
// TODO: add JVM flags
if v, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_zookeeper__r3_4_9.String()]; ok {
if v.AgentPortToConnect == 0 {
v.AgentPortToConnect = defaultAgentPort
}
if v.DatabasePortToConnect == 0 {
v.DatabasePortToConnect = defaultZookeeperClientPort
}
v.Flag_Zookeeper_R3_4_9.ClientPort = v.DatabasePortToConnect
if v.Flag_Zookeeper_R3_4_9.TickTime == 0 {
v.Flag_Zookeeper_R3_4_9.TickTime = defaultZookeeperTickTime
@ -214,9 +230,13 @@ func ReadConfig(fpath string, analyze bool) (*Config, error) {
cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_zookeeper__r3_4_9.String()] = v
}
if v, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_zookeeper__r3_5_2_alpha.String()]; ok {
if v.AgentPortToConnect == 0 {
v.AgentPortToConnect = defaultAgentPort
}
if v.DatabasePortToConnect == 0 {
v.DatabasePortToConnect = defaultZookeeperClientPort
}
v.Flag_Zookeeper_R3_5_2Alpha.ClientPort = v.DatabasePortToConnect
if v.Flag_Zookeeper_R3_5_2Alpha.TickTime == 0 {
v.Flag_Zookeeper_R3_5_2Alpha.TickTime = defaultZookeeperTickTime
@ -240,12 +260,18 @@ func ReadConfig(fpath string, analyze bool) (*Config, error) {
}
if v, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_consul__v0_7_5.String()]; ok {
if v.AgentPortToConnect == 0 {
v.AgentPortToConnect = defaultAgentPort
}
if v.DatabasePortToConnect == 0 {
v.DatabasePortToConnect = defaultConsulClientPort
}
cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_consul__v0_7_5.String()] = v
}
if v, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[dbtesterpb.DatabaseID_consul__v0_8_0.String()]; ok {
if v.AgentPortToConnect == 0 {
v.AgentPortToConnect = defaultAgentPort
}
if v.DatabasePortToConnect == 0 {
v.DatabasePortToConnect = defaultConsulClientPort
}

View File

@ -37,6 +37,7 @@ func TestConfig(t *testing.T) {
- javac 1.8.0_121
- Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
- Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
- ` + "`/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`" + `
- Consul v0.7.5 (Go 1.8.0)
`,
ConfigClientMachineInitial: dbtesterpb.ConfigClientMachineInitial{
@ -102,6 +103,9 @@ func TestConfig(t *testing.T) {
AgentPortToConnect: 3500,
AgentEndpoints: []string{"10.240.0.21:3500", "10.240.0.22:3500", "10.240.0.23:3500"},
Flag_Zookeeper_R3_5_2Alpha: &dbtesterpb.Flag_Zookeeper_R3_5_2Alpha{
JavaDJuteMaxBuffer: 33554432,
JavaXms: "50G",
JavaXmx: "50G",
ClientPort: 2181,
TickTime: 2000,
InitLimit: 5,

View File

@ -9,6 +9,7 @@ test_description: |
- javac 1.8.0_121
- Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
- Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
- `/usr/bin/java -Djute.maxbuffer=33554432 -Xms50G -Xmx50G`
- Consul v0.7.5 (Go 1.8.0)
# common control options for all client machines
@ -85,6 +86,14 @@ datatbase_id_to_config_client_machine_agent_control:
# http://zookeeper.apache.org/doc/trunk/zookeeperAdmin.html
zookeeper__r3_5_2_alpha:
# maximum size, in bytes, of a request or response
# set it to 33 MB
java_d_jute_max_buffer: 33554432
# JVM min,max heap size
java_xms: 50G
java_xmx: 50G
# tickTime; the length of a single tick, which is the basic time unit used by ZooKeeper,
# as measured in milliseconds.
tick_time: 2000

View File

@ -55,29 +55,21 @@ func init() {
break
}
Command.PersistentFlags().StringVar(&databaseID, "database-id", "etcdv3", "etcdv2, etcdv3, zookeeper, consul, zetcd, cetcd.")
Command.PersistentFlags().StringVar(&databaseID, "database-id", "etcd__tip", "See dbtesterpb/database_id.pb.go")
Command.PersistentFlags().StringVarP(&configPath, "config", "c", "", "YAML configuration file path.")
Command.PersistentFlags().StringVar(&diskDevice, "disk-device", dn, "Disk device to collect disk statistics metrics from.")
Command.PersistentFlags().StringVar(&networkInterface, "network-interface", nt, "Network interface to record in/outgoing packets.")
}
func commandFunc(cmd *cobra.Command, args []string) error {
switch databaseID {
case "etcdv2":
case "etcdv3":
case "zookeeper":
case "zetcd":
case "consul":
case "cetcd":
default:
return fmt.Errorf("%q is not supported", databaseID)
if !dbtesterpb.IsValidDatabaseID(databaseID) {
return fmt.Errorf("database id %q is unknown", databaseID)
}
cfg, err := dbtester.ReadConfig(configPath, false)
if err != nil {
return err
}
gcfg, ok := cfg.DatabaseIDToConfigClientMachineAgentControl[databaseID]
if !ok {
return fmt.Errorf("%q is not found", databaseID)