@proGO

Страница 1415 из 1674
Roman
30.04.2018
18:15:11
Zerogoki
30.04.2018
18:15:41
Как вообще можно понять, на какой строчке горутина зависает?

Я уже вторую неделю с этим пытаюсь разобраться

Roman
30.04.2018
18:16:01
Google
Nikita
30.04.2018
18:16:04
Как вообще можно понять, на какой строчке горутина зависает?
заивают либо в циклах, либо лочатся на канале

Zerogoki
30.04.2018
18:16:21
У меня там цикл есть, простой for

Да и он больше 255 раз не может выполниться

Robert
30.04.2018
18:16:55
А pprof не помогает?

Zerogoki
30.04.2018
18:17:00
Ибо там счетчик uint8

Robert
30.04.2018
18:17:16
Давай цикл сюда

Daniel
30.04.2018
18:17:22
Как вообще можно понять, на какой строчке горутина зависает?
горутиена не зависает. зависает твой код

Zerogoki
30.04.2018
18:17:44
for i = 0; i < host.ChannelsCount; i++ { fmt.Printf("[%s] GetSnapshot start\n", host.IP) data, err := controller.GetSnapshot(i) fmt.Printf("[%s] GetSnapshot stop\n", host.IP) if err != nil { fmt.Printf("[%s] Failed to get channel %d snapshot: %s\n", host.IP, i + 1, err) if errCnt >= 5 { fmt.Printf("[%s] Bad limit\n", host.IP) return } errCnt++ continue } errCnt = 0 if _, err := os.Stat(dir); os.IsNotExist(err) { err = os.MkdirAll(dir, 0777) check(err) } jpegPath := path.Join(dir, fmt.Sprintf("ch_%d.jpg", i + 1)) f, err := os.Create(jpegPath) if err != nil { fmt.Println(err) continue } _, err = f.Write(data) if err != nil { fmt.Println(err) continue } f.Sync() f.Close() fmt.Printf("[%s] Saved snapshot of channel %d\n", host.IP, i + 1) }

Daniel
30.04.2018
18:20:35
я не вижу, где тут можно встрять

разве что на дисковых операциях, если диск посыпался

оответственно = этот код, скорее всего, не виноват

Google
Robert
30.04.2018
18:21:09
Или GetSnapshot

Roman
30.04.2018
18:21:27
controller.GetSnapshot?

Zerogoki
30.04.2018
18:21:45
func (d Dahua) GetSnapshot(channelId uint8) ([]byte, error) { var commandMsg bytes.Buffer cId := new(bytes.Buffer) binary.Write(cId, binary.LittleEndian, channelId) commandMsg.Write(GetSnapshotMsg[0]) commandMsg.Write(cId.Bytes()) commandMsg.Write(GetSnapshotMsg[1]) commandMsg.Write(cId.Bytes()) commandMsg.Write(GetSnapshotMsg[2]) d.sock.Write(commandMsg.Bytes()) err, data := d.ReceiveMsg2(cId.Bytes()) return data, err }

Daniel
30.04.2018
18:22:28
а зачем такой странный (идиотский) паттерн проектирования?

Roman
30.04.2018
18:22:45
d.ReceiveMsg2 скорее всего блокирует

Robert
30.04.2018
18:23:03
Тоже за эл

Zerogoki
30.04.2018
18:23:19
d.ReceiveMsg2 скорее всего блокирует
Там сокет с таймаутом

Roman
30.04.2018
18:23:59
Там сокет с таймаутом
а обязательно с сокетами работать кстати, нежели с более высокоуровневыми абстракциями?

Daniel
30.04.2018
18:24:01
А что не так там?
GetSnapshot - зачем он нужен такой дурацкий?

Zerogoki
30.04.2018
18:24:13
GetSnapshot - зачем он нужен такой дурацкий?
А как лучше можно сделать?

а обязательно с сокетами работать кстати, нежели с более высокоуровневыми абстракциями?
Никак, ибо тут работа с протоколом, который я руками в wireshark разбирал

Документации нет в природе

Разве что у китайцев

Roman
30.04.2018
18:24:49
понятно

может он на Write повисает?

Zerogoki
30.04.2018
18:25:21
А там разве можно зависнуть?

Roman
30.04.2018
18:25:26
на Write указан timeout?

Zerogoki
30.04.2018
18:25:41
Он там есть разве? Лол

Вот на dial есть

Google
Roman
30.04.2018
18:26:24
func (c *UnixConn) SetWriteDeadline(t time.Time) error https://golang.org/pkg/net/#UnixConn.SetWriteDeadline

Zerogoki
30.04.2018
18:27:54
Сформировать запрос на сервер и отправить, потом вызвать функцию для получения и разборки ответа

Ничего лишнего же

Daniel
30.04.2018
18:56:20
о да

два байтбуфера, по разному определенных 7 записей GetSnapshotMsg хер знает откуда взявшийся d.sock.Write, но d.ReceiveMsg2( лишнего, может, и ничего, но явно никто не думал над местом этого метода в нашей жизни

Vladimir
30.04.2018
19:29:34
В смысле путает? Дерево и есть граф же ))
Не любой граф это дерево, ведь так?

Таир
30.04.2018
19:30:48
Не любой граф это дерево, ведь так?
Ну легко же спутать дерево и минимальный связанный ненаправленный граф

Vladimir
30.04.2018
19:31:51
Ну легко же спутать дерево и минимальный связанный ненаправленный граф
Речь была о том что у человека перед глазами вполне себе связанный направленный граф, а он его называл деревом. А когда человека поправили он сказал что это все ваш компьютер Спенс, а у него более практический подход

Vladimir
30.04.2018
19:34:25
@tairs ну я думаю суть проблемы ты тем не менее уловил

Таир
30.04.2018
19:35:06
@tairs ну я думаю суть проблемы ты тем не менее уловил
Да конечно, просто к словам придираюсь уже ))

Zerogoki
30.04.2018
23:04:45
Как вебсокет-клиент посоветуете?

FRD Official - Dmitriy
01.05.2018
05:43:51
Как вебсокет-клиент посоветуете?
Если на маке то сафари, на все остальное - хром, как ффоксы не пузырились с "супероптимизациями" - лиса все еще жрет как не в себя

Kirill
01.05.2018
06:05:01
На ретинах ? жрет ? % cpu с момента выхода квантум

FRD Official - Dmitriy
01.05.2018
06:11:08
Они оптимизацией энергопотребления и не пузырились
Я не про питалово. Я про память и цпу. С цпу вообще - швах, особенно на сайтах с кривым js

Google
Mike
01.05.2018
06:14:09
Я не про питалово. Я про память и цпу. С цпу вообще - швах, особенно на сайтах с кривым js
Про память не правда, лиса жрет память точно меньше хрома Про цпу — это как разк энергопотреблению) А кривой жс будет тормозить независимо от браузера

Mike
01.05.2018
06:24:10
И о чем это должно говорить?

Около 50 вкладок



FRD Official - Dmitriy
01.05.2018
06:27:10
Вот открыл по второй вкладке, подождал пока устаканится

Admin
ERROR: S client not available

Mike
01.05.2018
06:28:01
Факт, жрет больше
Ниже скрин с пруфом, что нихрена. Мерять по одной вкладке — это как сравнивать размеры хэлловорлдов. Бессмысленно, но почему-то все так делают

FRD Official - Dmitriy
01.05.2018
06:28:05


Во второй вкладке gmail в обоих. Причем после паузы, когда все от-Jit илось - разница в приросте налицо

Mike
01.05.2018
06:31:22
Яхз, у меня хром даже на одной вкладке уходит сразу в 150

Чтоб он на 50 вкладках жрал хотя бы близко как лиса — ни разу не видел

Но у меня линукс и лиса из найтли-билдов, да

Что там у вас на маках — хз

FRD Official - Dmitriy
01.05.2018
06:54:24
Что там у вас на маках — хз
Я тоже ХЗ, но линухи сейчас под рукой все хеадлесс. Что за дистр, ктстати?

Aleksey
01.05.2018
13:14:35
Чятик, подскажи почему envconfig вот тут не отрабатывает? https://github.com/lexfrei/lolnet/blob/Add-useful-cmd/donor/web/webdonor.go#L30

При том, не ругается даже на то, что ключ обязательный. Вот тут вызов https://github.com/lexfrei/lolnet/blob/Add-useful-cmd/cmd/main.go#L28

Pawel
01.05.2018
15:47:50
При том, не ругается даже на то, что ключ обязательный. Вот тут вызов https://github.com/lexfrei/lolnet/blob/Add-useful-cmd/cmd/main.go#L28
Данная программа содержит в себе 3 компонента: донора, доктора и реципиента. Донор предоставляет строку с адреасами и группами адресов (кровь). Доктор очищает и оптимизирует кровь. Реципиент получает кровь. спасибо бро ,поржал

Google
Aleksey
01.05.2018
16:25:55
И не могу нормально опубликовать потому что не прилично публиковать. А у меня готовы рабочие реципиенты для домашних микротиков и линксисов :( Так что хелп вонтед :)

Zerogoki
01.05.2018
18:37:00
Как куки достать из http ответа?

http.Response структура

А, я слепой

В доках не увидел func (r *Response) Cookies() []*Cookie

Subbotin
01.05.2018
19:22:08
а знает кто-нить простую либу для го, которая сделаем мне месаджкью? хочу чтобы я такой указал порт, повесил обработчик входящих сообщений, запустил сервер. потом на клиенте указал адрес:порт сервера и срал туда структурами и они гарантировано бы доставлялись на сервер и не проебывались. ну и там реконекты и вот это всё

Subbotin
01.05.2018
19:28:39
Они вроде не встраиваемые. Не хочу эти ваши микросервисы. Хочу монолит

Bohdan
01.05.2018
19:30:07
Subbotin
01.05.2018
19:32:09
Микросервисы плотно обмазанные раствором из ансибля слипаются в монолит?

MrSmeet
01.05.2018
19:33:43
ребят кто работал с веб паком?

Crypt
01.05.2018
19:34:16
MrSmeet
01.05.2018
19:34:47
Нужно работать его заставить, я уже наверное 4 тый день чет делаю и все не понимаю что делаю

Crypt
01.05.2018
19:35:03
я увольняюсь с таким тз

MrSmeet
01.05.2018
19:35:22
У меня есть бэкенд на экспрессе и фронт

Страница 1415 из 1674