From c925f06326ba6ee2a2b33f3ee694704c7720bb1c Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Fri, 27 Dec 2024 19:50:08 +0800 Subject: [PATCH] :art: Improve boot logging for database --- kernel/model/conf.go | 10 +++------- kernel/sql/database.go | 4 ++++ kernel/treenode/blocktree.go | 2 ++ kernel/util/working.go | 11 +++++++++++ 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/kernel/model/conf.go b/kernel/model/conf.go index 56ec3b264..1b2eae669 100644 --- a/kernel/model/conf.go +++ b/kernel/model/conf.go @@ -29,7 +29,6 @@ import ( "sync" "time" - "github.com/88250/go-humanize" "github.com/88250/gulu" "github.com/88250/lute" "github.com/88250/lute/ast" @@ -834,7 +833,8 @@ func (conf *AppConf) language(num int) (ret string) { } func InitBoxes() { - initialized := 0 < treenode.CountBlocks() + blockCount := treenode.CountBlocks() + initialized := 0 < blockCount for _, box := range Conf.GetOpenedBoxes() { box.UpdateHistoryGenerated() // 初始化历史生成时间为当前时间 @@ -843,11 +843,7 @@ func InitBoxes() { } } - var dbSize string - if dbFile, err := os.Stat(util.DBPath); err == nil { - dbSize = humanize.BytesCustomCeil(uint64(dbFile.Size()), 2) - } - logging.LogInfof("database size [%s], tree/block count [%d/%d]", dbSize, treenode.CountTrees(), treenode.CountBlocks()) + logging.LogInfof("tree/block count [%d/%d]", treenode.CountTrees(), blockCount) } func IsSubscriber() bool { diff --git a/kernel/sql/database.go b/kernel/sql/database.go index 1577463e5..80110567d 100644 --- a/kernel/sql/database.go +++ b/kernel/sql/database.go @@ -225,6 +225,8 @@ func initDBConnection() { if nil != db { closeDatabase() } + + util.LogDatabaseSize(util.DBPath) dsn := util.DBPath + "?_journal_mode=WAL" + "&_synchronous=OFF" + "&_mmap_size=2684354560" + @@ -272,6 +274,7 @@ func initHistoryDBConnection() { historyDB.Close() } + util.LogDatabaseSize(util.HistoryDBPath) dsn := util.HistoryDBPath + "?_journal_mode=WAL" + "&_synchronous=OFF" + "&_mmap_size=2684354560" + @@ -327,6 +330,7 @@ func initAssetContentDBConnection() { assetContentDB.Close() } + util.LogDatabaseSize(util.AssetContentDBPath) dsn := util.AssetContentDBPath + "?_journal_mode=WAL" + "&_synchronous=OFF" + "&_mmap_size=2684354560" + diff --git a/kernel/treenode/blocktree.go b/kernel/treenode/blocktree.go index 5914e8bfb..f3ecacfa5 100644 --- a/kernel/treenode/blocktree.go +++ b/kernel/treenode/blocktree.go @@ -96,6 +96,8 @@ func initDBConnection() { if nil != db { closeDatabase() } + + util.LogDatabaseSize(util.BlockTreeDBPath) dsn := util.BlockTreeDBPath + "?_journal_mode=WAL" + "&_synchronous=OFF" + "&_mmap_size=2684354560" + diff --git a/kernel/util/working.go b/kernel/util/working.go index afebf65bf..62ab8bb81 100644 --- a/kernel/util/working.go +++ b/kernel/util/working.go @@ -32,6 +32,7 @@ import ( "sync/atomic" "time" + "github.com/88250/go-humanize" "github.com/88250/gulu" figure "github.com/common-nighthawk/go-figure" "github.com/gofrs/flock" @@ -500,3 +501,13 @@ func UnlockWorkspace() { return } } + +func LogDatabaseSize(dbPath string) { + dbFile, err := os.Stat(dbPath) + if nil != err { + return + } + + dbSize := humanize.BytesCustomCeil(uint64(dbFile.Size()), 2) + logging.LogInfof("database [%s] size [%s]", dbPath, dbSize) +}