package main import ( //"fmt" //"time" "git.wecise.com/wecise/odbserver/odb/test" "gitee.com/wecisecode/util/logger" ) func main() { //options := map[string]interface{} {"cache":odb.CacheAll} //g,err:= odb.New( options ) //option := &StoreOption{Cache:CacheAll} option := &Option{Cache: CacheAll, Keyspace: "matrix", DisableInitialHostLookup: true} g, err := test.NewG(option) if err != nil { logger.Error(err.Error()) } else { defer g.Close() } //logger.SetRollingDaily("C:/test/zkcron/src/test", "test.log") logger.SetConsole(true) //logger.SetLevel(logger.DEBUG) //rst,meta,err := g.Query(`select entity from /matrix/devops/event e join ("linux:wecise")-[*]->(p:app) on e.entity=p.id`) //rst,meta,err := g.Query(`select id, host, entity from /matrix/devops/event e join (p:"app:cassandra1") on e.entity=p.id`) //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} ) //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} ) // slow //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} ) //bug //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} ) //bug //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} ) //bug //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} ) /*t1 := time.Now() _,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} ) logger.Warn("duration ==>", time.Now().Sub(t1)) */ //bug 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}) //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`) //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} ) //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} ) if err != nil { logger.Info("Query error:" + err.Error()) logger.Warn(meta["type"]) } else { logger.Info("rst ===>", rst) //logger.Error("meta ===>", meta) if meta["trace"] != nil && len(meta["trace"].([]string)) > 0 { for _, msg := range meta["trace"].([]string) { logger.Error(msg) } } logger.Warn(meta["columns"]) } }