Публикация и мониторинг показателей сборки из конвейера Azure в Azure DevOps

У меня есть следующий вариант использования: Прошивка для микроконтроллера собирается в конвейере Azure, я хотел бы отслеживать использование памяти ПЗУ и ОЗУ (в основном два числа) в каждой сборке и иметь возможность отслеживать общую тенденцию с помощью диаграммы где-нибудь в Azure DevOps (вероятно, на какой-то информационной панели). Я могу написать скрипт для извлечения этих данных после сборки, но как сделать их доступными в Azure DevOps?

Что я рассмотрел:

  • Во время сборки экспортируем необходимую информацию в файл (вероятно, JSON) и сохраняем ее как артефакт. Затем каким-то образом опубликовать его в Azure DevOps (но где и как опубликовать? Как правильно это сделать в Azure?)
  • У Azure Pipelines есть возможность читать формат результатов теста, сгенерированный CTest, и публиковать их в Azure DevOps, поэтому можно каким-то образом создать собственный измерительный тест с помощью CTest, но смогут ли Azure Pipelines/DevOps обработать его должным образом и является ли это правильным способом идти?

Любые другие предложения приветствуются!

Обновлено: Конечно, это будет сделано только для основной защищенной ветки, а не для каждого запуска конвейера.

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

Может быть, попытаться найти способ записи данных (использование памяти ПЗУ и ОЗУ) в рабочую область Log Analytics? При необходимости вы можете создавать информационные панели и даже настраивать оповещения на основе данных.

Rui Jarimba 16.04.2024 20:32

Можете ли вы уточнить ваши требования? Хотите ли вы отображать эту информацию о диаграмме в ресурсах Azure или в самом Azure DevOps? Azure и Azure DevOps немного отличаются, и в вашем описании есть некоторая путаница.

Kevin Lu-MSFT 17.04.2024 04:09

Кевин, извини за путаницу, я только начинаю знакомиться с семейством сервисов Azure. Я бы предпочел видеть эту диаграмму в Azure Devops, возможно, на какой-нибудь информационной панели. Везде, где я упоминал Azure, я хотел сказать Azure DevOps. Хотя, возможно, другие службы лучше подходят для этой задачи, я знаю, что есть Azure Monitor и т. д. Но конечная цель — увидеть диаграмму на панели мониторинга Azure DevOps.

Daniel Beliavskij 17.04.2024 07:46

Руи, спасибо за предложение. Сейчас я рассмотрю документацию по Log Analytics Workspace.

Daniel Beliavskij 17.04.2024 07:46

Log Analytics кажется обходным решением, предназначенным для мониторинга служб Azure. Я думаю, что для хранения этих данных должно быть более подходящее место. Я уверен, что я не единственный, кто хочет отслеживать некоторые показатели приложения.

Daniel Beliavskij 17.04.2024 07:52

@DanielBeliavskij Боюсь, что не существует встроенного виджета Dashboard или виджета Extension Dashboard, который мог бы записывать и отслеживать метрику сборки. В ответе я поделился обходным решением, к которому вы можете обратиться. Я также предлагаю вам создать заявку с предложением сообщить об этой функции.

Kevin Lu-MSFT 18.04.2024 08:53

Измерение использования оперативной памяти микроконтроллера во время компиляции — нетривиальная задача. Помимо выделенной оперативной памяти, стек является динамическим, и его использование зависит от сложных вещей, таких как глубина стека вызовов вместе с глубиной (вложенных) прерываний, а также от использования стека для переменных. Прежде чем беспокоиться о DevOps, возможно, в первую очередь обрисуем, как вы планируете измерять использование оперативной памяти?

Lundin 18.04.2024 15:47

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

Daniel Beliavskij 20.04.2024 10:39
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
8
300
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Боюсь, что нет встроенного виджета Dashboard или виджета Extension Dashboard, который мог бы записывать и отслеживать метрику сборки.

Мы можем использовать другие службы Azure (например, Azure Monitor) или инструменты (PowerBI) для записи данных и создания отчетов, но их нельзя отобразить на панели мониторинга Azure DevOps.

В качестве обходного пути я предлагаю использовать рабочий элемент Azure DevOps для записи данных ПЗУ и ОЗУ, а затем использовать запрос для фильтрации рабочих элементов для создания диаграммы.

Вот шаги:

Шаг 1. Создайте новый тип элемента-червя в настройках организации -> Процессы и добавьте настраиваемые поля (например, ПЗУ и ОЗУ) к новому типу рабочего элемента.

Шаг 2. При запуске конвейера вы можете создать новый рабочий элемент для каждой сборки (используйте Rest API: Создать рабочий элемент или расширение: Создать рабочий элемент) и установите значение в поле рабочего элемента.

Например:

Шаг 3. Создайте и запустите запрос на досках -> Запросы, чтобы отфильтровать связанные рабочие элементы и настроить поля в столбце запроса.

например:

Шаг 4. Вы можете создать диаграмму в Query/Dashboard на основе результата запроса. Обратитесь к этому документу: Примеры диаграмм запросов

Например:

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

Я могу полностью понять ваше требование. Вы можете отправить заявку на сайте: Сообщество разработчиков, чтобы сообщить об этой функции.

Надеюсь, в будущем появится официальный виджет Dashboard, который сможет напрямую реализовать эту функцию.

Другие вопросы по теме