Компания Observability New Relic приобрела CodeStream, специалиста по сотрудничеству разработчиков, с целью связать данные наблюдаемости с кодом в среде разработки.
CodeStream, основанный в 2017 году Питером Пезарисом, добавляет в среды программирования мгновенное общение с разработчиками. Например, разработчик, ломающий голову над кодом, написанным коллегой, может щелкнуть рядом с этим кодом, ввести сообщение другому разработчику, и он получит его либо в среде IDE, если они работают над одним и тем же проектом, либо в инструмент обмена сообщениями, такой как Slack, со ссылкой на рассматриваемый код. Они отвечают, и начинается обсуждение.
Хотя это может показаться мелочью, учитывая, что они могут просто использовать Slack (или любое количество других служб обмена сообщениями) напрямую, контекст и удобство делают его полезным инструментом для совместной работы. CodeStream также интегрируется с запросами на вытягивание из GitHub, GitLab, BitBucket и управлением проблемами из Jira, Trello и других.
Хотя то, что делает CodeStream, похоже на такие инструменты, как Visual Studio Live Share или JetBrains Code With Me, которые поддерживают парное программирование, компания считает их взаимодополняющими. Пезарис сказал нам, что Live Share предназначен для совместной работы в реальном времени, тогда как CodeStream является асинхронным. «Мы используем их для разных целей».
New Relic незаметно приобрела CodeStream «чуть более трех месяцев назад», – сказал Пезарис. , и команда работает над новой интеграцией IDE, которая делает что-то более необычное, соединяя телеметрию, полученную от производственных приложений, с соответствующим кодом, интеграция в настоящее время осуществляется для Visual Studio Code, Visual Studio и семейства JetBrains.

Добавление мониторинга приложений для приложения Node.js … Щелкните, чтобы увидеть полное изображение
Лучший способ объяснить это – описать рабочий процесс. В IDE разработчик может добавить мониторинг приложений, который позволяет приложению производить телеметрию. Запущенное приложение теперь отправляет данные в New Relic, где их можно просмотреть с помощью онлайн-инструментов.
Если возникает ошибка, об этом сообщается с трассировкой стека в папке входящих ошибок New Relic, где кнопка теперь предлагает «Открыть в IDE». При этом используется обработчик протокола для открытия IDE, например Visual Studio Code, с загруженным проектом и отображаемым ошибочным кодом.

‘Открыть в IDE’ можно использовать для перехода от ошибки приложения в производственной среде к ответственному коду в среде разработки.
«До этого запуска, если я смотрел трассировку стека, лучший инструмент в моем распоряжении – это ссылка на копию в буфер обмена, – сказал Пезарис, – а затем вручную найти, к каким строкам кода мне нужно перейти. Теперь CodeStream делает это супер просто “.
Я могу отлаживать производство прямо из моей IDE
Пезарис показал нам еще одну демонстрацию с участием Пикси: это касается телеметрии, которая не собирается с помощью инструментовки приложения. Вместо этого программы eBPF (расширенный фильтр пакетов Беркли), работающие на уровне ядра, используются для сбора данных о том, как используется выбранный бит программного обеспечения. В демонстрации разработчик открывает некоторый код, а затем, по словам Пезариса, «я могу щелкнуть эту функцию и добавить динамическое ведение журнала, поэтому без необходимости развертывать что-либо в производственной среде, CodeStream сообщит мне, где она выполняется, и я могу записать вызовы этой функции в течение следующих двух минут.
«Теперь он использует Pixie для установки зонда в производственной среде и настройки схемы. Иногда это занимает несколько секунд. После ее установки каждый раз, когда вызывается эта функция, мы будем видеть здесь данные. Я могу отлаживать производственную среду прямо из моей среды IDE. . “

Запущенное приложение справа, динамическое ведение журнала слева, благодаря Pixie
Мечта разработчика сбывается или беспокойство по поводу безопасности, когда каждый разработчик может внедрять что-то в работающие производственные блоки? «Нет никаких дополнительных последствий для безопасности, это решать организации», – сказал он.
«Все это регулируется ключами API, которыми управляет организация, так что вы можете предоставлять или не предоставлять доступ по своему усмотрению. Организации, более заботящиеся о безопасности, заблокируют его, распределяя ключи среди своих сотрудников».
Несмотря на эту уверенность, наш вопрос задел нерв, поскольку Бадди Брюэр, GVP и технический директор New Relic в Северной и Южной Америке, поспешил объяснить, что «у нас есть группа безопасности, которая гарантирует соответствие» необходимым стандартам.
Эти инструменты находятся в предварительной версии и бесплатны для использования до 12 января 2022 года. После этого «для некоторых расширенных функций потребуется платная пользовательская лицензия, как только будут достигнуты ограничения уровня бесплатного пользования», – говорится в заявлении для прессы.
Какие языки программирования поддерживаются? Исходными языками являются Java, JavaScript и .NET, но «мы планируем развернуть нашу дополнительную языковую поддержку и фреймворки в ближайшие месяцы», – сказал Пезарис. Еще одно изменение в конвейере – добавление интеграции IDE, аналогичной интеграции с ошибками, но с инструментами анализа производительности New Relic, такими как Flame Graphs. ®