package ikeys_test import ( //"fmt" //"time" //"math" //"strconv" "fmt" "testing" "git.wecise.com/wecise/odbserver/odb" . "git.wecise.com/wecise/odbserver/odb" "gitee.com/wecisecode/util/logger" ) func TestA(t *testing.T) { class := "/cncc/entity/os/linux" field := "performance" name := "fs_used" labels := map[string]string{ "appSystem": "精卫统一运维平台", "centerCode": "上海NPC", "deptName": "运维系统部", "mountpoint": "/", "originKpi": "os.linux.fs_used", } for i := 0; i < 100; i++ { labels = map[string]string{ "appSystem": "精卫统一运维平台", "centerCode": "上海NPC", "originKpi": "os.linux.fs_used", "mountpoint": "/", "deptName": "运维系统部", } if h, err := NMap2ikey(class, field, name, labels); err != nil { logger.Error(err) } else { logger.Infof("===>%d", int64(h)) } } } func TestHash(t *testing.T) { hash := make([]int64, 20) for n := 0; n < 20; n++ { m := map[string]string{} for i := 0; i < n; i++ { m[fmt.Sprint("key", n, "-", i)] = fmt.Sprint("value", n, "-", i) } m["appSystem"] = "精卫统一运维平台" m["centerCode"] = "上海NPC" m["deptName"] = "运维系统部" m["mountpoint"] = "/" m["originkpi"] = "os.linux.fs_used" m["name"] = "fs_used" // buf := &bytes.Buffer{} // encoder := stablegob.NewEncoder(buf) // encoder.Encode(m) // fmt.Println(buf.String()) // fmt.Println(buf.Bytes()) // fmt.Println(len(buf.Bytes())) // h := farm.Hash64(buf.Bytes()) uh, _ := odb.NMap2ikey("class", "field", "name", m) h := int64(uh) hash[n] = h fmt.Println(n, " : ", h) fmt.Println() } for n := 19; n >= 0; n-- { m := map[string]string{} for i := 0; i < n; i++ { m[fmt.Sprint("key", n, "-", i)] = fmt.Sprint("value", n, "-", i) } m["appSystem"] = "精卫统一运维平台" m["centerCode"] = "上海NPC" m["deptName"] = "运维系统部" m["mountpoint"] = "/" m["originkpi"] = "os.linux.fs_used" m["name"] = "fs_used" // buf := &bytes.Buffer{} // encoder := stablegob.NewEncoder(buf) // encoder.Encode(m) // fmt.Println(buf.String()) // fmt.Println(buf.Bytes()) // fmt.Println(len(buf.Bytes())) // h := farm.Hash64(buf.Bytes()) uh, _ := odb.NMap2ikey("class", "field", "name", m) h := int64(uh) if hash[n] != h { println(n, " : ", h, "!=", hash[n]) } fmt.Println(n, " : ", h) fmt.Println() } }