SlideShare a Scribd company logo
Using microsoft application insights to implement a build, measure, learn loop
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 (20)

PDF
Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200
Karl Ots
 
PDF
CloudBrew 2017 - Security + DevOps + Azure = Awesomeness
Karl Ots
 
PDF
When PaaS hits the fan: monitoring advanced Azure PaaS workloads in an enterp...
Karl Ots
 
PPTX
SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil Manvar
Sencha
 
PDF
Deployment Automation in de praktijk
Delta-N
 
PPTX
Power Apps for developers
Mohamed Ashiq Faleel
 
PDF
Continuous Delivery en Tools
Delta-N
 
PDF
From Gates to Guardrails: Alternate Approaches to Product Security
Jason Chan
 
PPTX
Splitting the Check on Compliance and Security
Jason Chan
 
PDF
Monitoring your API
Andrés F Vargas
 
PPTX
Democratize development with Microsoft Power Apps and AI builder
Venkatarangan Thirumalai
 
PDF
SOASTA CloudTest Lite
Fred Beringer
 
PDF
The Most Common Errors That Aren’t Caught
Nordic APIs
 
PDF
Continuous Everything @ dotnet cologne 2019
Tobias Hoppenthaler
 
PDF
Grokking TechTalk #19: Software Development Cycle In The International Moneta...
Grokking VN
 
PDF
The New & Improved Confluence Server and Data Center
Atlassian
 
PPTX
Programming proxies to do what we need so we don't have to talk to the networ...
Lori MacVittie
 
PPTX
Salesforce AppExchange Superhero North England User Group 2nd july
Richard Clark
 
PPTX
Power Platform Governance
Daniel Laskewitz
 
PDF
Careful - APIs Inside: Testing and Monitoring for App Development
3scale
 
Monitoring advanced Azure PaaS workloads in the enterprise - Level: 200
Karl Ots
 
CloudBrew 2017 - Security + DevOps + Azure = Awesomeness
Karl Ots
 
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
Sencha
 
Deployment Automation in de praktijk
Delta-N
 
Power Apps for developers
Mohamed Ashiq Faleel
 
Continuous Delivery en Tools
Delta-N
 
From Gates to Guardrails: Alternate Approaches to Product Security
Jason Chan
 
Splitting the Check on Compliance and Security
Jason Chan
 
Monitoring your API
Andrés F Vargas
 
Democratize development with Microsoft Power Apps and AI builder
Venkatarangan Thirumalai
 
SOASTA CloudTest Lite
Fred Beringer
 
The Most Common Errors That Aren’t Caught
Nordic APIs
 
Continuous Everything @ dotnet cologne 2019
Tobias Hoppenthaler
 
Grokking TechTalk #19: Software Development Cycle In The International Moneta...
Grokking VN
 
The New & Improved Confluence Server and Data Center
Atlassian
 
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
Richard Clark
 
Power Platform Governance
Daniel Laskewitz
 
Careful - APIs Inside: Testing and Monitoring for App Development
3scale
 

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

PPTX
DevOps > CI + CD. A web developer's introduction to Application Insights
John Garland
 
PPTX
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Igor Abade
 
PDF
Azure Application insights - An Introduction
Matthias Güntert
 
PDF
Metrics driven development 10.09.2014
Erno Aapa
 
PPTX
Don't Fly Blind - Implementing Effective Application Instrumentation with Azu...
John Garland
 
PDF
Chicago ALM User Group - Nov 2014 - Application Insights 101
Angela Dugan
 
PPTX
Application telemetry public
Lars Yde
 
PDF
Application Insights and Jupyter Notebook(Opensource) combo to analyze large ...
Sajeetharan
 
PDF
Advanced APM .NET Hands-On Lab - AppSphere16
AppDynamics
 
PPTX
Application Insights - Real time telemetry for your cross platform applications
Abhijit Jana
 
PDF
Azure Monitoring Overview
gjuljo
 
PPTX
Performance on a budget
Dimitry Ushakov
 
PDF
Mobile apps analytics by Futurice
androidaalto
 
PPTX
Building Successful Apps Using Application Telemetry and Data Driven Decision...
DevOpsDays Tel Aviv
 
PPTX
Mobile App Analytics. Why, How, What's new - Mar 2019
Dmitry Klymenko
 
PPTX
The UX Toolbelt for Developers
Sarah Dutkiewicz
 
PPTX
Performance monitoring in a DevOps World
Solidify
 
PPTX
Insights and Monitoring of SharePoint Applications
SharePoint Saturday New Jersey
 
PPTX
Build 2016 - T666 - Interactive Analytics with Application Insights
Windows Developer
 
PPTX
Knowing is Understanding: A road trip through Google analytics for Windows Ph...
blugri software + services BVBA
 
DevOps > CI + CD. A web developer's introduction to Application Insights
John Garland
 
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Igor Abade
 
Azure Application insights - An Introduction
Matthias Güntert
 
Metrics driven development 10.09.2014
Erno Aapa
 
Don't Fly Blind - Implementing Effective Application Instrumentation with Azu...
John Garland
 
Chicago ALM User Group - Nov 2014 - Application Insights 101
Angela Dugan
 
Application telemetry public
Lars Yde
 
Application Insights and Jupyter Notebook(Opensource) combo to analyze large ...
Sajeetharan
 
Advanced APM .NET Hands-On Lab - AppSphere16
AppDynamics
 
Application Insights - Real time telemetry for your cross platform applications
Abhijit Jana
 
Azure Monitoring Overview
gjuljo
 
Performance on a budget
Dimitry Ushakov
 
Mobile apps analytics by Futurice
androidaalto
 
Building Successful Apps Using Application Telemetry and Data Driven Decision...
DevOpsDays Tel Aviv
 
Mobile App Analytics. Why, How, What's new - Mar 2019
Dmitry Klymenko
 
The UX Toolbelt for Developers
Sarah Dutkiewicz
 
Performance monitoring in a DevOps World
Solidify
 
Insights and Monitoring of SharePoint Applications
SharePoint Saturday New Jersey
 
Build 2016 - T666 - Interactive Analytics with Application Insights
Windows Developer
 
Knowing is Understanding: A road trip through Google analytics for Windows Ph...
blugri software + services BVBA
 
Ad

More from Marcel de Vries (8)

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

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

  • 2. Using Microsoft Application Insights to Implement a Build, Measure, Learn Loop
  • 3. About me: Marcel de Vries [email protected] @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 [email protected]