Size: a a a

2020 July 28

IK

Ilya Kaznacheev in Go-go!
Rokker Ruslan
Ну там фикс небольшой, просто забыли часть инструкций после рефакторинга кодгена для amd64
Ты как вообще дошел до этого? Что заставило асм исследовать?
источник

RR

Rokker Ruslan in Go-go!
Бенчмарки не прошли на мастере. Нашёл похожий кейс в интернетах, померил там, регресс -11% вот и посмотрел в асм.
источник

DP

Daniel Podolsky in Go-go!
Шерзод Немножко Токсик
Я хочу чтобы некоторый код, который кем-то [будет] написан выплёвывался ошибкой. Например тот же пропуск обработки ошибки. Ну и там еще придумается.
Для этого у нас линтеры, да.

Компилятор у нас простой
источник

И

Игорь in Go-go!
Алексей Долгов
спасибо за опыт) но если бы нормальное было разделение по уровням логирования, переход на level error спас бы ситуацию может быть?
Думаю, спас бы даже info level. Мы выбрали только самые частые и большие записи в лог. Что-то сократили (было много избыточной информации), а что-то вообще убрали. В целом, все эти записи можно было бы смело под debug level заносить, если уж очень хочется и просто на проде не писать с таким уровнем.
источник

IK

Ilya Kaznacheev in Go-go!
Rokker Ruslan
Бенчмарки не прошли на мастере. Нашёл похожий кейс в интернетах, померил там, регресс -11% вот и посмотрел в асм.
Серьезный ты парень
источник

МП

Мимо Проходящий... in Go-go!
Игорь
Читать журнал - это пол беды. Я однажды отлаживал  один сервис с дикими просадками по производительности (rpm ~3000 и дальше лавинный эффект, в очередь запросы набивались быстрее чем их обслуживали).

Был удивлен когда понял, что проблема была именно в логах. Писали так много, что эта писанина занимала 80% времени. Не было разделения по уровню логгирования, все логи были считай уровня дебаг))
То есть получается у вас именно форматирование сообщений тормозило?

У меня был кейс с гигантским журналом, в который напихали всё и вся - фильтры кибаны позволили это кое как читать. Но на производительности сервисов не сказалось практически, логсташ всё разрулил
источник

И

Игорь in Go-go!
Мимо Проходящий
То есть получается у вас именно форматирование сообщений тормозило?

У меня был кейс с гигантским журналом, в который напихали всё и вся - фильтры кибаны позволили это кое как читать. Но на производительности сервисов не сказалось практически, логсташ всё разрулил
Нет, мы уперлись в скорость работы диска😁

Убрать лишнее логгирование было самым первым мероприятием. После этого полегчало так, что меня попросили больше не заниматься этим вопросом поскольку: "все отлично стало работать, нас устраивает".

Тут сам случай забавный, поэтому я его вспомнил когда прочел, что "логов лишних не бывает"))
источник

A(

Andrew (backEnd) in Go-go!
Игорь
Нет, мы уперлись в скорость работы диска😁

Убрать лишнее логгирование было самым первым мероприятием. После этого полегчало так, что меня попросили больше не заниматься этим вопросом поскольку: "все отлично стало работать, нас устраивает".

Тут сам случай забавный, поэтому я его вспомнил когда прочел, что "логов лишних не бывает"))
а послать логи на другую машину по сети (внутренней, например) - не вариант?
источник

DP

Daniel Podolsky in Go-go!
И упереться в диск уже на ней
источник

ЛА

Локоть Анатолий... in Go-go!
Игорь
Нет, мы уперлись в скорость работы диска😁

Убрать лишнее логгирование было самым первым мероприятием. После этого полегчало так, что меня попросили больше не заниматься этим вопросом поскольку: "все отлично стало работать, нас устраивает".

Тут сам случай забавный, поэтому я его вспомнил когда прочел, что "логов лишних не бывает"))
Логов лишних не бывает, кластер бд все проблемы решит, кеширование вылечит все проблемы с производительностью

Ага, ага
источник

НМ

Никита Меркулов... in Go-go!
Локоть Анатолий
Логов лишних не бывает, кластер бд все проблемы решит, кеширование вылечит все проблемы с производительностью

Ага, ага
еще как бывают
источник

НМ

Никита Меркулов... in Go-go!
я соглашусь с тем, что избыточность можно рассматривать как благо в данном случае, но логов может быть очень дофига лишних
источник

НМ

Никита Меркулов... in Go-go!
в основном - дебаг-логов, которые любят оставлять в прод
источник

ЛА

Локоть Анатолий... in Go-go!
Никита Меркулов
я соглашусь с тем, что избыточность можно рассматривать как благо в данном случае, но логов может быть очень дофига лишних
Это был сарказм, Никита
источник

НМ

Никита Меркулов... in Go-go!
вот неловко)
источник

ЛА

Локоть Анатолий... in Go-go!
😂
источник

ЛА

Локоть Анатолий... in Go-go!
Я как-то нашел ппрофом, что самое тормозное место в проекте - logrus, и базу то и дело партиционирую неглядя на нагрузки, опасаясь былых жоп.
Вобщем в любом месте может быть затык, в таком, что казалось бы вот точно будет работать
источник

АЛ

Артем Лазаренко... in Go-go!
чет не пойму что не так с golangci-lint, находясь в каталоге проекта делаю

golangci-lint run

он блин лезет в какие-то пакеты что в GOROOT, только не тек. проект проверяет

level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:226:5: undeclared name: s2"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:233:5: undeclared name: s3"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:249:5: undeclared name: end"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:254:5: undeclared name: r"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:265:6: undeclared name: RuneStart"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:287:6: undeclared name: DecodeLastRuneInString"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:321:6: undeclared name: RuneLen"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:379:6: undeclared name: c"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:410:6: undeclared name: RuneCountInString"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:447:38: undeclared name: b"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:454:6: undeclared name: pi"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:482:6: undeclared name: ValidString"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:486:6: undeclared name: si"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:515:6: undeclared name: ValidRune

пробовал golangci-lint run .
Тоже самое. Если golangci-lint run main.go, он проверяет, но мне не только main.go нужно, мне все *.go нужны
источник

DP

Daniel Podolsky in Go-go!
Артем Лазаренко
чет не пойму что не так с golangci-lint, находясь в каталоге проекта делаю

golangci-lint run

он блин лезет в какие-то пакеты что в GOROOT, только не тек. проект проверяет

level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:226:5: undeclared name: s2"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:233:5: undeclared name: s3"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:249:5: undeclared name: end"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:254:5: undeclared name: r"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:265:6: undeclared name: RuneStart"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:287:6: undeclared name: DecodeLastRuneInString"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:321:6: undeclared name: RuneLen"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:379:6: undeclared name: c"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:410:6: undeclared name: RuneCountInString"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:447:38: undeclared name: b"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:454:6: undeclared name: pi"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:482:6: undeclared name: ValidString"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:486:6: undeclared name: si"
level=error msg="[runner/typecheck] typechecking error: D:\\Go\\src\\unicode\\utf8\\utf8.go:515:6: undeclared name: ValidRune

пробовал golangci-lint run .
Тоже самое. Если golangci-lint run main.go, он проверяет, но мне не только main.go нужно, мне все *.go нужны
а зачем вы это проверяете?
источник

DP

Daniel Podolsky in Go-go!
в смысле - это ваши файлы?
источник