package odbcmql import ( "time" "git.wecise.com/wecise/odb-go/odb/mql/parser" "git.wecise.com/wecise/util/selfmonitor" mcfg "gitee.com/wecisecode/util/cfg" mlog "gitee.com/wecisecode/util/logger" "gitee.com/wecisecode/util/mio" ) var config = mcfg.MConfig() var logger = mlog.New().WithConfig(config, "log") func init() { pprofpath := config.GetString("pprof") if pprofpath != "" { go func() { t := time.NewTicker(1 * time.Minute) for range t.C { mfn := pprofpath + "/mem." + time.Now().Format("150405") + ".prof" e := selfmonitor.MemoryCapture(mfn) if e != nil { _ = e } bs, _ := mio.ReadFile(mfn) mio.WriteFile(pprofpath+"/mem.prof", bs, false) (&mio.ClearFiles{Dir: pprofpath, NameMatch: `^.*\.prof$`, KeepLast: 10}).Do() } }() } config.OnChange(func() { mql_parser_cache_size := config.GetInt("parser.cache", 100) if mql_parser_cache_size > 0 { parser.SetCacheSize(mql_parser_cache_size) } }) }