-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
60 lines (50 loc) · 2.09 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package main
import (
"flag"
"fmt"
"github.com/lnsyyj/sttdv/analysis"
"github.com/lnsyyj/sttdv/com"
"github.com/lnsyyj/sttdv/comst"
"github.com/lnsyyj/sttdv/dbs"
)
func main() {
var (
visualizationType = flag.String("visualizationType", "", "Currently supports parsing: VdbenchFSStaticData, VdbenchFSDynamicData")
mariaDBHostIP = flag.String("mariaDBHostIP", "", "Specify mariaDB IP address")
mariaDBPort = flag.String("mariaDBPort", "3306", "Specify mariaDB port")
mariaDBDatabaseName = flag.String("mariaDBDatabaseName", "", "Specify the mariaDB database name")
mariaDBTableName = flag.String("mariaDBTableName", "", "Specify mariaDB table name")
mariaDBUserName = flag.String("mariaDBUserName", "", "Specify mariaDB username")
mariaDBUserPassword = flag.String("mariaDBUserPassword", "", "Specify mariaDB password")
logPath = flag.String("logPath", "", "Specify the log file to be parsed, absolute or relative path")
outputInterval = flag.String("outputInterval", "-1", "Specify vdbench data interval")
testCase = flag.String("testCase", "", "Specify TestCaseName")
clientNumber = flag.String("clientNumber", "", "Specify TestCaseName")
toolPath = flag.String("toolPath", "", "Specify toolPath")
)
flag.Parse()
if flag.NFlag() == 0 {
flag.PrintDefaults()
return
}
// Set MariaDB Info
mariaDBInfo := dbs.MariaDBInfo{}
comst.SetMariaDBInfo(&mariaDBInfo, mariaDBHostIP, mariaDBPort, mariaDBDatabaseName, mariaDBTableName, mariaDBUserName, mariaDBUserPassword)
if com.CheckParameterValid(&mariaDBInfo) == false {
return
}
// Set extra Info
extraInfo := comst.ExtraInfo{}
comst.SetExtraInfo(&extraInfo, logPath, outputInterval, testCase, clientNumber, toolPath)
switch *visualizationType {
case "VdbenchFSStaticData":
com.StaticDataProcess(&analysis.FSStaticSummaryData{}, &mariaDBInfo, &extraInfo)
fmt.Println("VdbenchFSStaticData")
case "VdbenchFSDynamicData":
com.DynamicDataProcess(&analysis.FSDynamicSummaryData{}, &mariaDBInfo, &extraInfo)
fmt.Println("VdbenchFSDynamicData")
default:
fmt.Println("Please specify the visualizationType !")
flag.PrintDefaults()
}
}