Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 391 сообщений
Cообщения с меткой

лейблы - Самое интересное в блогах

Следующие 30  »
rss_rss_hh_new

[Перевод] Инструменты для разработчика Go: знакомимся с лейблами профайлера

Понедельник, 10 Июля 2017 г. 10:31 (ссылка)

DrawingПривет. Меня зовут Марко. Я системный программист в Badoo. Представляю вашему вниманию перевод поста замечательной rakyll о новой фиче в Go 1.9. Мне кажется, что лейблы будут очень полезны для профилирования ваших Go-программ. Мы в Badoo, например, используем аналогичную штуку для того, чтобы тегировать куски кода в наших программах на С. И если срабатывает таймер и в лог выводится стек-трейс, то в дополнение к нему мы выводим такой вот тег. В нем, например, может быть сказано, что мы обрабатывали фотографии пользователя с определенным UID. Это невероятно полезно, и я очень рад, что похожая возможность появилась и в Go.



В Go 1.9 появились лейблы профайлера: возможность добавить пару ключ-значение к семплам, которые делает CPU-профайлер. Профайлер собирает и выводит информацию о самых горячих функциях, где процессор проводит больше всего времени. Вывод обычного CPU-профайлера состоит из имени функции, названия файла исходника и номера строки в этом файле, и так далее. Из этих данных можно также понять, какие части кода вызвали эти горячие функции. Вы даже можете отфильтровать вывод, чтобы получить более глубокое представление о тех или иных ветках исполнения.



Информация о полном стеке вызовов очень полезна, но этого не всегда достаточно для поиска проблемы в производительности. Большое количество Go-программистов используют Go для написания серверов, а понять, где находится проблема производительности в сервере, еще труднее. Сложно отделить одни ветки исполнения от других или сложно понять, когда только одна ветвь исполнения вызывает проблемы (какой-то пользователь или определенный хэндлер). Начиная c Go 1.9 у нас появилась возможность добавлять дополнительную информацию о контексте того, что происходит в данный момент, и использовать в дальнейшем эту информацию в профайлере, чтобы получить более изолированные данные.



Лейблы могут быть полезны во многих случаях. Вот только самые очевидные из них:




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

  • Стек-трейса недостаточно для того, чтобы понять, кто был инициатором работы. К примеру, обработчик очередей обрабатывает события, которые были созданы кем-то ранее. Обработчик мог бы пометить свою работу именем этого кого-то.

  • Для поиска проблемы в производительности критично иметь контекст обработки.



Добавление лейблов



В пакете runtime/pprof появятся несколько новых функций для добавления лейблов. Большинство пользователей будут использовать функцию Do, которая берет контекст, добавляет в него лейблы и передает новый контекст в функцию f:



func Do(ctx context.Context, labels LabelSet, f func(context.Context))


Do записывает набор лейблов только в рамках текущей горутины. Если вы создаете новые горутины в f, вы можете передать контекст в качестве аргумента.



labels := pprof.Labels("worker", "purge")
pprof.Do(ctx, labels, func(ctx context.Context) {
// Делаем какую-либо работу...

go update(ctx) // пробрасывает лейблы дальше
})


Работа выше будет помечена лейблом worker:purge.



Смотрим на вывод профайлера



Этот раздел продемонстрирует использование профайлера с лейблами. После того, как вы пометили все интересующие вас куски кода лейблами, время отпрофилировать код и посмотреть на вывод профайлера.



Я буду использовать пакет net/http/pprof в этом примере. Смотрите статью Profiling Go programs, если вам интересны подробности.



package main

import _ "net/http/pprof"

func main() {
// Много кода...
log.Fatal(http.ListenAndServe("localhost:5555", nil))
}


Соберем данные по использованию CPU...



$ go tool pprof http://localhost:5555/debug/pprof/profile


После того, как утилита переходит в интерактивный режим, вы можете посмотреть все записанные лейблы командой tags. Заметьте, что pprof-утилита называет из тэги, несмотря на то, что в стандартной библиотеке Go они называются лейблами.



(pprof) tags
http-path: Total 80
70 (87.50%): /messages
10 (12.50%): /user

worker: Total 158
158 ( 100%): purge


Как видите, тут два ключа (http-path, worker) и несколько значений для каждого. Ключ http-path указывает на HTTP-хендлеры, а worker:purge указывает на код из примера выше.



Фильтруя по лейблам, мы можем сфокусироваться, например, только на коде из хендлера /user.



(pprof) tagfocus="http-path:/user"
(pprof) top10 -cum
Showing nodes accounting for 0.10s, 3.05% of 3.28s total
flat flat% sum% cum cum%
0 0% 0% 0.10s 3.05% main.generateID.func1 /Users/jbd/src/hello/main.go
0.01s 0.3% 0.3% 0.08s 2.44% runtime.concatstring2 /Users/jbd/go/src/runtime/string.go
0.06s 1.83% 2.13% 0.07s 2.13% runtime.concatstrings /Users/jbd/go/src/runtime/string.go
0.01s 0.3% 2.44% 0.02s 0.61% runtime.mallocgc /Users/jbd/go/src/runtime/malloc.go
0 0% 2.44% 0.02s 0.61% runtime.slicebytetostring /Users/jbd/go/src/runtime/string.go
0 0% 2.44% 0.02s 0.61% strconv.FormatInt /Users/jbd/go/src/strconv/itoa.go
0 0% 2.44% 0.02s 0.61% strconv.Itoa /Users/jbd/go/src/strconv/itoa.go
0 0% 2.44% 0.02s 0.61% strconv.formatBits /Users/jbd/go/src/strconv/itoa.go
0.01s 0.3% 2.74% 0.01s 0.3% runtime.memmove /Users/jbd/go/src/runtime/memmove_amd64.s
0.01s 0.3% 3.05% 0.01s 0.3% runtime.nextFreeFast /Users/jbd/go/src/runtime/malloc.go


Этот вывод содержит только сэмплы, отмеченные лейблом http-path:/user. И вот в таком выводе мы с легкостью можем понять, где самые нагруженные места /user-хэндлера.



Также вы можете попробовать команды tagshow, taghide и tagignore для дополнительного фильтрования. Например, tagignore дает вам возможность получить данные по всем лейблам, кроме заданного. Фильтр ниже выдаст все, кроме /user хэндлера. В этом случае это worker:purge и http-path:/messages.



(pprof) tagfocus=
(pprof) tagignore="http-path:/user"
(pprof) tags
http-path: Total 70
70 ( 100%): /messages

worker: Total 158
158 ( 100%): purge


Если вы попробуете визуализировать отфильтрованные данные, вывод покажет сколько каждый лейбл привносит к полной “стоимости”.





Тут видно что worker:purge привнес 0.07s, а хэндлер messages 0.03s в функции generateID.



Попробуйте сами!



Лейблы позволяют вам добавить дополнительную информацию к профайлеру, которая не доступна из простого стека вызовов. Попробуйте, скачав Go 1.9 beta, если вам нужны дополнительные размерности в вашем профайлере. Также попробуйте пакет pprofutil, чтобы автоматически обернуть ваши HTTP-пути лейблами.



На текущий момент доступна версия Go 1.9 beta 2. Известных багов в ней нет, но команда разработчиков просит попробовать ее на своих программах, а при возникновении проблем сообщить в баг-трекер. Я же хочу сказать, что собрать Go и быть на острие разработки очень и очень просто. Сама же сборка занимает не больше минуты. Дерзайте!


Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/332636/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
lj_miss_tramell

Комплексы, заклеенные лейблами

Четверг, 22 Июня 2017 г. 20:00 (ссылка)

Жители российской провинции выделяются заграницей наличием лейблов на одежде. Armani на куртке во всю спину, от плеча до плеча. Сумка LV, да побольше. Красно-зелёная ленточка Gucci на кроссовках. Ну, и россыпь значков помельче: Trussardi в области соска, D&G на джинсах.

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


Фото: Соцсети

Налепил человек пластырь на комплекс маленькой письки, большой жопы или спущенной в унитаз жизни -- и, вроде бы, не так сильно кровоточит.


Раньше и москвичи перебинтованные лейблами ходили, потом многих из них отпустило. Черноземье, Поволжье, Забайкалье и прочие отдалённые и не очень уголки нашей Родины -- пока нет.

А пора бы. Пора бы усвоить уже, наконец, что нарывы комплексов нужно вскрывать, выдавливать из них гной и ждать, пока рана зарубцуется.

Если вы повышаете или подчёркиваете свой статус в глазах окружающих с помощью одежды, если в брендовых вещах чувствуете себя более уверенно, чем без них, задайте себе вопрос: «Какие именно раны я пытаюсь заклеить лейблом?»

Задали? Поделитесь ответами.

Канал анонсов и новостей блога в мессенджере Telegram


http://miss-tramell.livejournal.com/1274522.html

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
ДавыдоФФская

Что можно сделать из лейблов

Четверг, 22 Декабря 2016 г. 12:40 (ссылка)




Переделки джинсов — благодатная тема! Но от любых джинсов остается такое богатство, как кожаные лейблы!




фотки тут


источник

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
azanovapress

Как начинающему музыканту выпустить релиз, или какими агрегаторами пользуются топовые российские издательства

Суббота, 17 Декабря 2016 г. 11:10 (ссылка)


Источник: https://upages.io/nahodki/kak_izdat_muzykalnyy_reliz



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



Что необходимо для удачного размещения ваших релизов (синглов, альбомов, EP)?





 



Релиз Лены Катиной, выпущенный через агрегатор Tunecore




1) Качественный материал, т. е. ваш трек / песня должны отвечать определенным техническим и временным характеристикам. Если вы решили серьезно заниматься музыкой — вы рано или поздно придете к осознанию того, что качественно записанный трек в хорошей студии у профессионала — по звуковой обработке на уровень выше того, что вы записываете в домашних условиях.



2) У любого релиза должна быть качественная обложка. Очень часто среди начинающих русских музыкантов встречаю полное игнорирование данного пункта. Начинающие музыканты попросту не хотят заморачиваться и думать, с какой обложкой будет релиз — а зря. Любой контент, который вы планируете разместить на площадках продаж — должен быть продуман до мелочей, в том числе и обложка.



Вспомните себя, когда вы приходите в супермаркет, и видите незнакомый товар -вас так или иначе первостепенно привлекает этикетка, картинка (обложка, обертка, назовите как хотите), и уже только потом вы обращаете внимание на сам продукт или товар. Всё то же самое и в музыке, чем привлекательнее обложка вашего релиза — тем больше вероятность привлечь нового слушателя к вашему треку. Считаю, что созданием обложки музыканту лучше поручить профессионалу или дизайнеру. Заказать и сделать одну обложку у художника-дизайнера менее затратное мероприятие, чем студийная запись одной песни.



3) После того как подготовлен к выпуску релиз (т.е. у вас есть песни и обложка) музыканту стоит определиться с тем, каким образом он будет распространяться. Конечно, можно пойти 100% верным путем и показать свою музыку издательству. И это будет действительно очень полезный опыт, если издательство заинтересуется. Но так бывает не всегда, и вы рискуете потерять много времени, а то и вовсе не достичь нужного результата. А возможен вариант, когда предложенные условия издательства по выпуску и распространению вашего релиза для конкретного музыканта будут не приемлемы. К примеру, популярные российские издательства практикуют приобретение исключительных прав у авторов и правообладателей на 5 лет по «тарифу» 50% на 50% (в лучшем случае), или покупая каждую песню условно за какие-то деньги, допустим, единовременно выплачивая вам 1000 рублей, и вы забываете о своих треках на 5 лет — в общем, для маневра в пользу издательства много всевозможных фишек, неудобных артисту.

Читать далее...
Комментарии (0)КомментироватьВ цитатник или сообщество
Трииночка

Значение знаков на лейблах одежды. Стираем и гладим по правилам)

Четверг, 15 Декабря 2016 г. 12:59 (ссылка)


Значение знаков на лейблах одежды. Стираем и гладим по правилам)





1. Ручная стирка.

2. Стирка запрещена.

3. Только ручная стирка при максимальной температуре 30 градусов, не тереть не отжимать.

4. Ручная или машинная стирка при температуре не выше указанной.

5. Ручная или машинная стирка. Внимательно придерживайтесь указанной температуры, не подвергать сильной механической обработке, полоскать, переходя постепенно к холодной воде, при отжиме в стиральной машине ставить медленный режим центрифуги.

Читать далее...
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Аноним

Среда, 01 Декабря 1970 г. 03:00 (ссылка)

Комментарии ()КомментироватьВ цитатник или сообщество
rainha70

Заготовочки ярлычков,лейблов. № 1

Воскресенье, 30 Октября 2016 г. 17:21 (ссылка)

Это цитата сообщения Beauti_Flash Оригинальное сообщение


Заготовки Для вашего творчества
Понравился пост, нажмите на кнопочку НРАВИТСЯ,
внизу поста.

Beauti_Flash
Beauti_Flash
Beauti_Flash
Beauti_Flash
Beauti_Flash
Beauti_Flash
Beauti_Flash
Beauti_Flash
Beauti_Flash

БЕЗ КАРТИНКИ

Beauti_Flash
Beauti_Flash
Beauti_Flash
Beauti_Flash
Beauti_Flash
Beauti_Flash
Beauti_Flash
Beauti_Flash
Beauti_Flash
aramat_0X2 (15x15, 1Kb)
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Аноним

Среда, 01 Декабря 1970 г. 03:00 (ссылка)

Комментарии ()КомментироватьВ цитатник или сообщество
Аноним

Среда, 01 Декабря 1970 г. 03:00 (ссылка)

Комментарии ()КомментироватьВ цитатник или сообщество
Аноним

Среда, 01 Декабря 1970 г. 03:00 (ссылка)

Комментарии ()КомментироватьВ цитатник или сообщество
Аноним

Среда, 01 Декабря 1970 г. 03:00 (ссылка)

Комментарии ()КомментироватьВ цитатник или сообщество
Beauti_Flash

Лейблы день рождения дневнику №4

Суббота, 15 Октября 2016 г. 08:04 (ссылка)



Лейблы день рождения дневнику
для девочек.
Беря код не забывайте,пожалуйста, ПРОЦИТИРОВАТЬ.
Понравился пост, нажмите на кнопочку НРАВИТСЯ,
внизу поста.

aramat_00W65 (500x240, 97Kb)


aramat_00W66 (500x240, 99Kb)


aramat_00W67 (500x240, 99Kb)


aramat_00W68 (500x240, 99Kb)


aramat_00W69 (500x240, 98Kb)


aramat_00W70 (500x240, 98Kb)


aramat_00W71 (500x240, 97Kb)


aramat_00W72 (500x240, 97Kb)


aramat_00W73 (500x240, 98Kb)


aramat_00W74 (500x240, 99Kb)


aramat_00W75 (500x240, 98Kb)


aramat_00W76 (500x240, 99Kb)


aramat_00W77 (500x240, 99Kb)


aramat_00W78 (500x240, 99Kb)


aramat_00W79 (500x240, 99Kb)


Рамочка авторская просьба в своих постах не использовать.

aramat_000 (15x15, 1Kb)
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Beauti_Flash

Лейблы день рождения дневнику №3

Суббота, 15 Октября 2016 г. 08:02 (ссылка)



Лейблы день рождения дневнику
для мальчиков.
Беря код не забывайте,пожалуйста, ПРОЦИТИРОВАТЬ.
Понравился пост, нажмите на кнопочку НРАВИТСЯ,
внизу поста.

aramat_00W50 (500x240, 89Kb)


aramat_00W51 (500x240, 92Kb)


aramat_00W52 (500x240, 92Kb)


aramat_00W53 (500x240, 91Kb)


aramat_00W54 (500x240, 92Kb)


aramat_00W55 (500x240, 92Kb)


aramat_00W56 (500x240, 91Kb)


aramat_00W57 (500x240, 92Kb)


aramat_00W58 (500x240, 92Kb)


aramat_00W59 (500x240, 94Kb)


aramat_00W60 (500x240, 92Kb)


aramat_00W61 (500x240, 94Kb)


aramat_00W62 (500x240, 94Kb)


aramat_00W63 (500x240, 93Kb)


aramat_00W64 (500x240, 94Kb)


Рамочка авторская просьба в своих постах не использовать.

aramat_000 (15x15, 1Kb)
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<лейблы - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda