SlideShare a Scribd company logo
1 of 32
Download to read offline
Using Microsoft Application
Insights to Implement a
Build, Measure, Learn Loop
About me: Marcel de Vries
mdevries@xpirit.com
@marcelv
http://fluentbytes.comXpirit
Also regional director
Agenda
• Context for application insights & continuous
delivery
• Application Insights
– Availability
– Performance
– Usage
– Diagnostics
• Conclusion
Daily Forces and the Road to Continuous X
Development
teams work using
agile
methodologies
Minimal Viable Product
• Build a minimal feature and measure it’s
usage
• Add metrics to learn if it’s useful
to invest further
• Are our assertions correct?
– Set up experiments to learn
– Use telemetry data to validate assumptions
Optimized processes
Deliver MVP’s so we can
learn what customer really
needs
Keep machines and infra as
stable as possible
Continuous
Delivery
Continuous
Build
Continuous
Test
Continuous
Deploy
Continuous
Learning
Continuous delivery cycle
9
?
“9 out of 10 times, we are flying blind”
Getting visibility
?
Is my application available?
Is my application performing?
Is my application succeeding?
What happened when things failed?
Application Insights
Performance UsageAvailability Diagnostics
Questions lead to telemetry design
What user actions
are meaningful to your
app’s business goals?
What telemetry data
will accurately track
those actions and answer
your business questions?
Note: this is different from
logging used during development
Events express telemetry design
• High-level, human readable verbs
– Typical apps track about 30 statically-named events
• Give actionable insight into user behavior:
– Example: Log what content is tapped, not the taps
• Properties/attributes for events provide second-tier data
for charting and analytics
– Example: A “resized view” event has attributes for the new
size
– Best practice: “bucket” numerical attributes into ranges
Typical Events
• App start, exit, suspend, resume
• Registration, log in, log off
• Settings changes
• Content sharing: Share charm, share to Facebook/Twitter
• In-app purchases or conversion from trial to paid app
• Error (recoverable), exception (non-recoverable)
• Media/Content apps: view, save, favorite, commented
• Commerce apps: item viewed, category viewed, search, filter, barcode scan, wish list add, item
rated, add to cart, begin/complete/abandon checkout, find store, call number
• Social apps: friend invited, invitation accepted
Adding telemetry & analytics
Analytics providers
MarkedUp Localytics
Google Analytics
Parse
Adobe Omniture Application Insights
AppFireworks
Attackpattern (uses Google)Flurry
mtiks
App Annie (HTTP API)
Typical flow with an SDK
Create account @
provider portal
Provider
backend
See results on
provider dashboard
DEMO
Getting Started with Application Insights
Performance
• Client performance
• Server performance
• Performance
counters
– You can add your own
counters via config
Diagnostics
• App insigths diagnostics help you figure out
what happened around a particular issue
• Find the events in the app insights portal
• Drill down in to events surrounding the issue
DEMO
Adding performance and diagnostics
• Page views
• Events
– You can filter, search and
group your data with properties
Adding Custom Data
// Set up some properties:
var properties = new Dictionary <string, string> {{"game", currentGame.Name}, {"difficulty", currentGame.Difficulty}};
var metrics = new Dictionary <string, double> {{"Score", currentGame.Score},
{"Opponents", currentGame.OpponentCount}};
// Send the event:
telemetry.TrackEvent("WinGame", properties, metrics);
Adding Custom Data
appInsights.trackPageView("tab1");
telemetry.TrackPageView("GameReviewPage");
// At the start of a page view:
appInsights.startTrackPage(“PageName");
// At the completion of a page view:
appInsights.stopTrackPage(“PageName",
"http://fabrikam.com/page",
properties, measurements);
JavaScript:
C#
JavaScript:
DEMO
Add custom events using SDK’s
Availability
• Check the availability of your website
• Simple: Single URL
• Complex: Upload a web test that represents
actual usage of your site
Synthetic monitors
Use of Web Test
• Set up a set of web tests to test performance of your
public facing app
– Soap Services via Proxy & Unit test
– Web Pages
• Create Load test with mix of tests representing
application usage
• Run in the cloud, by connecting to your VSO account in
team explorer
– Flip the switch & Run
DEMO
Set up Multistep Synthetic monitor
Application Insights
MVP
Build
Measure
Learn!
Optimize on building the right thing right
Summary
• Add Application Diagnostics, Usage, Performance and
Availability metrics to your application
• Data is send to your Visual Studio Online Account
• Monitoring agent for Perf & Diagnostics
• Instrument your application for Usage info
– Add custom C# or JavaScript to send the data
• App insights can be used in load test scenario’s to get
performance info
– And get more complex availability monitoring data with web tests
Further reading & Help
Xpirit Magazine in your TechDays
bag
http://fluentbytes.com
@marcelv
mdevries@Xpirit.com

More Related Content

What's hot

Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200
Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200
Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200Karl Ots
 
CloudBrew 2017 - Security + DevOps + Azure = Awesomeness
CloudBrew 2017 - Security + DevOps + Azure = AwesomenessCloudBrew 2017 - Security + DevOps + Azure = Awesomeness
CloudBrew 2017 - Security + DevOps + Azure = AwesomenessKarl Ots
 
When PaaS hits the fan: monitoring advanced Azure PaaS workloads in an enterp...
When PaaS hits the fan: monitoring advanced Azure PaaS workloads in an enterp...When PaaS hits the fan: monitoring advanced Azure PaaS workloads in an enterp...
When PaaS hits the fan: monitoring advanced Azure PaaS workloads in an enterp...Karl Ots
 
SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil Manvar
SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil ManvarSenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil Manvar
SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil ManvarSencha
 
Deployment Automation in de praktijk
Deployment Automation in de praktijkDeployment Automation in de praktijk
Deployment Automation in de praktijkDelta-N
 
Continuous Delivery en Tools
Continuous Delivery en ToolsContinuous Delivery en Tools
Continuous Delivery en ToolsDelta-N
 
From Gates to Guardrails: Alternate Approaches to Product Security
From Gates to Guardrails: Alternate Approaches to Product SecurityFrom Gates to Guardrails: Alternate Approaches to Product Security
From Gates to Guardrails: Alternate Approaches to Product SecurityJason Chan
 
Splitting the Check on Compliance and Security
Splitting the Check on Compliance and SecuritySplitting the Check on Compliance and Security
Splitting the Check on Compliance and SecurityJason Chan
 
Democratize development with Microsoft Power Apps and AI builder
Democratize development with Microsoft Power Apps and AI builderDemocratize development with Microsoft Power Apps and AI builder
Democratize development with Microsoft Power Apps and AI builderVenkatarangan Thirumalai
 
SOASTA CloudTest Lite
SOASTA CloudTest LiteSOASTA CloudTest Lite
SOASTA CloudTest LiteFred Beringer
 
The Most Common Errors That Aren’t Caught
The Most Common Errors That Aren’t CaughtThe Most Common Errors That Aren’t Caught
The Most Common Errors That Aren’t CaughtNordic APIs
 
Continuous Everything @ dotnet cologne 2019
Continuous Everything @ dotnet cologne 2019Continuous Everything @ dotnet cologne 2019
Continuous Everything @ dotnet cologne 2019Tobias Hoppenthaler
 
Grokking TechTalk #19: Software Development Cycle In The International Moneta...
Grokking TechTalk #19: Software Development Cycle In The International Moneta...Grokking TechTalk #19: Software Development Cycle In The International Moneta...
Grokking TechTalk #19: Software Development Cycle In The International Moneta...Grokking VN
 
The New & Improved Confluence Server and Data Center
The New & Improved Confluence Server and Data CenterThe New & Improved Confluence Server and Data Center
The New & Improved Confluence Server and Data CenterAtlassian
 
Programming proxies to do what we need so we don't have to talk to the networ...
Programming proxies to do what we need so we don't have to talk to the networ...Programming proxies to do what we need so we don't have to talk to the networ...
Programming proxies to do what we need so we don't have to talk to the networ...Lori MacVittie
 
Salesforce AppExchange Superhero North England User Group 2nd july
Salesforce AppExchange Superhero North England User Group 2nd julySalesforce AppExchange Superhero North England User Group 2nd july
Salesforce AppExchange Superhero North England User Group 2nd julyRichard Clark
 
Careful - APIs Inside: Testing and Monitoring for App Development
Careful - APIs Inside: Testing and Monitoring for App DevelopmentCareful - APIs Inside: Testing and Monitoring for App Development
Careful - APIs Inside: Testing and Monitoring for App Development3scale
 

What's hot (20)

Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200
Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200
Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200
 
CloudBrew 2017 - Security + DevOps + Azure = Awesomeness
CloudBrew 2017 - Security + DevOps + Azure = AwesomenessCloudBrew 2017 - Security + DevOps + Azure = Awesomeness
CloudBrew 2017 - Security + DevOps + Azure = Awesomeness
 
When PaaS hits the fan: monitoring advanced Azure PaaS workloads in an enterp...
When PaaS hits the fan: monitoring advanced Azure PaaS workloads in an enterp...When PaaS hits the fan: monitoring advanced Azure PaaS workloads in an enterp...
When PaaS hits the fan: monitoring advanced Azure PaaS workloads in an enterp...
 
SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil Manvar
SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil ManvarSenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil Manvar
SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil Manvar
 
Deployment Automation in de praktijk
Deployment Automation in de praktijkDeployment Automation in de praktijk
Deployment Automation in de praktijk
 
Power Apps for developers
Power Apps for developersPower Apps for developers
Power Apps for developers
 
Continuous Delivery en Tools
Continuous Delivery en ToolsContinuous Delivery en Tools
Continuous Delivery en Tools
 
From Gates to Guardrails: Alternate Approaches to Product Security
From Gates to Guardrails: Alternate Approaches to Product SecurityFrom Gates to Guardrails: Alternate Approaches to Product Security
From Gates to Guardrails: Alternate Approaches to Product Security
 
Splitting the Check on Compliance and Security
Splitting the Check on Compliance and SecuritySplitting the Check on Compliance and Security
Splitting the Check on Compliance and Security
 
Monitoring your API
Monitoring your APIMonitoring your API
Monitoring your API
 
Democratize development with Microsoft Power Apps and AI builder
Democratize development with Microsoft Power Apps and AI builderDemocratize development with Microsoft Power Apps and AI builder
Democratize development with Microsoft Power Apps and AI builder
 
SOASTA CloudTest Lite
SOASTA CloudTest LiteSOASTA CloudTest Lite
SOASTA CloudTest Lite
 
The Most Common Errors That Aren’t Caught
The Most Common Errors That Aren’t CaughtThe Most Common Errors That Aren’t Caught
The Most Common Errors That Aren’t Caught
 
Continuous Everything @ dotnet cologne 2019
Continuous Everything @ dotnet cologne 2019Continuous Everything @ dotnet cologne 2019
Continuous Everything @ dotnet cologne 2019
 
Grokking TechTalk #19: Software Development Cycle In The International Moneta...
Grokking TechTalk #19: Software Development Cycle In The International Moneta...Grokking TechTalk #19: Software Development Cycle In The International Moneta...
Grokking TechTalk #19: Software Development Cycle In The International Moneta...
 
The New & Improved Confluence Server and Data Center
The New & Improved Confluence Server and Data CenterThe New & Improved Confluence Server and Data Center
The New & Improved Confluence Server and Data Center
 
Programming proxies to do what we need so we don't have to talk to the networ...
Programming proxies to do what we need so we don't have to talk to the networ...Programming proxies to do what we need so we don't have to talk to the networ...
Programming proxies to do what we need so we don't have to talk to the networ...
 
Salesforce AppExchange Superhero North England User Group 2nd july
Salesforce AppExchange Superhero North England User Group 2nd julySalesforce AppExchange Superhero North England User Group 2nd july
Salesforce AppExchange Superhero North England User Group 2nd july
 
Power Platform Governance
Power Platform GovernancePower Platform Governance
Power Platform Governance
 
Careful - APIs Inside: Testing and Monitoring for App Development
Careful - APIs Inside: Testing and Monitoring for App DevelopmentCareful - APIs Inside: Testing and Monitoring for App Development
Careful - APIs Inside: Testing and Monitoring for App Development
 

Similar to Using microsoft application insights to implement a build, measure, learn loop

Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...Igor Abade
 
Engaging your Mobile App Users using Azure Mobile Engagement
Engaging your Mobile App Users using Azure Mobile EngagementEngaging your Mobile App Users using Azure Mobile Engagement
Engaging your Mobile App Users using Azure Mobile EngagementRuhani Arora
 
ShepHertz Cloud Ecosystem for Apps
ShepHertz Cloud Ecosystem for AppsShepHertz Cloud Ecosystem for Apps
ShepHertz Cloud Ecosystem for AppsShepHertz
 
App analytics
App analyticsApp analytics
App analyticsSid Shah
 
Shuvam dutta | Performance testing and engineering
Shuvam dutta | Performance testing and engineeringShuvam dutta | Performance testing and engineering
Shuvam dutta | Performance testing and engineeringShuvam Dutta
 
Performance monitoring in a DevOps World
Performance monitoring in a DevOps WorldPerformance monitoring in a DevOps World
Performance monitoring in a DevOps WorldSolidify
 
Shuvam dutta | Performance testing & engineering
Shuvam dutta | Performance testing & engineeringShuvam dutta | Performance testing & engineering
Shuvam dutta | Performance testing & engineeringShuvam Dutta
 
Opticon 2017 Decisions at Scale
Opticon 2017 Decisions at ScaleOpticon 2017 Decisions at Scale
Opticon 2017 Decisions at ScaleOptimizely
 
Overview PowerPlatform PowerApss
Overview PowerPlatform PowerApssOverview PowerPlatform PowerApss
Overview PowerPlatform PowerApssJuan Fabian
 
App analytics march2015
App analytics   march2015App analytics   march2015
App analytics march2015Sid Shah
 
Chicago ALM User Group - Nov 2014 - Application Insights 101
Chicago ALM User Group - Nov 2014 - Application Insights 101Chicago ALM User Group - Nov 2014 - Application Insights 101
Chicago ALM User Group - Nov 2014 - Application Insights 101Angela Dugan
 
Pascua Yaqui Tribe App in a day and dashboard in day
Pascua Yaqui Tribe App in a day and dashboard in dayPascua Yaqui Tribe App in a day and dashboard in day
Pascua Yaqui Tribe App in a day and dashboard in dayVishal Pawar
 
Enterprise QA and Application Testing Services
Enterprise QA and Application Testing ServicesEnterprise QA and Application Testing Services
Enterprise QA and Application Testing ServicesHemang Rindani
 
Enterprise QA and Application Testing Services
Enterprise QA and Application Testing ServicesEnterprise QA and Application Testing Services
Enterprise QA and Application Testing ServicesCygnet Infotech
 
Neev Independent Testing Services
Neev Independent Testing ServicesNeev Independent Testing Services
Neev Independent Testing ServicesNeev Technologies
 
Appmotives - Software Testing As Service
Appmotives - Software Testing As ServiceAppmotives - Software Testing As Service
Appmotives - Software Testing As ServiceKalyan Paluri
 
Leveraging Sitecore 9 features to power Digital Transformation
Leveraging Sitecore 9 features to power Digital TransformationLeveraging Sitecore 9 features to power Digital Transformation
Leveraging Sitecore 9 features to power Digital TransformationAmeex Technologies
 

Similar to Using microsoft application insights to implement a build, measure, learn loop (20)

Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
 
Engaging your Mobile App Users using Azure Mobile Engagement
Engaging your Mobile App Users using Azure Mobile EngagementEngaging your Mobile App Users using Azure Mobile Engagement
Engaging your Mobile App Users using Azure Mobile Engagement
 
ShepHertz Cloud Ecosystem for Apps
ShepHertz Cloud Ecosystem for AppsShepHertz Cloud Ecosystem for Apps
ShepHertz Cloud Ecosystem for Apps
 
App analytics
App analyticsApp analytics
App analytics
 
Shuvam dutta | Performance testing and engineering
Shuvam dutta | Performance testing and engineeringShuvam dutta | Performance testing and engineering
Shuvam dutta | Performance testing and engineering
 
Performance monitoring in a DevOps World
Performance monitoring in a DevOps WorldPerformance monitoring in a DevOps World
Performance monitoring in a DevOps World
 
QA_3.6 yrs
QA_3.6 yrsQA_3.6 yrs
QA_3.6 yrs
 
Neev QA Offering
Neev QA OfferingNeev QA Offering
Neev QA Offering
 
Shuvam dutta | Performance testing & engineering
Shuvam dutta | Performance testing & engineeringShuvam dutta | Performance testing & engineering
Shuvam dutta | Performance testing & engineering
 
Opticon 2017 Decisions at Scale
Opticon 2017 Decisions at ScaleOpticon 2017 Decisions at Scale
Opticon 2017 Decisions at Scale
 
Overview PowerPlatform PowerApss
Overview PowerPlatform PowerApssOverview PowerPlatform PowerApss
Overview PowerPlatform PowerApss
 
App analytics march2015
App analytics   march2015App analytics   march2015
App analytics march2015
 
Chicago ALM User Group - Nov 2014 - Application Insights 101
Chicago ALM User Group - Nov 2014 - Application Insights 101Chicago ALM User Group - Nov 2014 - Application Insights 101
Chicago ALM User Group - Nov 2014 - Application Insights 101
 
Pascua Yaqui Tribe App in a day and dashboard in day
Pascua Yaqui Tribe App in a day and dashboard in dayPascua Yaqui Tribe App in a day and dashboard in day
Pascua Yaqui Tribe App in a day and dashboard in day
 
Enterprise QA and Application Testing Services
Enterprise QA and Application Testing ServicesEnterprise QA and Application Testing Services
Enterprise QA and Application Testing Services
 
Enterprise QA and Application Testing Services
Enterprise QA and Application Testing ServicesEnterprise QA and Application Testing Services
Enterprise QA and Application Testing Services
 
Neev Independent Testing Services
Neev Independent Testing ServicesNeev Independent Testing Services
Neev Independent Testing Services
 
Code in the Cloud - December 8th 2014
Code in the Cloud - December 8th 2014Code in the Cloud - December 8th 2014
Code in the Cloud - December 8th 2014
 
Appmotives - Software Testing As Service
Appmotives - Software Testing As ServiceAppmotives - Software Testing As Service
Appmotives - Software Testing As Service
 
Leveraging Sitecore 9 features to power Digital Transformation
Leveraging Sitecore 9 features to power Digital TransformationLeveraging Sitecore 9 features to power Digital Transformation
Leveraging Sitecore 9 features to power Digital Transformation
 

More from Marcel de Vries

Continuous delivery with Release Management for visual Studio
Continuous delivery with Release Management for visual StudioContinuous delivery with Release Management for visual Studio
Continuous delivery with Release Management for visual StudioMarcel de Vries
 
Release management with tfs 2013
Release management with tfs 2013Release management with tfs 2013
Release management with tfs 2013Marcel de Vries
 
Cross platform native mobile app development for iOS, Android and Windows usi...
Cross platform native mobile app development for iOS, Android and Windows usi...Cross platform native mobile app development for iOS, Android and Windows usi...
Cross platform native mobile app development for iOS, Android and Windows usi...Marcel de Vries
 
Release management with tfs 2013
Release management with tfs 2013Release management with tfs 2013
Release management with tfs 2013Marcel de Vries
 
Leveraging the azure cloud for your mobile apps
Leveraging the azure cloud for your mobile appsLeveraging the azure cloud for your mobile apps
Leveraging the azure cloud for your mobile appsMarcel de Vries
 
Developing i phone, android and windows phone 7 applications with c#
Developing i phone, android and windows phone 7 applications with c#Developing i phone, android and windows phone 7 applications with c#
Developing i phone, android and windows phone 7 applications with c#Marcel de Vries
 
Cross platform mobile developement introduction
Cross platform mobile developement   introductionCross platform mobile developement   introduction
Cross platform mobile developement introductionMarcel de Vries
 
Mobile en cloud wat is de impact op ons huidige it ecosysteem
Mobile en cloud wat is de impact op ons huidige it ecosysteemMobile en cloud wat is de impact op ons huidige it ecosysteem
Mobile en cloud wat is de impact op ons huidige it ecosysteemMarcel de Vries
 

More from Marcel de Vries (8)

Continuous delivery with Release Management for visual Studio
Continuous delivery with Release Management for visual StudioContinuous delivery with Release Management for visual Studio
Continuous delivery with Release Management for visual Studio
 
Release management with tfs 2013
Release management with tfs 2013Release management with tfs 2013
Release management with tfs 2013
 
Cross platform native mobile app development for iOS, Android and Windows usi...
Cross platform native mobile app development for iOS, Android and Windows usi...Cross platform native mobile app development for iOS, Android and Windows usi...
Cross platform native mobile app development for iOS, Android and Windows usi...
 
Release management with tfs 2013
Release management with tfs 2013Release management with tfs 2013
Release management with tfs 2013
 
Leveraging the azure cloud for your mobile apps
Leveraging the azure cloud for your mobile appsLeveraging the azure cloud for your mobile apps
Leveraging the azure cloud for your mobile apps
 
Developing i phone, android and windows phone 7 applications with c#
Developing i phone, android and windows phone 7 applications with c#Developing i phone, android and windows phone 7 applications with c#
Developing i phone, android and windows phone 7 applications with c#
 
Cross platform mobile developement introduction
Cross platform mobile developement   introductionCross platform mobile developement   introduction
Cross platform mobile developement introduction
 
Mobile en cloud wat is de impact op ons huidige it ecosysteem
Mobile en cloud wat is de impact op ons huidige it ecosysteemMobile en cloud wat is de impact op ons huidige it ecosysteem
Mobile en cloud wat is de impact op ons huidige it ecosysteem
 

Using microsoft application insights to implement a build, measure, learn loop

  • 1.
  • 2. Using Microsoft Application Insights to Implement a Build, Measure, Learn Loop
  • 3. About me: Marcel de Vries mdevries@xpirit.com @marcelv http://fluentbytes.comXpirit Also regional director
  • 4. Agenda • Context for application insights & continuous delivery • Application Insights – Availability – Performance – Usage – Diagnostics • Conclusion
  • 5. Daily Forces and the Road to Continuous X Development teams work using agile methodologies
  • 6. Minimal Viable Product • Build a minimal feature and measure it’s usage • Add metrics to learn if it’s useful to invest further • Are our assertions correct? – Set up experiments to learn – Use telemetry data to validate assumptions
  • 7. Optimized processes Deliver MVP’s so we can learn what customer really needs Keep machines and infra as stable as possible
  • 10. “9 out of 10 times, we are flying blind”
  • 11. Getting visibility ? Is my application available? Is my application performing? Is my application succeeding? What happened when things failed?
  • 13. Questions lead to telemetry design What user actions are meaningful to your app’s business goals? What telemetry data will accurately track those actions and answer your business questions? Note: this is different from logging used during development
  • 14. Events express telemetry design • High-level, human readable verbs – Typical apps track about 30 statically-named events • Give actionable insight into user behavior: – Example: Log what content is tapped, not the taps • Properties/attributes for events provide second-tier data for charting and analytics – Example: A “resized view” event has attributes for the new size – Best practice: “bucket” numerical attributes into ranges
  • 15. Typical Events • App start, exit, suspend, resume • Registration, log in, log off • Settings changes • Content sharing: Share charm, share to Facebook/Twitter • In-app purchases or conversion from trial to paid app • Error (recoverable), exception (non-recoverable) • Media/Content apps: view, save, favorite, commented • Commerce apps: item viewed, category viewed, search, filter, barcode scan, wish list add, item rated, add to cart, begin/complete/abandon checkout, find store, call number • Social apps: friend invited, invitation accepted
  • 16. Adding telemetry & analytics
  • 17. Analytics providers MarkedUp Localytics Google Analytics Parse Adobe Omniture Application Insights AppFireworks Attackpattern (uses Google)Flurry mtiks App Annie (HTTP API)
  • 18. Typical flow with an SDK Create account @ provider portal Provider backend See results on provider dashboard
  • 19. DEMO Getting Started with Application Insights
  • 20. Performance • Client performance • Server performance • Performance counters – You can add your own counters via config
  • 21. Diagnostics • App insigths diagnostics help you figure out what happened around a particular issue • Find the events in the app insights portal • Drill down in to events surrounding the issue
  • 23. • Page views • Events – You can filter, search and group your data with properties Adding Custom Data // Set up some properties: var properties = new Dictionary <string, string> {{"game", currentGame.Name}, {"difficulty", currentGame.Difficulty}}; var metrics = new Dictionary <string, double> {{"Score", currentGame.Score}, {"Opponents", currentGame.OpponentCount}}; // Send the event: telemetry.TrackEvent("WinGame", properties, metrics);
  • 24. Adding Custom Data appInsights.trackPageView("tab1"); telemetry.TrackPageView("GameReviewPage"); // At the start of a page view: appInsights.startTrackPage(“PageName"); // At the completion of a page view: appInsights.stopTrackPage(“PageName", "http://fabrikam.com/page", properties, measurements); JavaScript: C# JavaScript:
  • 25. DEMO Add custom events using SDK’s
  • 27. • Check the availability of your website • Simple: Single URL • Complex: Upload a web test that represents actual usage of your site Synthetic monitors
  • 28. Use of Web Test • Set up a set of web tests to test performance of your public facing app – Soap Services via Proxy & Unit test – Web Pages • Create Load test with mix of tests representing application usage • Run in the cloud, by connecting to your VSO account in team explorer – Flip the switch & Run
  • 29. DEMO Set up Multistep Synthetic monitor
  • 31. Summary • Add Application Diagnostics, Usage, Performance and Availability metrics to your application • Data is send to your Visual Studio Online Account • Monitoring agent for Perf & Diagnostics • Instrument your application for Usage info – Add custom C# or JavaScript to send the data • App insights can be used in load test scenario’s to get performance info – And get more complex availability monitoring data with web tests
  • 32. Further reading & Help Xpirit Magazine in your TechDays bag http://fluentbytes.com @marcelv mdevries@Xpirit.com