Alexander
то есть она работает, но ничего не показывает
Vladimir
gawk
Alexander
заменить awk на gawk? то же самое
Alexander
может быть, дело в том, что команда автоматически обновляется всегда?
Alexander
точнее, не команда, а то, что она выводит
Vladimir
скрипт должен быть в файле (ну в моем варианте)
Vladimir
можешь в 1 строку преобразовать сам если что
Alexander
сам скрипт в файле, да
Vladimir
и файл соответственно в pwd
Alexander
да
Alexander
я в /root/ , тут этот файл, я его вижу в текущей директории, пишу
docker stats $(docker ps | awk '{if(NR>1) print $NF}') | gawk -f file.awk
Alexander
он как бы что-то делает, но на экране пусто
Alexander
кажется, я понял, всё работает, просто он не успевает обновлять данные
Alexander
с —no-stream работает ок
Vladimir
да, со стримом работать не будет
Vladimir
https://bpaste.net/show/3f55e8d712f2 слегка улучшенный вариант
Vladimir
дальше сам
Alexander
спасибо!
Alexander
понял, как дальше сделать, могу ещё спросить, а почему он отступы немного ломает?
Alexander
https://habrastorage.org/files/472/5af/54d/4725af54ddca4190a6aee248f3d33379.png
Alexander
но прям круто стало, мне оч нравится)) думаю, этот скрипт не только мне поможет
Vladimir
потому что логику по деланию нормальных отступов сложнее реализовать. библиотечных функций нету )
Denis
чот ни очень как то ДО
Vladimir
cat example_1 | gawk -f ./script.awk | column -t
Alexander
если сейчас как-нибудь пофиксить отступы, то вот как раз что надо))
Vladimir
Vladimir
| column -t -s $'\t'
Vladimir
даже так
Alexander
во, отлично)
Alexander
правда баг вижу (после / суммировать не надо), но это вообще не критично
Alexander
https://habrastorage.org/files/10c/aed/593/10caed593ae6408287ffbe8d0dad39e4.png
Alexander
Владимир, спасибо, что прокачали мою та.. мой docker stats 👍
Vladimir
https://bpaste.net/show/2c0450c164ad
Vladimir
да пожалуйста
Vladimir
https://bpaste.net/show/ac1cbbe8a899 даже так, вот тут совсем формат такой (с виду)
Alexander
последний вариант выдал gawk: file1.awk:59: предупреждение: последовательность \%' считается %'
Vladimir
убери экранирование на 59 и 60 строках у процента
Vladimir
%s\% на %s%
Alexander
во
Alexander
https://habrastorage.org/files/348/ffe/447/348ffe44743946d1a78288e0665e6601.png
Vladimir
при оооочень большом желании из скрипта делается однострочник, но так делать не надо - сейчас он хотя бы читаемый
Alexander
гы, он и PID'ы просуммировал
Alexander
да, согласен, так лучше
Alexander
запускаю вот так:
alias stats="docker stats --no-stream \$(docker ps | awk '{if(NR>1) print \$NF}') | gawk -f file1.awk | column -t -s \$'\t'"
в ~/.bashrc
Alexander
теперь ещё 1 вопрос - а как бы сделать так, чтобы он автоматически запускал это каждые Х секунд?
Alexander
ну, раз в 10 секунд, скажем
Alexander
пока я не нажму Ctrl+C
Vladimir
while :; do stats; sleep 10; done
Alexander
о, круто
Denis
У свифта знаете какая проблема ? )
Alexander
clear; я ещё подставил
Alexander
какая?
Denis
питон медленный )
Denis
а если серьезно, дикий оверхед на мелких объекта на директориях
Denis
на 5.9м объектов 1.6м директорий
Alexander
я ещё до этих систем немного недорос)) но интересно
Dmitry
Dmitry
фс сойдет с ума
Alexander
@Civiloid а как правильно заменить строчку
result[project]["pids"] += $19
чтобы вместо суммы там был ', '.join(list)
Vladimir
https://www.gnu.org/software/gawk/manual/html_node/Concatenation.html
Alexander
я вот так написал
result[project]["pids"] += $19 ", "
Alexander
ок, поэкспериментирую ещё
Roman
А кто-нибудь использует ceph? Есть практический опыт работы с ним?
Dmitry
Avonar
это православный программист?
Avonar
как его
Avonar
мицгол, во
Anonymous
Avonar
а
Avonar
не знал
Roman
И как оно? Можно использовать на проде?
Roman
Слышал много отзывов о том что теряются файлы и неимоверно медленный он
Dmitry
я бы даже сказал - нужно
Dmitry
но на дешманском железе не поедет
Dmitry
даже лучше не пробовать
Roman
Тоесть?
Dmitry
то есть на каждый OSD - по одному потоку ядра. это значит - если 24 диска в шасси - 24 потока (12 ядер) будь добр отдай
Dmitry
на тер емкости минимум гиг памяти - лучше сильно больше
Dmitry
только HBA - никаких рейд-контроллеров, никаких sas-экспандеров на шасси, чистая sas-линия до винта
Dmitry
SSD-для кешей, лучше что-нить типа intel S3700 (у нас З3700)