Препроцессор в Go: как автоматически встроить OpenTelemetry в проект
Доклад принят в программу конференции
Целевая аудитория
Тезисы
В Go, насколько мы знаем, отсутствуют встроенные механизмы препроцессинга — у нас нет ни стандартного препроцессора, ни системы макросов. Но значит ли это, что нельзя написать свой?
Я расскажу о том, как зная детали работы тулчейна Go можно реализовать свой собственный препроцессор. Мы рассмотрим как общий подход к построению препроцессинга, так и конкретный практический пример в виде автоматического инструментария кода трейсами OpenTelemetry.
В ходе доклада мы с вами:
* узнаем о методе встраивания в компилятор (и почему сами авторы Go добавили это в язык);
* выясним, какие фазы компиляции представляют наибольший интерес;
* наметим общее решение для препроцессинга и научимся обманывать компилятор;
* столкнемся с проблемами восстановления импортов и героически их решим;
* рассмотрим работу кеширования во время компиляции в Go и как нам это поможет;
* применим все это на практике;
* рассмотрим, конечно же, проблемы и ограничения такого подхода.
7 лет опыта коммерческой разработки на бэкенде в FoodTech сегменте.
Молниеносно решаю проблемы бизнеса и коллег.
Видео
Другие доклады секции
Инфраструктура и эксплуатация