TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.75K subscribers
Post #2233 2.61K
День 1848. #ЧтоНовенького
Новые Метрики
ASP.NET Core и Панели Grafana в .NET 8.
Метрики - это числовые измерения, которые с течением времени сообщают диагностические данные о вашем приложении. В .NET 8 добавлены несколько полезных метрик:
- Количество и продолжительность HTTP-запросов
- Количество активных HTTP-запросов
- Результаты сопоставления маршрутов
- Данные об ограничении трафика и продолжительности очереди
- Использование SignalR
- Низкоуровневое соединение и использование TLS от Kestrel
- Диагностика обработки ошибок
и другие.

Например, продолжительность обработки каждого HTTP-запроса записывается в метрике http.server.request.duration. Такие инструменты, как .NET OpenTelemetry SDK, затем могут быть настроены для экспорта данных метрик в хранилище телеметрии, например Prometheus или Azure Monitor. Метрики являются частью стандарта OpenTelemetry, и все современные инструменты поддерживают их.

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

Использование метрик
Встроенные метрики ASP.NET Core записываются автоматически. Как вы будете использовать эти показатели, зависит от вас. Рассмотрим некоторые из доступных вариантов.

Панель мониторинга .NET Aspire
Имеет простой и удобный UI для просмотра структурированных журналов, трассировок и метрик. Приложения Aspire автоматически настраиваются для отправки данных телеметрии на панель управления во время разработки. Пользовательский интерфейс Aspire включает фильтры метрик. Фильтрация возможна с использованием мощной функции метрик: атрибутов.

Каждое записываемое значение метрики помечается метаданными, называемыми атрибутами. Например, http.server.request.duration записывает продолжительность HTTP-запроса вместе с атрибутами этого запроса: адрес сервера, метод HTTP, сопоставленный маршрут, код состояния ответа и т. д. Затем можно отфильтровать атрибуты, чтобы получить нужные данные:
- Продолжительность обработки запроса к определённой конечной точке.
- Количество запросов с кодами ответа HTTP 4xx.
- Количество посетителей, использующих HTTP/1.1 и HTTP/2.
и т.п.

Панели мониторинга ASP.NET Core Grafana
Grafana — мощный инструмент с открытым исходным кодом для создания расширенных информационных панелей и оповещений. Grafana — хороший выбор для мониторинга приложений, развёрнутых в рабочей среде, а панель мониторинга даёт представление о работоспособности и использовании приложений в режиме реального времени. Однако для настройки качественных информационных панелей требуется время. В рамках добавления метрик в .NET 8 команда .NET создала готовые информационные панели, предназначенные для встроенных метрик ASP.NET Core.

Панели мониторинга ASP.NET Core Grafana доступны для загрузки на сайте grafana.com. Вы можете использовать панель мониторинга как есть или дополнительно настроить её для создания решения, адаптированного к вашим потребностям.

А вот пример приложения, использующего метрики.

Кроме того
- Метрики не ограничиваются тем, что встроено в .NET. Вы можете создавать собственные метрики для своих приложений.
- dotnet-counters — инструмент командной строки, который может просматривать текущие метрики для приложений .NET Core по запросу. Он не требует настройки, что делает его полезным для поиска проблем или проверки работы метрик.
- Вы можете использовать метрики в модульных тестах.

Источник: https://devblogs.microsoft.com/dotnet/introducing-aspnetcore-metrics-and-grafana-dashboards-in-dotnet-8/
  • 👍 10
More from @netdeveloperdiary
  1. Oct 8, 2026День 2808. #Карьера 5 Навыков, Которые Помогут Быстрее Стать Сеньором. Начало В ИТ есть се…
  2. Oct 7, 2026День 2807. #ЗаметкиНаПолях Типы Коллекций в .NET, Которые Стоит Попробовать. Окончание Нач…
  3. Oct 6, 2026🦈 Открытое собеседование на Middle C# | 6 октября, 19:00 МСК Приглашаем на открытое собес…
  4. Oct 6, 2026День 2806. #ЗаметкиНаПолях Типы Коллекций в .NET, Которые Стоит Попробовать. Начало Больши…
  5. Oct 5, 2026День 2805. #ЧтоНовенького #NET11 Аргументы в Выражениях Коллекций в C#15 В C#15 реализован…
  6. Oct 4, 2026День 2804. #ВопросыНаСобеседовании Марк Прайс предложил свой набор из 60 вопросов (как тех…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →