diff --git a/db/bookmarks.go b/db/bookmarks.go index db3712e..c1910a8 100644 --- a/db/bookmarks.go +++ b/db/bookmarks.go @@ -5,6 +5,7 @@ import ( "fmt" "io" "log" + "os" "strings" "sync" "time" @@ -286,5 +287,11 @@ func (m *BookmarkManager) Stats() (entity.DBStats, error) { if err != nil && err != bolthold.ErrNotFound { return stats, fmt.Errorf("could not load stats: %s", err) } + // get the DB size + fi, err := os.Stat(m.db.file) + if err != nil { + return stats, fmt.Errorf("could not load db file size: %s", err) + } + stats.FileSize = int(fi.Size()) return stats, nil } diff --git a/db/db.go b/db/db.go index 5182cda..1e74da4 100644 --- a/db/db.go +++ b/db/db.go @@ -10,6 +10,7 @@ import ( type DB struct { store *bolthold.Store + file string } func (db *DB) Open(path string) error { @@ -21,6 +22,7 @@ func (db *DB) Open(path string) error { return fmt.Errorf("cannot open '%s' - %s", path, err) } db.store = store + db.file = path return nil } diff --git a/entity/meta.go b/entity/meta.go index 6af91d2..fab6e1b 100644 --- a/entity/meta.go +++ b/entity/meta.go @@ -8,6 +8,7 @@ import ( type DBStats struct { History map[time.Time]BookmarkInfo + FileSize int Searches int } diff --git a/meta/meta.go b/meta/meta.go index a52fbed..05ac77a 100644 --- a/meta/meta.go +++ b/meta/meta.go @@ -9,6 +9,6 @@ func MemInfo() string { stats := runtime.MemStats{} runtime.ReadMemStats(&stats) - return fmt.Sprintf("%.3fMb", float64(stats.Alloc)/1024.0/1024.0) + return fmt.Sprintf("%.1fMb", float64(stats.Alloc)/1024.0/1024.0) } diff --git a/version/version.go b/version/version.go index 8c0f3bc..f75169f 100644 --- a/version/version.go +++ b/version/version.go @@ -10,7 +10,7 @@ import ( "golang.org/x/mod/semver" ) -const Tag = "v0.0.32" +const Tag = "v0.0.33" type Info struct { Local struct { diff --git a/web/templates/info.html b/web/templates/info.html index d87cdd0..ab67a79 100644 --- a/web/templates/info.html +++ b/web/templates/info.html @@ -1,12 +1,16 @@
Memory in use | {{ meminfo }} |
---|---|
Bookmarks | {{ .stats.MostRecentBookmarkInfo.Bookmarks }} |
Words Indexed | {{ .stats.MostRecentBookmarkInfo.IndexedWords }} |
Database disk size | {{ niceSizeMB .stats.FileSize }}Mb |