Поддержка разработки для 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, чтобы обозначить диагностика расширений Ключ-АСТРОМ.