Initial starting point for a inspect command

This commit is contained in:
2018-07-11 17:43:42 +01:00
parent 796752b15d
commit 7cf43c59dd
5 changed files with 765 additions and 0 deletions

39
cmd/inspect.go Normal file
View File

@@ -0,0 +1,39 @@
package cmd
import (
"fmt"
"github.com/jimeh/rbheap/inspect"
"github.com/spf13/cobra"
)
// inspectCmd represents the inspect command
var inspectCmd = &cobra.Command{
Use: "inspect [flags] <dump-file>",
Short: "Inspect ObjectSpace dumps from Ruby proceees",
Run: func(cmd *cobra.Command, args []string) {
if len(args) != 1 {
usage_er(cmd, fmt.Sprintf("requires 1 arg, received %d", len(args)))
}
inspector := inspect.New(args[0])
inspector.Verbose = inspectOpts.Verbose
inspector.Process()
inspector.PrintCountByFileAndLines()
},
}
var inspectOpts = struct {
Verbose bool
}{}
func init() {
rootCmd.AddCommand(inspectCmd)
inspectCmd.PersistentFlags().BoolVarP(
&inspectOpts.Verbose,
"verbose", "v", false,
"print verbose information",
)
}