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

Увеличить
Первый блок — “Response Time and Load vs. Dependencies” – показывает скорость запросов, среднюю скорость запроса и различные зависимости. Как и на вкладке Availability, у этого блока есть два графика – за выбранный период и за 24 часа.
Следующий блок — “Response Time Distribution” – показывает график с распределением времени, затраченного на ответы. С этим у нас все хорошо – большинство запросов заняло меньше <50 мс.

Увеличить
Самые медленные запросы удостоились в AI отдельного блока — “Top 10 Slowest Requests by Issue Count». Особым богатством информации этот блок не располагает, но позволяет увидеть, какая страница/представление загружалась дольше всего. Обратите внимание на MVC View rendering – сам рендеринг элементов был не такой уж и долгий, основное время ушло на загрузку.

Увеличить
Еще один блок — “Average Instance Count” – показывает среднее количество серверов. Если у вас ферма – будет показывать распределение по количеству. В нашем случае это один сервер, и извлечь пользу из этого факта не получится.
Блок “Exceptions Rate” — один из наиболее интересных. Он показывает распределение по количеству исключений на одну секунду.

Увеличить
Как видим, что-то очень активно происходило — возникали исключения. На более подробную информацию ведет ссылка Exceptions Rate – по нажатию перейдем на кастомизированную под эту информацию вкладку Diagnostics. Там же есть кнопка Exception Events, которая и выведет нам все исключения, произошедшие во время выполнения приложения. Все эти данные можно отсортировать, например, по классу исключения.
Нажатие на исключение вызовет еще одно окно с информацией об этом исключении, и, внимание, ссылкой на файл IntelliTrace — история каждого исключения сохраняется.

Увеличить
Оставшиеся блоки – это информация о ресурсах сервера – CPU, сети, памяти – выделенных для приложения. Причину странного поведения приложения или даже сервера не всегда можно обнаружить сразу (мысль о проверке логов или Task Manager может придти слишком поздно), поэтому распределение по нагрузке может показать полезные аномалии.

Каждый из блоков имеет название, при нажатии на котором происходит переход на настроенную вкладку Diagnostics. Например, если вы обратили внимание на аномалию с памятью на сервере, то это стоит того, чтобы проверить эту вкладку – возможно, у вас произошло Memory Event. Каждый такой Memory Event будет иметь файл дампа памяти, по которому можно определить, что послужило причиной такого поведения.
Переходим на следующую вкладку – Feature Usage.
Features
Эта вкладка зависит от того, настроили ли вы свой код телеметрии с помощью Telemetry SDK. Это также рассмотрим в следующих статьях, сейчас обзорно посмотрим, как это работает.
Телеметрия делится на определенное количество фич. Первая фича, Top Pages, показывает, каким образом пользователи используют приложение, куда ходят и как часто.

Увеличить
Второй блок, Relative % of Sessions, показывает распределение количества запросов к разным секциям сайта в рамках сессии (периода нахождения пользователя на сайте).

Увеличить
Вторая фича – Page Views – показывает иерархию запросов по различным страницам, включая структуру URL и почасовую разбивку.

Увеличить
Тут можно посмотреть по разным страницам дополнительную информацию: среднее количество уникальных пользователей, количество сессий и так далее.

Увеличить
Внутри Page Views есть секция DETAILS — почасовая разбивка информации по посещениям.

Увеличить
Фича Events содержит в себе определяемые разработчиком события, которые нужно логировать и показывать в AI. Фича Event Insights связана напрямую с Events и показывает расширенную информацию по событиям.
Фича Slowest Requests показывает среднее время загрузки различных страниц.

Увеличить
Это что касается Features (фич). Напомню, что вкладка Usage опирается уже на действия разработчика, и разработчик вправе взаимодействовать с AI в этом аспекте так, как ему это требуется. Переходим к следующей секции USAGE – Users.

Эта секция посвящена людям-клиентам. Как люди используют приложение, сколько уникальных посещений, сколько посещений, и, что самое главное, что делают люди и где они это делают.

Увеличить
Секция эта большая, наполненная полезными данными. График User Frequency показывает время, которое проходит между тем, как уже заходивший пользователь ушел, и тем, когда он вновь зашел на ваш сайт/приложение. Если это внутренний сайт для сотрудников, можно увидеть, что с ними все хорошо – они возвращаются на этот сайт в течение дня.

Увеличить
График New vs. Returning показывает процент новых посетителей и возвратившихся.

Увеличить
Engagement Level – это распределение активностей на сессию. Активность – это когда человек куда-то ходит в процессе, а не находится на одной странице.

Увеличить
Следующий пункт – это Authenticated Active Users. Показывает то же самое, что и предыдущий пункт, но для аутентифицировавшихся пользователей. Логика зависит от Telemetry SDK и разработчика.
Пункт Loyalty показывает за определенное время динамику лояльности пользователей – сколько из них пришло первый раз, сколько из этих пришедших пришло второй раз, много раз, длительность сессий, и так далее.

Увеличить
Аналогично с пунктом Environment – без Telemetry SDK новых данных не будет. Если Features – это про сайт, Users – про людей, то Environment – это про то, что людей и сайт связывает – та экосистема, которая окружает любого пользователя, и которая может дать ценные сведения аналитику: операционная система, браузер, тип устройства, реферрал (если пользователь пришел по ссылке с чужого сайта), язык, разрешение дисплея и так далее. Порой обнаруживаются интересные детали – например, может обнаружится, что при планировании отбросили разрешения экрана до 1280х640, но оказалось, что среди пользователей это до сих пор популярно (пример надуман).

Увеличить
Если интересна разбивка по версиям конкретной системы – все доступно при нажатии на название ОС.

Увеличить
В Screen Resolutions доступны разрешения экрана.

Увеличить
Browsers сделаны аналогично операционным системам – иерархия название браузера->версия.

Увеличить

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

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

Увеличить
Languages – язык, который прописан в запросах от пользователей. Полезно, когда нам нужно понять, на какой из Language Pack для нашего проекта нужно сконцентрировать особое внимание.

Увеличить
Резюме
Application Insights выглядит интересным инструментом, который может стать неплохим помощником для разработчиков, работающих над проектами совершенно разного уровня – от локальных или интранет-приложений до глобальных корпоративных проектов. Учитывая тот факт, что AI бесплатен для VSO, в котором меньше пяти пользователей, этот инструмент обязательно нужно попробовать – вдруг именно его не хватает в вашем повседневном наборе разработчика.