mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
30 lines
675 B
Go
30 lines
675 B
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
|
|
"github.com/chrislusf/seaweedfs/weed/storage"
|
|
"github.com/chrislusf/seaweedfs/weed/storage/types"
|
|
)
|
|
|
|
var (
|
|
indexFileName = flag.String("file", "", ".idx file to analyze")
|
|
)
|
|
|
|
func main() {
|
|
flag.Parse()
|
|
indexFile, err := os.OpenFile(*indexFileName, os.O_RDONLY, 0644)
|
|
if err != nil {
|
|
log.Fatalf("Create Volume Index [ERROR] %s\n", err)
|
|
}
|
|
defer indexFile.Close()
|
|
|
|
storage.WalkIndexFile(indexFile, func(key types.NeedleId, offset types.Offset, size uint32) error {
|
|
fmt.Printf("key %d, offset %d, size %d, nextOffset %d\n", key, offset*8, size, int64(offset)*types.NeedlePaddingSize+int64(size))
|
|
return nil
|
|
})
|
|
}
|