cfglog.go 969 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package odbcmql
  2. import (
  3. "time"
  4. "git.wecise.com/wecise/odb-go/odb/mql/parser"
  5. "git.wecise.com/wecise/util/selfmonitor"
  6. mcfg "gitee.com/wecisecode/util/cfg"
  7. mlog "gitee.com/wecisecode/util/logger"
  8. "gitee.com/wecisecode/util/mio"
  9. )
  10. var config = mcfg.MConfig()
  11. var logger = mlog.New().WithConfig(config, "log")
  12. func init() {
  13. pprofpath := config.GetString("pprof")
  14. if pprofpath != "" {
  15. go func() {
  16. t := time.NewTicker(1 * time.Minute)
  17. for range t.C {
  18. mfn := pprofpath + "/mem." + time.Now().Format("150405") + ".prof"
  19. e := selfmonitor.MemoryCapture(mfn)
  20. if e != nil {
  21. _ = e
  22. }
  23. bs, _ := mio.ReadFile(mfn)
  24. mio.WriteFile(pprofpath+"/mem.prof", bs, false)
  25. (&mio.ClearFiles{Dir: pprofpath, NameMatch: `^.*\.prof$`, KeepLast: 10}).Do()
  26. }
  27. }()
  28. }
  29. config.OnChange(func() {
  30. mql_parser_cache_size := config.GetInt("parser.cache", 100)
  31. if mql_parser_cache_size > 0 {
  32. parser.SetCacheSize(mql_parser_cache_size)
  33. }
  34. })
  35. }