![](http://habr.habrastorage.org/post_images/d0d/cbb/380/d0dcbb3805b836ec508387e7f059be00.png)
Уже скоро технология Application Insights будет доступна широкому кругу пользователей Visual Studio Online, а если вы входите в число тех, кто получил доступ к предварительной версии, то вы сможете посмотреть на эти возможности уже сейчас.
Настройка телеметрии для приложений Windows Phone Store и Windows Store
Для того чтобы включить возможности телеметрии в вашем приложении в первую очередь нужно получить Access Key в настройках Application Insights.
Следующим шагом помощник сам выведет вам на экран инструкции о том как начать мониторинг вашего приложения, в том числе подскажет Access-Key.
Далее вам необходимо установить Nuget Package в ваше приложение:
В принципе все готово для сбора информации о работе вашего приложения.
Включаем мониторинг внутри приложения
Для того чтобы воспользоваться функциями мониторинга в вашем приложении теперь достаточно подключить область видимости и в стартовой функции приложения включить режим мониторинга:
using Microsoft.ApplicationInsights.Telemetry.WindowPhone; … App() { ClientAnalyticsSession.Default.Start("KEY00000-0000-0000-0000-000000000000"); }
Этих шагов будет достаточно для того чтобы начать получать базовые сведения о работе вашего приложения. Через 15-20 минут в панели мониторинга вы увидите данные о запусках вашего приложения:
Естественно, вы можете создавать свои собственные метрики и затем добавлять их на панель мониторинга, так как она легко настраивается:
Например, вы хотите анализировать данные о том, сколько пользователей прошли игру до конца. В обработчике этого события просто вставляем код, который регистрирует это событие в Application Insigts:
ClientAnalyticsChannel.Default.LogEvent("EndOfGame");
Если вам нужны дополнительные параметры аналитики, которые позволят осуществлять фильтрацию по некоторым параметрам, достаточно добавить измерения в свойства события. Например, мы хотим сделать фильтр, который позволит анализировать сколько пользователей прошли игру до конца на различных уровнях сложности:
var properties = new Dictionary<string, object>() { {"difficulty", currentGame.difficulty}}; ClientAnalyticsChannel.Default.LogEvent("EndOfGame", properties);
В дополнение к простым типам событий, так же можно анализировать события привязанные к времени. Например, вы хотите проанализировать, сколько времени занимает веб-запрос осуществляющийся из вашего мобильного приложения. Для этого необходимо обернуть анализируемый участок кода в контекст TimenAnalyticsEvent и вызвав функции StartTimedEvent() и End().
TimedAnalyticsEvent token = ClientAnalyticsChannel.Default.StartTimedEvent("EventName")); // ... осуществляем какую то долгую функцию в приложении ... if (/*проблема*/) token.Cancel(); else token.End(); // запись события.
Вам останется только сконфигурировать ваши информационные панели и вы получите возможность принимать аналитические решения на основе достоверной информации о работе вашего приложения.
Более подробно об этой технологии и ее возможностях вы узнаете из доклада Брайана Келлера 6 февраля на конференции ALM Summit. Напоминаем, что до конца декабря действует специальная цена. Регистрируйтесь уже сейчас чтобы получить возможность пообщаться с сотрудниками Microsoft и индустриальными экспертами на главной конференции по управлению жизненным циклом приложений!
ссылка на оригинал статьи http://habrahabr.ru/company/microsoft/blog/205020/
Добавить комментарий