ikeys_test.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. package ikeys_test
  2. import (
  3. //"fmt"
  4. //"time"
  5. //"math"
  6. //"strconv"
  7. "fmt"
  8. "testing"
  9. "git.wecise.com/wecise/odbserver/odb"
  10. . "git.wecise.com/wecise/odbserver/odb"
  11. "gitee.com/wecisecode/util/logger"
  12. )
  13. func TestA(t *testing.T) {
  14. class := "/cncc/entity/os/linux"
  15. field := "performance"
  16. name := "fs_used"
  17. labels := map[string]string{
  18. "appSystem": "精卫统一运维平台",
  19. "centerCode": "上海NPC",
  20. "deptName": "运维系统部",
  21. "mountpoint": "/",
  22. "originKpi": "os.linux.fs_used",
  23. }
  24. for i := 0; i < 100; i++ {
  25. labels = map[string]string{
  26. "appSystem": "精卫统一运维平台",
  27. "centerCode": "上海NPC",
  28. "originKpi": "os.linux.fs_used",
  29. "mountpoint": "/",
  30. "deptName": "运维系统部",
  31. }
  32. if h, err := NMap2ikey(class, field, name, labels); err != nil {
  33. logger.Error(err)
  34. } else {
  35. logger.Infof("===>%d", int64(h))
  36. }
  37. }
  38. }
  39. func TestHash(t *testing.T) {
  40. hash := make([]int64, 20)
  41. for n := 0; n < 20; n++ {
  42. m := map[string]string{}
  43. for i := 0; i < n; i++ {
  44. m[fmt.Sprint("key", n, "-", i)] = fmt.Sprint("value", n, "-", i)
  45. }
  46. m["appSystem"] = "精卫统一运维平台"
  47. m["centerCode"] = "上海NPC"
  48. m["deptName"] = "运维系统部"
  49. m["mountpoint"] = "/"
  50. m["originkpi"] = "os.linux.fs_used"
  51. m["name"] = "fs_used"
  52. // buf := &bytes.Buffer{}
  53. // encoder := stablegob.NewEncoder(buf)
  54. // encoder.Encode(m)
  55. // fmt.Println(buf.String())
  56. // fmt.Println(buf.Bytes())
  57. // fmt.Println(len(buf.Bytes()))
  58. // h := farm.Hash64(buf.Bytes())
  59. uh, _ := odb.NMap2ikey("class", "field", "name", m)
  60. h := int64(uh)
  61. hash[n] = h
  62. fmt.Println(n, " : ", h)
  63. fmt.Println()
  64. }
  65. for n := 19; n >= 0; n-- {
  66. m := map[string]string{}
  67. for i := 0; i < n; i++ {
  68. m[fmt.Sprint("key", n, "-", i)] = fmt.Sprint("value", n, "-", i)
  69. }
  70. m["appSystem"] = "精卫统一运维平台"
  71. m["centerCode"] = "上海NPC"
  72. m["deptName"] = "运维系统部"
  73. m["mountpoint"] = "/"
  74. m["originkpi"] = "os.linux.fs_used"
  75. m["name"] = "fs_used"
  76. // buf := &bytes.Buffer{}
  77. // encoder := stablegob.NewEncoder(buf)
  78. // encoder.Encode(m)
  79. // fmt.Println(buf.String())
  80. // fmt.Println(buf.Bytes())
  81. // fmt.Println(len(buf.Bytes()))
  82. // h := farm.Hash64(buf.Bytes())
  83. uh, _ := odb.NMap2ikey("class", "field", "name", m)
  84. h := int64(uh)
  85. if hash[n] != h {
  86. println(n, " : ", h, "!=", hash[n])
  87. }
  88. fmt.Println(n, " : ", h)
  89. fmt.Println()
  90. }
  91. }