Претензии к производительности и старый код
В последнее время Microsoft часто критикуют за невысокую производительность Windows 11, а также за медленные темпы развития и улучшения ОС. Не все претензии пользователей можно назвать справедливыми, однако у многих из них есть основания. В самой Microsoft также признают наличие проблем. Одной из причин медленного развития Windows 11 остается стремление компании сохранять совместимость со старым ПО, инструментами и технологиями. Такой подход соответствует обязательствам Microsoft перед пользователями и разработчиками, но одновременно усложняет модернизацию системы и замедляет внедрение серьезных изменений.
ETW MCP: анализ трассировок на естественном языке
Несмотря на существующие сложности, Microsoft продолжает работу над улучшением Windows. На этой неделе компания представила два новых инструмента, которые должны сделать анализ и оптимизацию производительности операционной системы более современными и удобными. Одним из них стал ETW MCP – новый сервер на базе протокола Model Context Protocol. Пока он доступен в предварительной версии. Инструмент предназначен для упрощения анализа журналов Windows Event Tracing с помощью ИИ.
ETW MCP позволяет GitHub Copilot и другим ИИ-ассистентам с поддержкой MCP анализировать файлы Event Trace Log в формате ETL, отвечать на вопросы об их содержимом и помогать разработчикам находить проблемы с производительностью. Благодаря этому им не придется вручную изучать огромные объемы данных трассировки.
Что такое ETW и почему с ним сложно работать
ETW (Event Tracing for Windows) – это встроенная в Windows система трассировки, которая используется для сбора подробных данных о производительности и работе операционной системы. Она позволяет фиксировать диагностическую информацию о процессах, потоках, загрузке процессора и других компонентах. При этом ETW остается достаточно сложным инструментом. Для работы с файлами трассировки ETL обычно требуются специальные знания и значительные усилия, а анализ выполняется с помощью таких программ, как Windows Performance Analyzer. Новые инструменты Microsoft должны упростить этот процесс. По словам компании, ETW MCP позволит разработчикам взаимодействовать с трассировками с помощью запросов на естественном языке.
ИИ-модель не получает необработанные события
При этом ИИ-модель не получит прямого доступа к необработанным событиям трассировки. MCP-сервер будет предоставлять только структурированный доступ в режиме чтения к уже обработанной информации. Разработчики смогут спрашивать, какие процессы использовали больше всего процессорного времени, сравнивать несколько трассировок, анализировать активность потоков и находить критические пути выполнения. Основная обработка больших объемов данных будет выполняться локально с помощью существующего движка Microsoft TraceProcessor, а ИИ-ассистент сосредоточится на интерпретации результатов.
Microsoft подчеркивает, что такой подход имеет принципиальное значение. Ответы ИИ-ассистента будут основываться на реальных данных трассировки, а не на предположениях, сформированных моделью. Это снижает риск ошибочных выводов, которые в некоторых случаях могут привести к серьезным и трудноустранимым проблемам. Поскольку MCP-сервер возвращает только структурированные результаты анализа трассировки, разработчики также смогут запрашивать подтверждающие данные для выводов, сделанных ИИ-ассистентом. Таким образом, результаты анализа можно будет проверить, а не принимать исключительно на доверии.
Сценарии использования
По словам Microsoft, новый инструмент можно использовать в разных сценариях. Разработчики смогут быстрее находить узкие места при расследовании снижения производительности. Инженеры, работающие с оборудованием и драйверами, смогут анализировать загрузку процессора и проблемы, связанные с энергопотреблением. Организации также смогут встроить автоматизированный анализ трассировок в тестовые конвейеры и среды непрерывной интеграции. Поскольку сервер работает без графического интерфейса, с ним можно работать исключительно через терминал, а также интегрировать в сценарии и другие автоматизированные рабочие процессы.
Возможности предварительной версии
В текущей предварительной версии ETW MCP доступны анализ загрузки процессора, фильтрация процессов, агрегация данных, сравнение нескольких трассировок, анализ с учетом отладочных символов и поиск критических путей выполнения. Инструмент также поддерживает определение областей интереса – отдельных временных участков трассировки, которые разработчик хочет изучить подробнее. Это упрощает сравнение конкретных этапов выполнения программы в нескольких трассировках.
Основные возможности предварительной версии представлены в таблице:
| Возможность | Что делает |
|---|---|
| Обработка трассировок | Загружает файл ETL в сессию, доступную для запросов, с помощью TraceProcessor и DataLayer |
| Запросы, фильтрация и агрегация | Возвращает ограниченные и структурированные результаты без передачи ИИ-модели всего потока необработанных событий |
| Сравнение нескольких трассировок | Позволяет сравнивать базовую и тестовую трассировки и анализировать различия в рамках одного диалога |
| Анализ с учетом символов | Поддерживает символы вида module!function, WPP и символы управляемого кода при настроенных путях к символам |
| Анализ критического пути | Использует те же сигнатуры CPA, которые Microsoft поставляет во внешнем NuGet-пакете XPerf |
| Области интереса | Позволяет оценивать и сравнивать именованные временные интервалы в нескольких трассировках |
ETW MCP и WPA MCP
Согласно Microsoft, ETW MCP дополнит будущую интеграцию WPA MCP. ETW MCP ориентирован на автоматизацию и работу в средах без графического интерфейса, тогда как WPA MCP предложит похожие возможности анализа с помощью ИИ непосредственно в Windows Performance Analyzer. Этот вариант будет удобнее для пользователей, которые предпочитают работать с графическим интерфейсом.

В интерфейсе Windows Performance Analyzer появляется отдельная кнопка запуска GitHub Copilot CLI. Диалог с ИИ-ассистентом открывается в панели рядом с окном анализа трассировки, поэтому переключаться между программами не требуется.

Поведение MCP-сервера настраивается в разделе Settings. Там отображается состояние сервера, число доступных инструментов и параметр автоматического запуска вместе с WPA, а также отдельные настройки Copilot CLI.

Как и в случае с другими ИИ-инструментами для разработчиков, Microsoft предупреждает, что ответы больших языковых моделей следует воспринимать как рекомендации, а не как окончательные выводы. Разработчикам советуют проверять результаты по исходным данным трассировки и задавать дополнительные вопросы, чтобы подтвердить анализ, выполненный ИИ-ассистентом.
Как получить
Предварительная версия ETW MCP уже доступна в виде NuGet-пакета Microsoft.Windows.EventTracing.MCP. Microsoft собирает отзывы разработчиков о качестве запросов, поддерживаемых сценариях, производительности при работе с крупными трассировками и дополнительных возможностях анализа. Компания также подтвердила, что в будущих версиях инструмент получит новые улучшения и более тесную интеграцию со всем набором Windows Performance Toolkit.