У меня есть следующий вариант использования: Прошивка для микроконтроллера собирается в конвейере Azure, я хотел бы отслеживать использование памяти ПЗУ и ОЗУ (в основном два числа) в каждой сборке и иметь возможность отслеживать общую тенденцию с помощью диаграммы где-нибудь в Azure DevOps (вероятно, на какой-то информационной панели). Я могу написать скрипт для извлечения этих данных после сборки, но как сделать их доступными в Azure DevOps?
Что я рассмотрел:
Любые другие предложения приветствуются!
Обновлено: Конечно, это будет сделано только для основной защищенной ветки, а не для каждого запуска конвейера.
Кроме того, конвейер строит разные конфигурации прошивки, каждую из которых необходимо оценивать отдельно.
Можете ли вы уточнить ваши требования? Хотите ли вы отображать эту информацию о диаграмме в ресурсах Azure или в самом Azure DevOps? Azure и Azure DevOps немного отличаются, и в вашем описании есть некоторая путаница.
Кевин, извини за путаницу, я только начинаю знакомиться с семейством сервисов Azure. Я бы предпочел видеть эту диаграмму в Azure Devops, возможно, на какой-нибудь информационной панели. Везде, где я упоминал Azure, я хотел сказать Azure DevOps. Хотя, возможно, другие службы лучше подходят для этой задачи, я знаю, что есть Azure Monitor и т. д. Но конечная цель — увидеть диаграмму на панели мониторинга Azure DevOps.
Руи, спасибо за предложение. Сейчас я рассмотрю документацию по Log Analytics Workspace.
Log Analytics кажется обходным решением, предназначенным для мониторинга служб Azure. Я думаю, что для хранения этих данных должно быть более подходящее место. Я уверен, что я не единственный, кто хочет отслеживать некоторые показатели приложения.
@DanielBeliavskij Боюсь, что не существует встроенного виджета Dashboard или виджета Extension Dashboard, который мог бы записывать и отслеживать метрику сборки. В ответе я поделился обходным решением, к которому вы можете обратиться. Я также предлагаю вам создать заявку с предложением сообщить об этой функции.
Измерение использования оперативной памяти микроконтроллера во время компиляции — нетривиальная задача. Помимо выделенной оперативной памяти, стек является динамическим, и его использование зависит от сложных вещей, таких как глубина стека вызовов вместе с глубиной (вложенных) прерываний, а также от использования стека для переменных. Прежде чем беспокоиться о DevOps, возможно, в первую очередь обрисуем, как вы планируете измерять использование оперативной памяти?
Ну, использование оперативной памяти не является главной проблемой, сейчас мы просто извлекаем эти данные из компоновщика, и этого достаточно, чтобы увидеть выделенный размер оперативной памяти. Основная задача — контролировать использование флэш-памяти. Что также обеспечивается выходными данными компоновщика
Боюсь, что нет встроенного виджета Dashboard или виджета Extension Dashboard, который мог бы записывать и отслеживать метрику сборки.
Мы можем использовать другие службы Azure (например, Azure Monitor) или инструменты (PowerBI) для записи данных и создания отчетов, но их нельзя отобразить на панели мониторинга Azure DevOps.
В качестве обходного пути я предлагаю использовать рабочий элемент Azure DevOps для записи данных ПЗУ и ОЗУ, а затем использовать запрос для фильтрации рабочих элементов для создания диаграммы.
Вот шаги:
Шаг 1. Создайте новый тип элемента-червя в настройках организации -> Процессы и добавьте настраиваемые поля (например, ПЗУ и ОЗУ) к новому типу рабочего элемента.
Шаг 2. При запуске конвейера вы можете создать новый рабочий элемент для каждой сборки (используйте Rest API: Создать рабочий элемент или расширение: Создать рабочий элемент) и установите значение в поле рабочего элемента.
Например:
Шаг 3. Создайте и запустите запрос на досках -> Запросы, чтобы отфильтровать связанные рабочие элементы и настроить поля в столбце запроса.
например:
Шаг 4. Вы можете создать диаграмму в Query/Dashboard на основе результата запроса. Обратитесь к этому документу: Примеры диаграмм запросов
Например:
Поскольку это обходной путь, он будет иметь ограничения.
Я могу полностью понять ваше требование. Вы можете отправить заявку на сайте: Сообщество разработчиков, чтобы сообщить об этой функции.
Надеюсь, в будущем появится официальный виджет Dashboard, который сможет напрямую реализовать эту функцию.
Может быть, попытаться найти способ записи данных (использование памяти ПЗУ и ОЗУ) в рабочую область Log Analytics? При необходимости вы можете создавать информационные панели и даже настраивать оповещения на основе данных.