From 5ba936cdd9f43aa6e5dac58fb1d31a658a4ba41e Mon Sep 17 00:00:00 2001 From: Marcus Gartner Date: Tue, 22 Oct 2019 12:12:59 -0700 Subject: [PATCH] Add -h, --help flags --- main.go | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/main.go b/main.go index ca1540c..347ef18 100644 --- a/main.go +++ b/main.go @@ -1,14 +1,28 @@ package main import ( + "flag" "fmt" "os" + "pg_flame/pkg/flame" "pg_flame/pkg/html" "pg_flame/pkg/plan" ) +var ( + version = "1.0" + hFlag = flag.Bool("h", false, "print help info") + helpFlag = flag.Bool("help", false, "print help info") +) + func main() { + flag.Parse() + + if *hFlag || *helpFlag { + printHelp() + } + err, p := plan.New(os.Stdin) if err != nil { handleErr(err) @@ -27,3 +41,26 @@ func handleErr(err error) { fmt.Println(msg) os.Exit(1) } + +func printHelp() { + help := `pg_flame %s + +Turn Postgres query plans into flamegraphs. + +Usage: + + pg_flame [options] + +Without Options: + + Reads a JSON query plan from standard input and writes the + flamegraph html to standard output. + +Options: + + -h, --help print help information +` + + fmt.Printf(help, version) + os.Exit(0) +}