Skip to content

Instantly share code, notes, and snippets.

@unanoc
Created July 20, 2018 13:05
Show Gist options
  • Save unanoc/efe5062b103e1af5d74bcc588ca8887e to your computer and use it in GitHub Desktop.
Save unanoc/efe5062b103e1af5d74bcc588ca8887e to your computer and use it in GitHub Desktop.
bench&pprof
// запуск bench тестов с флагом -benchmem (memory)
go test -bench . -benchmem
// запуск bench тестов + создаем cpu.out, mem.out для работы с pprof
go test -bench . -benchmem -cpuprofile=cpu.out -memprofile=mem.out -memprofilerate=1 main_test.go
// pprof
1. go tool pprof [nameOfProfject].test cpu.out
// команды внутри pprof
list [FunctionName] - выведет код с информирующей колонкой о времени выполнения строчки кода
web - выведет граф цпу
2. go tool pprof [nameOfProfject].test mem.out
// команды внутри pprof
top - выведет список тех участков, которые занимают больше всего памяти на данный момент
alloc_space/alloc_objects + top - выведет топ участков аллокаций/аллокаций объектов
list [FunctionName] - выведет код с информирующей колонкой об аллокациях
web - выведет граф аллокаций
// покрытие тестами
1. go test -v -cover
2. go test -coverprofile=cover.out - записываем в файл out наш отчет
go tool cover -html=cover.out -o cover.html - переносим его в файл html
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment