Технічний огляд: Оптимізація коду в Application Insights для .NET

💡 Усі статті, обговорення, новини про .NET — в одному місці. Приєднуйтесь до .NET спільноти!

Оптимізація коду в Application Insights — це інструмент, призначений для аналізу продуктивності та виявлення вузьких місць у .NET-застосунках. Він надає розробникам рекомендації на рівні коду для усунення виявлених проблем.

Принцип роботи та функціональність

Інструмент інтегрується з профілювальником .NET в Application Insights для автоматичного аналізу даних трасування, зібраних під час виконання застосунку.

Основні функції:

  • Автоматичний аналіз: Система безперервно аналізує трасування профілювальника для виявлення неефективності.
  • Ідентифікація проблем: Виявляє вузькі місця, пов’язані з надмірним навантаженням на CPU та використанням пам’яті.
  • Генерація рекомендацій: На основі аналізу формуються конкретні рекомендації щодо зміни коду, які доступні на порталі Azure.

Screenshot of Code Optimizations located in the Performance blade.

Інтеграція в процес розробки

Рекомендації з Оптимізації коду можуть бути інтегровані в стандартні робочі процеси розробки:

  • Системи відстеження завдань: Рекомендації можна експортувати як робочі елементи (work items) в Azure DevOps або інші трекінг-системи.
  • Інтеграція з GitHub Copilot: Рекомендації доступні безпосередньо в середовищах розробки Visual Studio та Visual Studio Code через GitHub Copilot. Агент надає варіанти виправлення коду, що базуються на даних аналізу трасування.
  • Призначення завдань: Завдання GitHub Issues, створені на основі рекомендацій, можна призначати безпосередньо агенту GitHub Copilot для автоматизації процесу оптимізації.

Останні оновлення функціоналу

  1. Аналіз блокуючих операцій: Додано можливість ідентифікувати проблеми, що блокують виконання потоків, зокрема синхронні операції в асинхронних робочих процесах. Раніше аналіз обмежувався лише потоками, що знаходились у стані активного виконання (running).
  2. Пряме призначення завдань для GitHub Copilot: Реалізовано функцію призначення GitHub Issues агенту Copilot безпосередньо зі сторінки оптимізації коду та з вкладки аналізу збоїв (snapshot debugger) в Application Insights.
  3. Підтримка OpenTelemetry (Preview): Додано попередню версію підтримки профілювальника .NET для OpenTelemetry. Це дозволяє отримувати дані про продуктивність застосунків, що використовують OpenTelemetry, без необхідності інтеграції додаткових SDK.

Активація функціоналу

Для використання Оптимізації коду необхідно активувати профілювальник .NET для відповідного застосунку в налаштуваннях Application Insights. Для нових застосунків ця опція доступна під час початкового налаштування моніторингу.

Додаткова інформація

👍ПодобаєтьсяСподобалось2
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Підписатись на коментарі