Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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
– Usag...
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 fu...
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 happene...
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...
Events express telemetry design
• High-level, human readable verbs
– Typical apps track about 30 statically-named events
•...
Typical Events
• App start, exit, suspend, resume
• Registration, log in, log off
• Settings changes
• Content sharing: Sh...
Adding telemetry & analytics
Analytics providers
MarkedUp Localytics
Google Analytics
Parse
Adobe Omniture Application Insights
AppFireworks
Attackpatt...
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 th...
DEMO
Adding performance and diagnostics
• Page views
• Events
– You can filter, search and
group your data with properties
Adding Custom Data
// Set up some prope...
Adding Custom Data
appInsights.trackPageView("tab1");
telemetry.TrackPageView("GameReviewPage");
// At the start of a page...
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...
Use of Web Test
• Set up a set of web tests to test performance of your
public facing app
– Soap Services via Proxy & Unit...
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 y...
Further reading & Help
Xpirit Magazine in your TechDays
bag
http://fluentbytes.com
@marcelv
mdevries@Xpirit.com
Using microsoft application insights to implement a build, measure, learn loop
Upcoming SlideShare
Loading in …5
×

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

3,297 views

Published on

  • Be the first to comment

  • Be the first to like this

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

  1. 1. Using Microsoft Application Insights to Implement a Build, Measure, Learn Loop
  2. 2. About me: Marcel de Vries mdevries@xpirit.com @marcelv http://fluentbytes.comXpirit Also regional director
  3. 3. Agenda • Context for application insights & continuous delivery • Application Insights – Availability – Performance – Usage – Diagnostics • Conclusion
  4. 4. Daily Forces and the Road to Continuous X Development teams work using agile methodologies
  5. 5. 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
  6. 6. Optimized processes Deliver MVP’s so we can learn what customer really needs Keep machines and infra as stable as possible
  7. 7. Continuous Delivery Continuous Build Continuous Test Continuous Deploy Continuous Learning
  8. 8. Continuous delivery cycle 9 ?
  9. 9. “9 out of 10 times, we are flying blind”
  10. 10. Getting visibility ? Is my application available? Is my application performing? Is my application succeeding? What happened when things failed?
  11. 11. Application Insights Performance UsageAvailability Diagnostics
  12. 12. 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
  13. 13. 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
  14. 14. 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
  15. 15. Adding telemetry & analytics
  16. 16. Analytics providers MarkedUp Localytics Google Analytics Parse Adobe Omniture Application Insights AppFireworks Attackpattern (uses Google)Flurry mtiks App Annie (HTTP API)
  17. 17. Typical flow with an SDK Create account @ provider portal Provider backend See results on provider dashboard
  18. 18. DEMO Getting Started with Application Insights
  19. 19. Performance • Client performance • Server performance • Performance counters – You can add your own counters via config
  20. 20. 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
  21. 21. DEMO Adding performance and diagnostics
  22. 22. • 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);
  23. 23. 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:
  24. 24. DEMO Add custom events using SDK’s
  25. 25. Availability
  26. 26. • Check the availability of your website • Simple: Single URL • Complex: Upload a web test that represents actual usage of your site Synthetic monitors
  27. 27. 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
  28. 28. DEMO Set up Multistep Synthetic monitor
  29. 29. Application Insights MVP Build Measure Learn! Optimize on building the right thing right
  30. 30. 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
  31. 31. Further reading & Help Xpirit Magazine in your TechDays bag http://fluentbytes.com @marcelv mdevries@Xpirit.com

×