testquery.go 4.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package main
  2. import (
  3. //"fmt"
  4. //"time"
  5. "git.wecise.com/wecise/odbserver/odb/test"
  6. "gitee.com/wecisecode/util/logger"
  7. )
  8. func main() {
  9. //options := map[string]interface{} {"cache":odb.CacheAll}
  10. //g,err:= odb.New( options )
  11. //option := &StoreOption{Cache:CacheAll}
  12. option := &Option{Cache: CacheAll, Keyspace: "matrix", DisableInitialHostLookup: true}
  13. g, err := test.NewG(option)
  14. if err != nil {
  15. logger.Error(err.Error())
  16. } else {
  17. defer g.Close()
  18. }
  19. //logger.SetRollingDaily("C:/test/zkcron/src/test", "test.log")
  20. logger.SetConsole(true)
  21. //logger.SetLevel(logger.DEBUG)
  22. //rst,meta,err := g.Query(`select entity from /matrix/devops/event e join ("linux:wecise")-[*]->(p:app) on e.entity=p.id`)
  23. //rst,meta,err := g.Query(`select id, host, entity from /matrix/devops/event e join (p:"app:cassandra1") on e.entity=p.id`)
  24. //rst,meta,err := g.Query(`select id, host, entity, p.name from /matrix/devops/event e join (p:/matrix/entity/app where id='app:app1') on e.entity=p.id`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  25. //rst,meta,err := g.Query(`select count(*) from /matrix/devops/event/ e join (p:/matrix/entity/switch where id = 'switch:switch1' or id='switch:switch2') on e.entity=p.id`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  26. // slow
  27. //rst,meta,err := g.Query(`select entity,msg,host,p.id,p.name from /matrix/devops/event/ e join (p:/matrix/entity/switch where id like 'switch:*') on e.entity=p.id limit 1 where entity like 'switch:*'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  28. //bug
  29. //rst,meta,err := g.Query(`select entity,msg,host,p.id,p.name from /matrix/devops/event/ e join (p:/matrix/entity/db2) on e.entity=p.id limit -1`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  30. //bug
  31. //rst,meta,err := g.Query(`select entity,p.param as param from /matrix/devops/event/ e join (p:/matrix/devops/performance/ where entity like 'switch:*' and value>30) on e.entity=p.entity limit 1`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  32. //bug
  33. //rst,meta,err := g.Query(`select count(*) from /matrix/devops/event/ e join (i:/matrix/entity/switch where id='switch:switch1' and name='switch:switch2') on e.entity=i.id and e.entity=i.name limit -1 where entity like 'switch:*' `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  34. /*t1 := time.Now()
  35. _,meta,err := g.Query(`select entity,msg,host,i.id,i.name,p.param,p.value,l.msg from /matrix/devops/event/ e join (i:/matrix/entity/switch where id='switch:switch1' or name='switch:switch2') on e.entity=i.id and e.entity=i.name join (p:/matrix/devops/performance/ where entity like 'switch:*' and value>30) on e.entity=p.entity join (l:/matrix/devops/log where entity like 'switch:*' and msg like '*error*') on e.entity=l.entity limit -1`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  36. logger.Warn("duration ==>", time.Now().Sub(t1))
  37. */
  38. //bug
  39. rst, meta, err := g.Query(`select host,ip from /matrix/devops/alert/omnibus o join ("biz:查账系统")-[*]->("esx:*")-[:connect*]->(h:switch) on o.entity = h.id where o.severity=5`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false})
  40. //rst,meta,err := g.Query(`select id, host, entity, p.name from /matrix/devops/event e join (p:'app:app1') on e.entity=p.id`)
  41. //rst,meta,err := g.Query(`select id, host, entity from /matrix/devops/event e join (p:"app:app1") on e.host=p.host`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  42. //rst,meta,err := g.Query(`select host,ip from /matrix/devops/event/omnibus o join ("biz:查账系统")-[*]->("esx:*")-[:connect*]->(h:switch) on o.entity = h.id where o.severity=5`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  43. if err != nil {
  44. logger.Info("Query error:" + err.Error())
  45. logger.Warn(meta["type"])
  46. } else {
  47. logger.Info("rst ===>", rst)
  48. //logger.Error("meta ===>", meta)
  49. if meta["trace"] != nil && len(meta["trace"].([]string)) > 0 {
  50. for _, msg := range meta["trace"].([]string) {
  51. logger.Error(msg)
  52. }
  53. }
  54. logger.Warn(meta["columns"])
  55. }
  56. }