package main import ( "context" "fmt" influxdb2 "github.com/influxdata/influxdb-client-go" "github.com/influxdata/influxdb-client-go/api/write" "math/rand" "strings" "time" ) var DateFmtYYYYMMDDHHmmss = "2006-01-02 15:04:05" func main() { // Create a new client using an InfluxDB server base URL and an authentication token //client := influxdb2.NewClient("http://192.168.0.153:8086", "QxT7XE12IscrYeso-SePaPQduNcM0e8ELPIq9s-JGbaue4u8ejLuLHaqC2dpQv-1tg254GtqbfPZXdgdZ2mDQA==") client := influxdb2.NewClient("http://127.0.0.1:8086", "2vPvsEyJTQIS0SHF0M3Ni8-pMNRgwE9Aqnc-HvGiT4nvrY4Y6zAaFakomGMG0b4fo5q4vfnSGq2FKw-gMNddNw==") writeAPI := client.WriteAPIBlocking("bianjie", "test") now := time.Now().Add(-14 * time.Hour) fmt.Println("开始 ", time.Now().Format(DateFmtYYYYMMDDHHmmss)) //list := getObject() //filenum := 1 //wg := sync.WaitGroup{} for p := 0; p < 30; p++ { //wg.Add(1) //go func() { // defer wg.Done() for k := 0; k < 2000; k++ { var points []*write.Point account := fmt.Sprintf("iaa%s", GetRandomString(39)) for i := 40; i > 1; i-- { //for i := 4; i > 1; i-- { day := now.AddDate(0, 0, -i) //str := "" //tdstr := "" for j := 1; j < 15; j++ { //for j := 1; j < 4; j++ { num := 1 addMill := rand.Intn(60) operation := rand.Intn(19) + 1 t := rand.Intn(1) + 1 gas := 0 if operation == 1 { // 创建链账户授权 if t != 1 { gas = rand.Intn(20000) + 50000 } } else if operation == 8 || operation == 9 || operation == 10 || operation == 11 || operation == 17 || operation == 18 || operation == 19 || operation == 20 { gas = rand.Intn(20000) + 50000 num = rand.Intn(9) + 1 gas = gas * num } else { gas = rand.Intn(20000) + 50000 } point := influxdb2.NewPointWithMeasurement("tx_metrics1"). AddTag("chain_id", "1"). AddTag("user_id", "9"). AddTag("project_id", "20"). AddTag("account", account). AddTag("operation", fmt.Sprintf("%d", operation)). AddTag("type", fmt.Sprintf("%d", t)). AddField("num", num). AddField("gas", gas). SetTime(day.Add(time.Duration(j*addMill) * time.Minute)) points = append(points, point) } } err := writeAPI.WritePoint(context.Background(), points...) if err != nil { panic(err) } } //}() fmt.Println("完成1000链账户 ", time.Now().Format(DateFmtYYYYMMDDHHmmss)) } //wg.Wait() fmt.Println("结束 ", time.Now().Format(DateFmtYYYYMMDDHHmmss)) //client.Close() } type TxObject struct { Chain int Uid int Pid int Account string } func getObject() []TxObject { return []TxObject{ // native 2个用户 4个项目 10个链账户 {Chain: 1, Uid: 1, Pid: 1, Account: "iaa13yp202vmr3qa3wwlw70trwtrng3rtla9m2gwnc"}, {Chain: 1, Uid: 1, Pid: 1, Account: "iaa1v8xgh04q7axgn9kstudkeg7rj08ccg4eks8c8r"}, {Chain: 1, Uid: 1, Pid: 1, Account: "iaa156hdfjxefyjsw200n48yv58yunjmuk2a07tl7k"}, {Chain: 1, Uid: 1, Pid: 2, Account: "iaa1khsewr70zqxpc6jt6qj5tny3c5p63l885kwygl"}, {Chain: 1, Uid: 1, Pid: 2, Account: "iaa1peqhdfutf5xfhs42ngu650wcdd672t276tdxpa"}, {Chain: 1, Uid: 1, Pid: 2, Account: "iaa1kddq7jpvxgse7j4z9qypm2lns5x49ppn5ynsx5"}, {Chain: 1, Uid: 2, Pid: 3, Account: "iaa15pc3nqaytzsf8996gz4gupl887cmqp2ajl44v6"}, {Chain: 1, Uid: 2, Pid: 3, Account: "iaa15hgev86698u49jkka68q0994fxav4e246sufqd"}, {Chain: 1, Uid: 2, Pid: 4, Account: "iaa1w2kazmtmvdw90e06tyr62d780n39xuszjl67hr"}, {Chain: 1, Uid: 2, Pid: 4, Account: "iaa1vtdj7dh0m64vs9pvj3qkdfqwcrjwg3g9dlp2zy"}, // opb 4个用户 9个项目 22个链账户 {Chain: 3, Uid: 3, Pid: 5, Account: "iaa1a0mwcc0fnh8sv98ps0x20c3hu7utde63g0qj3r"}, {Chain: 3, Uid: 3, Pid: 6, Account: "iaa155n05u6608m9lfsrr3cddutgegfxrvwp6v5glq"}, {Chain: 3, Uid: 3, Pid: 6, Account: "iaa1t4xe0z63qkaa9ynf27znryx99w7k3gdtvk908z"}, {Chain: 3, Uid: 4, Pid: 7, Account: "iaa1t2pa9ftwyyk0srlkcucwpwmykxqypmh5pxz39r"}, {Chain: 3, Uid: 4, Pid: 8, Account: "iaa1gvlt2p2xs03wv32463h7pfxuckvfst8hmktadm"}, {Chain: 3, Uid: 4, Pid: 9, Account: "iaa1n52y7yxr6mjhcrzlf8zlx4h4z462lf2mpaxyrv"}, {Chain: 3, Uid: 4, Pid: 10, Account: "iaa1g4f0dylx5vke4h9l9x045276kyur62lpstsw8p"}, {Chain: 3, Uid: 5, Pid: 11, Account: "iaa1dj49ktzk4nsgyycfcg4vf2lrpte0wtt44lqnhu"}, {Chain: 3, Uid: 5, Pid: 11, Account: "iaa1s6jpmcl86u2m462scl6ms499nd9a2q2fnj8x0n"}, {Chain: 3, Uid: 5, Pid: 12, Account: "iaa1n4tennwauky8su287gu8z4es40rgxfx8hq5999"}, {Chain: 3, Uid: 5, Pid: 13, Account: "iaa1kc09p2ajq0ryd66k8e092q7dyjds4c2p02qlmm"}, {Chain: 3, Uid: 5, Pid: 13, Account: "iaa1cj7d3xd9c5ltj5uqjrsy5vny0r5v9hz8w57lkp"}, {Chain: 3, Uid: 6, Pid: 14, Account: "iaa1xfyvpw6awqzuh52nuxcwzwttr53et3nphpywxr"}, {Chain: 3, Uid: 6, Pid: 14, Account: "iaa1a5uzzf6stag88c2pvnhuh800l472h2a4hszee7"}, {Chain: 3, Uid: 6, Pid: 14, Account: "iaa1zpv4qjnavruzjly47x4xz0ytmma0xzpum7spzw"}, {Chain: 3, Uid: 6, Pid: 14, Account: "iaa12dxemefktm2tdrru95gnfplkvc59d36yt80mc0"}, {Chain: 3, Uid: 6, Pid: 14, Account: "iaa1q8ypmtffvm0jafqs6sry97xynzjely8lksfw4f"}, {Chain: 3, Uid: 6, Pid: 14, Account: "iaa1c964axusxkaj4wxewsztpfffvt8wxajj2hdhlr"}, {Chain: 3, Uid: 6, Pid: 14, Account: "iaa1lkzvl0vp0rj50cun7h6d8qdj5rdcmytf5r5d70"}, {Chain: 3, Uid: 6, Pid: 14, Account: "iaa1nvanxp7tsp2k440d04250ca4jzecxfts7pj0z0"}, {Chain: 3, Uid: 6, Pid: 14, Account: "iaa1ckxprtaq6ncj3gdlw4zypm7gc596247ka63u44"}, {Chain: 3, Uid: 6, Pid: 14, Account: "iaa1kq2ygd4wrm4p0yzx26dr79fgznqv8mek2u6dfa"}, // ddc 2个用户 3个项目 8个链账户 {Chain: 2, Uid: 7, Pid: 15, Account: "iaa1ku7xzxgua34u5lhzcug3hjuuhq2wppjcm9h8vu"}, {Chain: 2, Uid: 7, Pid: 16, Account: "iaa1zl2yfh6y9n3nt7yhkkzu9je2rjyhpfgsf3yg7r"}, {Chain: 2, Uid: 7, Pid: 16, Account: "iaa123mkjcq7f0v5v3wtdcpc4tyr644us25vwsyfd3"}, {Chain: 2, Uid: 8, Pid: 17, Account: "iaa18fpxzl7v422gxhhnw7g09yu448xk3tanp6gsgr"}, {Chain: 2, Uid: 8, Pid: 17, Account: "iaa1f7yxlyxjvntmhda3jjdntsea7k9fems0khgsuq"}, {Chain: 2, Uid: 8, Pid: 18, Account: "iaa1vmyw5q00z3dpvl2da3huvafd54gr4fh3ueneap"}, {Chain: 2, Uid: 8, Pid: 19, Account: "iaa1g4u4evaggmu7guxdvdrcdnkvcgtyxupedncryk"}, {Chain: 2, Uid: 8, Pid: 19, Account: "iaa1wpjetpz0rnnrw53zxy0acsleddwtrj2vvcpt84"}, } } func GetRandomString(l int) string { now := time.Now().Format("060102150405.000") nowFmt := strings.Replace(now, ".", "", -1) str := "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" bytes := []byte(str) var result []byte j := 0 r := rand.New(rand.NewSource(time.Now().UnixNano() + int64(rand.Intn(100)))) for i := 0; i < l; i++ { if i%2 != 0 && j < len(nowFmt) { result = append(result, nowFmt[j]) j++ } else { result = append(result, bytes[r.Intn(len(bytes))]) } } return string(result) }