Поддержка разработки для VS Code

Материал из Документация Ключ-АСТРОМ

Ключ-АСТРОМ Extensions использует все возможности редактора VS Code, помогая вам быстрее создавать более качественные расширения.

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

Обзор функций

Тип объекта Описание
Дополнения кода Предложения по автодополнению слов или полей манифеста
Действия кода Команды, генерирующие или редактирующие содержимое манифеста вашего расширения
Линза кода Дополнительные команды для взаимодействия с данными расширения
Режим быстрой разработки Рабочий процесс, ориентированный на скорость доставки
Диагностика Дополнительная диагностика помимо простой проверки схемы

Дополнения кода

Автодополнение кода или подсказки появляются в ключевых точках манифеста расширения. Они автоматически или по запросу (Ctrl + Пробел) предлагают известные значения, которые можно вставить в позицию курсора.

Реализованные триггеры

Триггер ключевого слова Эффекты
В элементах списка fromType: или toType: внутри topology.relationships Просматривайте встроенные и пользовательские типы сущностей
В элементах sourceAttribute: внутреннего списка mappingRules топологических отношений Просмотреть атрибуты сущности (сущность должна присутствовать в атрибуте fromType)
В элементах destinationAttribute: внутреннего списка mappingRules топологических отношений Просмотр атрибутов сущности (сущность должна присутствовать в атрибуте toType)
На entityType: и entityTypes: Просмотрите соответствующие типы сущностей
Вкл. key: (атрибутов внутри свойств экрана) Атрибуты предлагаются на основе топологии и встроенных значений.
На entitySelectorTemplate: Используйте сочетание клавиш Ctrl + Пробел для запуска автодополнения при создании селектора или выберите один из готовых селекторов (из связей, указанных в вашем манифесте).
Вкл. iconPattern: (в пределах правил топологии) или icon: (в пределах заголовка staticContent) Просмотрите доступные коды иконок Barista
На key: (карточек в screens, либо в макете, либо в отдельных списках) Просмотреть ключи карт, определенных, но еще не использованных
Вкл. value:, для метрик и измерений расширения Prometheus Просматривайте метрики и параметры, полученные с помощью кода Prometheus.
В разделе description: (в манифесте metrics) Для тех метрик, которые были получены с помощью кода Prometheus, добавьте описание из полученных данных.

Действия кода

Действия кода выполняются в ключевых строках манифеста расширения. Редактор автоматически отображает значок лампочки при каждом выполнении действий, соответствующих выбранной строке. Обычно такие действия приводят к созданию и вставке контента в манифест расширения или к исправлению проблем, выявленных Ключ-АСТРОМ Extensions.

В настоящее время реализованы триггеры

Триггер действия Эффекты
Внутри propertiesCard при нажатии на свойства Автоматически добавить свойства для атрибутов и отношений сущности
Внутри entitiesListCards при нажатии на столбцы Автоматически добавить столбцы для атрибутов и связей перечисленных сущностей
Внутри chartsCards и entitiesListCards при нажатии на диаграммы внутри карточки Автоматически добавить диаграммы для показателей, которых еще нет в карточке
Внутри graphChartConfig при нажатии на метрики Добавить в диаграмму больше показателей, которые не используются в окружающей карточке.
Внутри screens при нажатии на chartsCards Автоматически добавить карты диаграмм для целых наборов показателей
Внутри screens при нажатии на entitiesListCards Автоматически добавить карточки для листинга этого объекта, а также связанных с ним объектов
При нажатии на ссылку metrics в источнике данных Prometheus Автоматически добавить данные из скопированной конечной точки Prometheus
На screens Автоматически создать целые экраны унифицированного анализа для ваших сущностей
Внутри entitiesListCards при нажатии на filtering Вставить целые блоки фильтрации с фильтром по имени по умолчанию
Внутри entitiesListCards и внутри filtering, при нажатии на filters Вставить индивидуальный фильтр для атрибутов сущности
Внутри screens при нажатии на actions Вставить глобальные действия для настройки расширения
Внутри actions при нажатии на actions Вставить выражение действия для настройки расширения.

Линза кода

Линзы кода — это контекстная информация, содержащая полезную информацию, разбросанную по вашему коду. В случае с расширениями Ключ-АСТРОМ они могут помочь запустить действия, связанные с кодом, в вашей среде Ключ-АСТРОМ или других внешних конечных точках.

Метрические селекторы

Линза автоматически появляется в любом месте metricSelector и показывает:

  • Запрос данных — действие, которое запускает запрос селектора метрик и визуализирует его результаты.
  • Проверка селектора — действие для проверки этого селектора на соответствие вашей среде Ключ-АСТРОМ.
  • Значок, отображающий последний статус проверки для этого селектора. Наведите на него курсор, чтобы узнать подробности.

Результаты выбора метрик отображаются на отдельной панели метрик.

Любые ошибки, возникающие при запросах к вашей среде, отображаются на панели вывода Ключ-АСТРОМ (по умолчанию в нижней части редактора).

Селекторы сущностей

Линза автоматически появляется везде, где упоминается entitySelector, и показывает:

  • Запрос данных — действие, которое запускает запрос селектора сущностей и визуализирует его результаты.
  • Проверка селектора — действие для проверки этого селектора на соответствие вашей среде Dynatrace.
  • Значок, отображающий последний статус проверки для этого селектора. Наведите на него курсор, чтобы узнать подробности.

Результаты селектора сущностей, а также любые ошибки отображаются на панели вывода Ключ-АСТРОМ (по умолчанию в нижней части редактора).

Prometheus

Линза появляется автоматически после определения источника данных Prometheus и показывает:

  • Сбор данных — действие, которое подключается к конечной точке скрапера Prometheus и собирает ее данные.
  • Изменить конфигурацию — действие, позволяющее вносить изменения в подключенную конечную точку Prometheus.
  • Текст, указывающий статус последнего действия по сбору данных, например, временную метку и количество собранных метрик.

После извлечения данных их можно использовать с действиями кода для:

  • Вставки определения метрик в раздел манифеста prometheus
  • Вставки размера в раздел манифеста prometheus
  • Вставки метрических метаданных в раздел манифеста metrics

Запросы интерфейса управления Windows (WMI)

Линза автоматически появляется над запросами внутри определения источника данных WMI и показывает:

  • Выполнить запрос WMI: действие, которое запускает ваш запрос на локальном компьютере Windows.
  • Текст, указывающий сводку результатов запроса (т. е. сколько экземпляров объектов было найдено)

Полные результаты выполнения WMI-запроса отображаются на отдельной панели. После выполнения запроса вы можете использовать результаты с помощью автодополнения кода .

Унифицированные экраны анализа

Линза автоматически появляется над определениями типов сущностей внутри элемента манифеста screens и показывает:

  • Открыть список: действие, открывающее окно браузера для просмотра списка унифицированного анализа этой сущности.
  • Открыть представление сведений: действие, открывающее окно браузера для представления сведений об унифицированном анализе этой сущности.
Если ваш тип сущности еще не существует - код ответа 404.

Режим быстрой разработки

Режим быстрой разработки — это рабочий процесс, позволяющий опытным разработчикам получать немедленную обратную связь о текущем состоянии своего расширения и минимизировать шаги и время, необходимые для отображения обновлений в подключенной среде Ключ-АСТРОМ.

Как это работает?

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

Сопутствующая строка состояния подтверждает, что режим активен, и отображает статус последней попытки сборки.

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

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

Диагностика

Зачастую совершенно корректный YAML-файл всё равно создаёт манифест, который вызывает проблемы при загрузке расширения в Dynatrace или при его последующем запуске. Многие из таких ситуаций можно обнаружить на ранних этапах, и Dynatrace Extensions стремится выявить их, чтобы вы могли исправить их и сократить количество неудачных попыток развёртывания.

Как работает индивидуальная диагностика?

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

В некоторых случаях при наведении курсора может отображаться ссылка Быстрое исправление. Если она доступна, содержимое документа будет изменено для устранения выделенной проблемы.

Предупреждения о диагностике:

  • Error— эти результаты выделены красным цветом и представляют проблемы, которые могут привести к сбою расширения при его развертывании. Команда Сборка не будет работать, если в манифесте есть диагностика уровня серьёзности Error.
  • Warning— эти результаты выделены желтым цветом и представляют собой проблемы, которые не препятствуют функционированию расширения, но все же могут привести к нежелательному поведению.

В настоящее время реализована диагностика

Код Серьезность Что это значит?
DED001 Error У вашего расширения нет имени, которое является обязательным.
DED002 Error Имя вашего расширения должно содержать менее 50 символов.
DED003 Error Имя вашего расширения недействительно. Оно должно содержать только строчные буквы, цифры, дефисы, символы подчёркивания и точки.
DED004 Error Имя вашего расширения должно начинаться с custom:, но это не так.
DED005 Warning Внутренние имена расширений Ключ-АСТРОМ не должны начинаться с custom:.
DED006 Warning Метрики типа count должны иметь ключи, заканчивающиеся на .count или _count .
DED007 Warning Метрики типа gauge не должны иметь ключей, заканчивающихся на .count или _count.
DED008 Error Вы упомянули эту карту-ключ в макете экрана, но у нее нет определения.
DED009 Warning Вы определили эту карту, но не ссылаетесь на нее в макете экрана.
DED010 Warning Данные об этом идентификаторе объекта (OID) отсутствуют в сети. Рекомендуем проверить его.
DED011 Error Этот OID недоступен для чтения. Права доступа ( MAX-ACCESS ) не позволяют это сделать.
DED012 Error Этот OID возвращает строку, но вы используете ее в качестве значения метрики.
DED013 Warning Этот OID возвращает счетчик, но вы используете его в качестве метрики Gauge.
DED014 Warning Этот OID возвращает показатель, но вы используете его в качестве метрики счетчика.
DED015 Error Неверный синтаксис OID. OID не должен начинаться/заканчиваться с «.» и может содержать только точки и цифры.
DED016 Error Неверный синтаксис OID. OID не должны заканчиваться на «.0», если для «table» в подгруппе установлено значение «true».
DED017 Error Неверный синтаксис OID. OID должны заканчиваться на «.0», если для «table» в подгруппе задано значение «false».
DED018 Error В онлайн-данных этот OID указан как статический, но вы используете его внутри подгруппы «table».
DED019 Error Онлайн-данные сопоставляют этот OID с записями таблицы, но вы не используете его внутри подгруппы «table».

Сам код ничего не означает; он просто предоставляет уникальный идентификатор среди всех диагностических сообщений, которые могут появляться в VS Code. Мы выбрали префикс DED, чтобы обозначить диагностика расширений Ключ-АСТРОМ.