У меня есть двоичный код, который использует кобру для подкоманд. У каждой подкоманды есть свои флаги. Я хотел бы иметь возможность создать профиль процессора для команды с определенным набором параметров, например, например:
myBinary dryRun -c configs/config.json
Однако, если я попытаюсь запустить его, вот так:
go tool pprof -pdf myBinary -- dryRun -c configs/config.json
Я получаю следующую ошибку:
-: open --: no such file or directory
dryRun: open dryRun: no such file or directory
-c: open -c: no such file or directory
configs/config.json: parsing profile: unrecognized profile format
Если я попытаюсь процитировать всю команду, она также не работает. Есть ли способ заставить go tool pprof
передать другие аргументы командной строки?
РЕДАКТИРОВАТЬ: Вот как я пытаюсь профилировать:
func main() {
defer profile.Start().Stop()
fmt.Println("running version", version, "built on", date)
fmt.Println()
cmd.Execute()
time.Sleep(2 * time.Second)
}