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
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
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);
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
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