Могу ли я запустить что-то под pprof и передать ему аргументы командной строки? - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть двоичный код, который использует кобру для подкоманд. У каждой подкоманды есть свои флаги. Я хотел бы иметь возможность создать профиль процессора для команды с определенным набором параметров, например, например:

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)
}
...