metaclass: (Default)
[personal profile] metaclass
"Отладочные логи и вызовы профилировщика в код вставляют только трусы, неудачники и /забыл слово для тех, кто плохо работает из-за своей тупости/, которые не могут программу написать правильно и эффективно сразу".

Date: 2009-01-06 09:26 pm (UTC)
From: [identity profile] metaclass.livejournal.com
А чего ересь, вполне себе идея для уменьшения нагрузки при логгинге.

Date: 2009-01-07 09:44 am (UTC)
From: [identity profile] kiryl.livejournal.com
Простой текстовый лог намного удобней. Хотя бы потому, что не требуется сторонних средств для его расшифровки. Если волнует размер -- можно агрессивно пожать, например в lzma. Не думаю, что overhead на логинг может быть существенным.
Описанный подход может быть интересен, только для сокрытия информации, что бы людишки ни в коем случае не догадались как эта ентерпрайзная поделка работает.

Date: 2009-01-07 10:33 am (UTC)
From: [identity profile] metaclass.livejournal.com
Если сервер хорошо нагружен, там лишний обмен с диском и расход проца на lzma однозначно ни к чему. Да и сокрытие информации тоже идея хорошая, каким-нибудь конкурентам или местным криворуким админам вовсе ни к чему знать подробности работы софта.

Date: 2009-01-07 12:46 pm (UTC)
From: [identity profile] kiryl.livejournal.com
Лог, в нормальной ситуации, вряд ли привысит 1Mb/час. Даже на загруженном сервере это не создаст большой нагрузки. А жать можно только при пересылке или logrotate.
И, да, я всегда догадывался, что проприетарщики считают всех вокруг тупыми.

Date: 2009-01-07 01:46 pm (UTC)
From: [identity profile] metaclass.livejournal.com
1 мегабайт в час?
А 100 кб в секунду не хотите ли при отладке, причем отладка именно производительности, т.е. логгинг должен отъедать как можно меньше, чтобы не повлиять на отлаживаемый аспект системы.

Date: 2009-01-07 02:43 pm (UTC)
From: [identity profile] kiryl.livejournal.com
Я полагаю, вы не производите отладку на стороне клиета? Или производите?
"Отладка производительности" -- это профайлинг? Для этого существуют более эффективные средства, чем логгинг.

Date: 2009-01-07 04:25 pm (UTC)
From: [identity profile] 1ceheart.livejournal.com
При управлении железкой 10 мб лога в минуту - сплошь и рядом. Бывают и метры в секунду. Потому что когда в цеху встает конвейер, а на вопрос "что случилось" разработчики недоуменно разводят руками и говорят "ну знаете, нам надо посмотреть отладчиком", их немедленно увольняют.

Date: 2009-01-07 11:19 am (UTC)
From: [identity profile] 1ceheart.livejournal.com
Если вы читали мой коммент внимательно, вы бы заметили, что там написано "для дров". Если в обработчике прерывания будет происходить printf и lzma, вы сильно удивитесь, что это у вас Core2 Duo окошки перерисовывает со скоростью 386.

Простой текстовый лог, конечно, удобней, но не всегда.

Date: 2009-01-07 12:39 pm (UTC)
From: [identity profile] kiryl.livejournal.com
Если у вас обработчик прерывания настолько сложен, что требует логирования чего-либо кроме ошибок, то вы, очевидно, пишете что-то не правильно.

Date: 2009-01-07 01:45 pm (UTC)
From: [identity profile] metaclass.livejournal.com
Вот про это я и написал "логи пишут только трусы и неудачники".
Потому что настоящие гуру и ковбои от программирования сразу пишут правильно, а причину проблем у клиента узнают с помощью телепатической силы.

Date: 2009-01-07 02:40 pm (UTC)
From: [identity profile] kiryl.livejournal.com
В обработчике прерывания, если всё верно спроектировано верно, выполняется очень мало работы и отладить его не очень сложно.

Date: 2009-01-07 04:22 pm (UTC)
From: [identity profile] 1ceheart.livejournal.com
А логи пишут только трусы и неудачники :)

Date: 2009-01-10 08:02 am (UTC)
From: [identity profile] blackyblack.livejournal.com
Логи из обработчика прерывания не очень удачная идея. Да и этот самый бинарный лог тоже может навернуться - его кто будет анализировать?

Date: 2009-01-10 11:55 am (UTC)
From: [identity profile] 1ceheart.livejournal.com
Не самая, но как-то отлаживать нужно. Breakpoint-то туда можно поставить только один раз по понятным причинам, а просто DbgPrint таки вносит коррективы :) Конечно, есть и плугин к kd, и если сказать /debugport=1394, то даже и с DbgPrint можно жить, но тем не менее.

Для слива и анализа бинарных логов они там дают тулзу. Все это довольно надежно работает, как ни странно.

Разумеется, оставлять даже бинарный лог в обработчике прерывания в релизе не сильно кошерно. Хотя некоторые оставляют, а некоторые даже это оговаривают в спецификации, что WMI tracing должен быть в релизе. Там действительно performance overhead очень маленький.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 13th, 2025 02:31 pm
Powered by Dreamwidth Studios