commit
51fc6661bb
|
@ -3,6 +3,8 @@ package debug
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io/ioutil"
|
||||||
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
@ -22,13 +24,43 @@ var DumpMetadataCommand = cli.Command{
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Action: func(clicontext *cli.Context) error {
|
Action: func(clicontext *cli.Context) error {
|
||||||
dbFile := filepath.Join(clicontext.String("root"), "metadata.db")
|
dbFiles, err := findMetadataDBFiles(clicontext.String("root"))
|
||||||
return dumpBolt(dbFile, func(k, v []byte) string {
|
if err != nil {
|
||||||
return fmt.Sprintf("%q: %s", string(k), string(v))
|
return err
|
||||||
})
|
}
|
||||||
|
for _, dbFile := range dbFiles {
|
||||||
|
fmt.Printf("===== %s =====\n", dbFile)
|
||||||
|
if err := dumpBolt(dbFile, func(k, v []byte) string {
|
||||||
|
return fmt.Sprintf("%q: %s", string(k), string(v))
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func findMetadataDBFiles(root string) ([]string, error) {
|
||||||
|
dirs, err := ioutil.ReadDir(root)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
var files []string
|
||||||
|
for _, dir := range dirs {
|
||||||
|
if !dir.IsDir() {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
p := filepath.Join(root, dir.Name(), "metadata.db")
|
||||||
|
_, err := os.Stat(p)
|
||||||
|
if err == nil {
|
||||||
|
files = append(files, p)
|
||||||
|
} else if !os.IsNotExist(err) {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return files, nil
|
||||||
|
}
|
||||||
|
|
||||||
func dumpBolt(dbFile string, stringifier func(k, v []byte) string) error {
|
func dumpBolt(dbFile string, stringifier func(k, v []byte) string) error {
|
||||||
if dbFile == "" {
|
if dbFile == "" {
|
||||||
return errors.New("dbfile not specified")
|
return errors.New("dbfile not specified")
|
||||||
|
|
|
@ -30,7 +30,7 @@ func NewWorkerOpt(root string) (worker.WorkerOpt, error) {
|
||||||
if err := os.MkdirAll(root, 0700); err != nil {
|
if err := os.MkdirAll(root, 0700); err != nil {
|
||||||
return opt, err
|
return opt, err
|
||||||
}
|
}
|
||||||
md, err := metadata.NewStore(filepath.Join(root, name+"-metadata.db"))
|
md, err := metadata.NewStore(filepath.Join(root, "metadata.db"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return opt, err
|
return opt, err
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue