Vladimir
Итого конечно да, паузы короткие
Vladimir
Но только если приложение создаёт много мелких объектов, к тебе придет оом, хотя по профилировщику никогда больше 1гб не занято, просто ещё 90 в Лимбо лежат и ждут когда их почистят
Alexander μήδομαι [в отпуске]
В продакшене такое бывает? Если swap выключить, то что будет после заполнения RAM? :)
Petr
ОООМ же
Alexander μήδομαι [в отпуске]
Т.е. чистить своё лимбо не будет, просто упадёт?
Alexander μήδομαι [в отпуске]
Какой интересный GC :) Системный язык! :)
Kirill
@mersinvald а ты пилил уже тот веб-сервис?
Daniel
https://github.com/gortc/stun
TURN тоже нужен
Kirill
TURN тоже нужен
https://github.com/gortc/turn он в работе
Alexander
В общем, "вроде" разобрался с сервером, снял hprof Showing top 10 nodes out of 76 flat flat% sum% cum cum% 15.92s 62.04% 62.04% 15.93s 62.08% syscall.Syscall 2.88s 11.22% 73.27% 2.88s 11.22% runtime.kevent 1.81s 7.05% 80.32% 1.83s 7.13% runtime.freedefer 1.37s 5.34% 85.66% 1.37s 5.34% runtime.mach_semaphore_wait 0.72s 2.81% 88.46% 0.72s 2.81% runtime.mach_semaphore_signal 0.61s 2.38% 90.84% 0.61s 2.38% runtime.usleep 0.48s 1.87% 92.71% 0.48s 1.87% internal/poll.convertErr 0.27s 1.05% 93.76% 3.16s 12.31% runtime.netpoll 0.22s 0.86% 94.62% 0.22s 0.86% runtime.memclrNoHeapPointers 0.18s 0.7% 95.32% 0.58s 2.26% runtime.mallocgc весь CPU заняли Read/Write в сокет
Alexander
теперь тогда другой вопрос, как-то тогда работаю супер-можные сетевыесервера, тот же rabbitmq, там же тоже очень много сетевой активности
Alexander
сотни паблишеров и консумеров
Alexey
Выпуск 123. Юбилейный http://golangshow.com/episode/2018/06-08-123-ru/
Alexey
Episode 123. And Now for Something Completely Different http://golangshow.com/episode/2018/06-10-123-en/
Fastumkruk
А как вставить переменную в ссылку POST запроса? Например: site.ru/par1?=peremennay1
Fastumkruk
\"peremennay1\" такое не работает
kås
это GET
Fastumkruk
это GET
А в POST запрос добавлять например так? req.Form.Add("key", "value") ???
Andrey
в теле запроса, дальше иди гугли. Это вообще то по go чат.
Andrey
в каком месте вопрос "как вставить переменную в POST" относится к go?
Andrey
если ты спрашиваешь в рамках какой-то библиотеки go для отсылки http запросов - надо говорить об этом
kås
И вопрос по го
https://golang.org/pkg/net/http/
Kirill
Fastumkruk
godoc.org/net/http
http.PostForm
Kirill
http.PostForm
самому было лень дописать? godoc.org/net/http#PostForm
Kirill
я писал к тому, что часто godoc удобнее, чем golang.org/pkg
Fastumkruk
самому было лень дописать? godoc.org/net/http#PostForm
Сокрее недостаток знаний, чем лень.
Kirill
Сокрее недостаток знаний, чем лень.
дык перейди по ссылке и cmd+f. название вводишь без префикса пакета и точки
Kirill
или, если так лень - godoc.org/{pkgImportPath}#{ident}
Kirill
работает для констант самих по себе и списка всех публичных констант пакета. для списка ident = pkg-constants. для переменных - pkg-variables. для примеров - pkg-examples
kås
подскажите для vscode расширение чтоб godoc открывал без перехода по ссылке по типу peek defenition
Kirill
у меня в пресете, что на гитхабе, всё заранее настроено - просто наводишь на идентификатор и редактор показывает тебе его доку в тултипе
kås
нашел https://gist.github.com/kirillDanshin/e113f79b1110591c72d89eda2e92fe39 А не помнишь который из них делает имеенно показ доки?
Kirill
нашел https://gist.github.com/kirillDanshin/e113f79b1110591c72d89eda2e92fe39 А не помнишь который из них делает имеенно показ доки?
само расширение гошки плюс, по-моему, go.docsTool, поставленное в значение guru
Kirill
но рекомендую где-нибудь на отдельную копию редактора попробовать эти настройки натянуть и посмотреть, возможно, или вообще весь комплект зайдет, или еще что-то интересное найдется
Kirill
но да, если что - перед установкой рекомендую поставить fira mono for powerline
Kirill
моя инструкция по "ленивой" установке в ридми у них есть github.com/powerline/fonts
kås
хочется только док т.к. свой конфиг уже большой, да и лишнего много солидити и т.п.
Kirill
хочется только док т.к. свой конфиг уже большой, да и лишнего много солидити и т.п.
мой личный конфиг с солидити, es6 и тучей всякого другого булщита после работы тимлидом в проекте на эфириуме :)
heavycharged
чет поставил я эту https://github.com/sourcegraph/go-langserver тулзу для VSC, прописал в конфиг "go.useLanguageServer": true, "go.languageServerExperimentalFeatures": { "format": true, "autoComplete": true, },
heavycharged
разницы нету.
heavycharged
кто-то юзал её, может я не разобрался в ней? или она просто настолько эксперементальная, что не работает?
Kirill
разницы нету.
А ты перезапускал вскод?
heavycharged
да
Kirill
По-моему, f12 даёт он
Kirill
Если правильно помню
Alexander
Всем, кто болел, переживал и следил за мои потугами с сервером и его клиентами - спасибо. Решил свою беду
Alexander
conn.(*net.TCPConn).SetNoDelay(false)
Alexander
Осталось понять почему это помогло и что это за такой алгоритм Nagle, который мне портил жизнь
Alexander
возможно этой опцией я что-то другое сломал, починив одно
Alexander
Если поставлю опции conn.(*net.TCPConn).SetReadBuffer(8192) conn.(*net.TCPConn).SetWriteBuffer(8192) Значит ли это, что пока не придут эти 8к байт данных - мои ридеры и writerы ничего не прочитают и не запишут?
Маjко
@mersinvald а ты пилил уже тот веб-сервис?
Не, я только из похода вернулся в цивилизацию. Были еще предложения?
Alexander
> SetNoDelay controls whether the operating system should delay packet transmission in hopes of sending fewer packets (Nagle's algorithm). The default is true (no delay), meaning that data is sent as soon as possible after a Write. Nagle наоборот улучшил мне жизнь, сделав SetNoDelay(false) влкючается этот алгоритм
Ευγένιος
Ты чё, на es6 писал? Или на perl6?
Чо против ES6 имеешь?
Alexey
Я советую немного глубже почитать про TCP/IP стек, не про Go. Например, алгоритм Нагла нередко бывает полезен, и его полезно включать. И про буфферы тоже почитать – это буферы системного стека, не Go
Alexander
> Например, алгоритм Нагла нередко бывает полезен, и его полезно включать Да, как раз его включение и помогло, по умолчанию выключен в TCPConn
Маjко
Ты чё, на es6 писал? Или на perl6?
Хуже, месил грязь в болотах и скакал по горам)
Alexey
Чо против ES6 имеешь?
То, шо это жабаскрипт))
Диёр
жабаскрипт это es262
Viacheslav!
скажите плз- что значит revision в gopkg.toml?
Viacheslav!
обязательно ли этот параметр указывать?
Aleksandr
Коммит в репо
Viacheslav!
спс- сейчас попробую найти коммит нужной мне версии и записать в файл
Viacheslav!
мне почему то dep init говорит что нет кучи пакетов а устанавливать сам не хочет их...
Oleh
dep ensure -v ?
Anonymous
Всем привет, есть у кого-нибудь опыт работы с пакетом https://github.com/flopp/go-staticmaps ???)
Kirill
Alexander
Хотя, у меня такое только при ensure было
Alexander
Не Init
Oleh
за удаление вендора можно от тимлида выхватить 😂