SlideShare a Scribd company logo
What is going on?
Application Diagnostics on Azure
Maarten Balliauw
@maartenballiauw
Agenda
What is going on?
Application Insights
the service
the developer side (SDK)
Application Insights Analytics
What is going on?
Log all the things!
System.Diagnostics.Trace.TraceInformation(
"Something happened");
System.Diagnostics.Trace.TraceWarning(
"Error! " + ex.Message);
And here’s a typical log...
App.exe [12:13:03:985] Information: 0 : Customer address updated.
App.exe [12:13:04:011] Error: 8 : System.NullReferenceException occurred. Value
can not be null.
App.exe [12:13:04:567] Information: 0 : Machine policy value 'Debug' is 0
App.exe [12:13:04:569] Verbose: 9 : ******* RunEngine
******* Action:
******* CommandLine: **********
App.exe [12:13:04:578] Information: 9 : Entered CheckResult()
App.exe [12:13:04:689] Debug: 0 : Created. Req=0, Ret=8, Font: Req=null
Does this help troubleshooting? Improve the application? Analyze trends?
No.
Log files suck.
Just stupid string data
Typical log file has no “context”
Typical log file has no correlation
Log files do not measure CPU, memory, I/O, ...
How to get data off our machines?
How to report/analyze?
Log files suck.
Just stupid string data
Typical log file has no “context”
Typical log file has no correlation
Log files do not measure CPU, memory, I/O, ...
How to get data off our machines?
How to report/analyze?
Semantic Logging
(e.g. ETW, Serilog, ...)
Log files suck.
Just stupid string data
Typical log file has no “context”
Typical log file has no correlation
Log files do not measure CPU, memory, I/O, ...
How to get data off our machines?
How to report/analyze?
Windows Server tooling,
NewRelic, PRTG, SNMP, ...
Log files suck.
Just stupid string data
Typical log file has no “context”
Typical log file has no correlation
Log files do not measure CPU, memory, I/O, ...
How to get data off our machines?
How to report/analyze?
Vendor tooling, NewRelic, PRTG,
SNMP, ...
Log files suck.
Just stupid string data
Typical log file has no “context”
Typical log file has no correlation
Log files do not measure CPU, memory, I/O, ...
How to get data off our machines?
How to report/analyze? Splunk, LogStash, Kibana, ...
Analytics suck!
Either use vendor tooling
What with x-plat deployments?
Either build it ourselves
Lots of components, management overhead, ...
All we wanted was logging and correlation...
Application Insights
Application Insights
”Application Insights is an extensible Application Performance
Management (APM) service for web developers on multiple
platforms.”
Application Insights
Azure Service + Library/SDK
Solves “where to store”, “how to ship”, “how to analyze”
Enriches data with telemetry
Correlates data (e.g. client + server + dependency/DB/...)
Allows structured logging
Allows rich querying, alerting
Works for many, many platforms and languages
Web, Windows, Xamarin, any application type really
.NET, Java, JavaScript, Objective-C, PHP, Python, Ruby, ...
Docker (host and container)
Application Insights
Getting Started
DEMO
Do I have to run on Azure?
REST API to send data to
Various tools and SDK’s to collect data specific to language/platform
https://docs.microsoft.com/en-us/azure/application-insights/app-insights-platforms
docker run -v
/var/run/docker.sock:/docker.sock -d
microsoft/applicationinsights
ikey=000000-1111-2222-3333-444444444
IIS Docker host and containers
Application Insights
– the service
Application Insights
Let’s focus on this
part for a bit.
Monitoring, alerting,
exporting
DEMO
Input, processing, output
DATA INGESTION
Performance Counters
Requests (both server/client side)
Traces
Exceptions
Dependencies
Custom Metrics & Events
...
CAPABILITIES
Monitoring
Alerting
Querying
Exporting
Application Insights
– the developer side
Application Insights
Let’s focus on this
part for a bit.
Data being collected
AUTOMATICALLY
Performance Counters
Requests (both server/client side)
Traces
Exceptions
Dependencies
Custom Metrics & Events
...
ENRICH MANUALLY
Better tracing (semantic logging!)
Events
Metrics
Exceptions
Telemetry pipeline
...
Better tracing
Don’t do stupid strings.
System.Diagnostics.Trace is nice, but also not nice.
Do semantic logging!
Serilog, .NET Core logging have an Application Insights sink
All else: write a sink or log directly to TelemetryClient.Current
Better tracing
DEMO
Events and Metrics
Send custom events and metrics
Name of event/metric + a value
Events – help find how the application is used and can be optimized
User resized column in a grid
User logged in
User clicked “Share”
...
Metrics – help measuring quantifyable data
# Items in shopping cart
...
Events and Metrics
DEMO
Exceptions
Exceptions are unpleasant.
How to make them more pleasant?
Stack traces? MiniDump?
Exceptions
DEMO
Snapshots! (MiniDump)
NuGet package
MinidumpUploader.exe
separate process which monitors snapshot requests
SnapshotHolder_x64.exe
creates a shadow process in 10-20ms, captures the minidump, returns it to
MinidumpUploader.exe
https://docs.microsoft.com/en-us/azure/application-insights/app-insights-
snapshot-debugger
Enriching telemetry
Why?
Enriching telemetry – adding properties to all data
Obfuscating telemetry – GDPR, sensitive data, ...
How?
Directly adding data on TelemetryClient.Current
Using the telemetry pipeline (middlewares on sending data to AI service)
https://blog.maartenballiauw.be/post/2017/01/31/application-insights-telemetry-processors.html
Enriching telemetry
DEMO
Application Insights
Analytics
Application Insights Analytics
Former MS-internal tool “Kusto”
Near-realtime log ingestion and analysis
Lets you run custom queries
requests
| where timestamp > ago(24h)
| summarize count() by client_CountryOrRegion
| top 10 by count_
| render piechart
Queries over logs!
Input dataset
traces
customEvents
pageViews
requests
dependencies
exceptions
availabilityResults
customMetrics
performanceCounters
browserTimings
| Operators
where
count
project
join
limit
order
| Renderer
table
chart (bar, pie, time, area, scatter)
https://docs.microsoft.com/en-us/azure/application-insights/app-insights-analytics-reference
Smart Detection
Uses Application Insights Analytics data and searches for trends and anomalies
Potential memleaks – memory increase
Increase in specific exceptions
Abnormal rise in failed requests
...
Each detection comes with a query!
Application Insights
Analytics
DEMO
What else is there?
Other client types (mobile, Java, ...)
Sampling our data (in portal)
Do we need all data? Or just data that is representative enough?
Release annotations
Show a marker in the timeline when a release happens
https://docs.microsoft.com/en-us/azure/application-insights/app-insights-annotations
Profiler
Preview that I can’t get to work, but should do profiling when interesting things
happen
https://docs.microsoft.com/en-us/azure/application-insights/app-insights-profiler
Conclusion
Conclusion
Logging sucks
Application Insights
the service – collect and ingest, analyze, different views
the developer side (SDK) – enrich, customize, …
Application Insights Analytics
rich querying over all data
base for automated insights/smart detection
Thank you!
Please do not forget to evaluate the
session before you leave by using our
Lollipolls!
http://blog.maartenballiauw.be
@maartenballiauw

More Related Content

PPTX
ConFoo - Exploring .NET’s memory management – a trip down memory lane
PDF
Going serverless with azure functions
PPTX
NashTech - Azure Application Insights
PDF
Mastering Azure Monitor
PPTX
Monitor Cloud Resources using Alerts & Insights
PPTX
Azure Container Services​
PPTX
Azure Container Services​
PPTX
Monitoring Containerized Micro-Services In Azure
ConFoo - Exploring .NET’s memory management – a trip down memory lane
Going serverless with azure functions
NashTech - Azure Application Insights
Mastering Azure Monitor
Monitor Cloud Resources using Alerts & Insights
Azure Container Services​
Azure Container Services​
Monitoring Containerized Micro-Services In Azure

What's hot (20)

PPTX
Lets talk about: Azure Kubernetes Service (AKS)
PPTX
Realtà aumentata ed Azure, un binomio imbattibile
PPTX
Presentation Tier optimizations
DOC
Praveen Kumar Resume
PPTX
Best practices with Microsoft Graph: Making your applications more performant...
PPTX
Debugging and Interacting with Production Applications - MS Online Tech Forum
PPTX
Azure functions
PPTX
Innovation anywhere with microsoft azure arc
PDF
Aws serverless multi-tier_architectures
PDF
Azure Sphere
PPTX
Windows iot barone
PPT
Ado.Net Data Services (Astoria)
PDF
DEVOPS AND MACHINE LEARNING
PDF
Sergii Baidachnyi ITEM 2018
PPTX
Azure Container Instance
PPTX
Azure Functions - Introduction
PPTX
Azure Functions 101
PPTX
Azuresatpn19 - An Introduction To Azure Data Factory
PPTX
Intro to docker and kubernetes
PDF
Improve monitoring and observability for kubernetes with oss tools
Lets talk about: Azure Kubernetes Service (AKS)
Realtà aumentata ed Azure, un binomio imbattibile
Presentation Tier optimizations
Praveen Kumar Resume
Best practices with Microsoft Graph: Making your applications more performant...
Debugging and Interacting with Production Applications - MS Online Tech Forum
Azure functions
Innovation anywhere with microsoft azure arc
Aws serverless multi-tier_architectures
Azure Sphere
Windows iot barone
Ado.Net Data Services (Astoria)
DEVOPS AND MACHINE LEARNING
Sergii Baidachnyi ITEM 2018
Azure Container Instance
Azure Functions - Introduction
Azure Functions 101
Azuresatpn19 - An Introduction To Azure Data Factory
Intro to docker and kubernetes
Improve monitoring and observability for kubernetes with oss tools
Ad

Similar to What is going on - Application diagnostics on Azure - TechDays Finland (20)

PPTX
What is going on? Application Diagnostics on Azure - Copenhagen .NET User Group
PDF
Monitoring as Software Validation
PPTX
SplunkLive! Zurich 2018: Integrating Metrics and Logs
PPTX
Public v1 real world example of azure functions serverless conf london 2016
PDF
Observability foundations in dynamically evolving architectures
PPTX
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
PDF
Architecting for change: LinkedIn's new data ecosystem
PDF
Strata 2016 - Architecting for Change: LinkedIn's new data ecosystem
PPTX
Code instrumentation
PPTX
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
PDF
[Webinar] Camunda Optimize Release 3.0
PPTX
Sherlock Homepage - A detective story about running large web services - WebN...
PDF
Building an Observability Platform in 389 Difficult Steps
PPTX
Application telemetry public
PPTX
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
DOCX
SANJAY_SINGH
PDF
Scaling Experimentation & Data Capture at Grab
PPTX
ab-initio-training basics and architecture
PPTX
IMC Summit 2016 Breakout - Matt Coventon - Test Driving Streaming and CEP on ...
DOC
What is going on? Application Diagnostics on Azure - Copenhagen .NET User Group
Monitoring as Software Validation
SplunkLive! Zurich 2018: Integrating Metrics and Logs
Public v1 real world example of azure functions serverless conf london 2016
Observability foundations in dynamically evolving architectures
SpringOne Tour Denver - Spring Boot & Spring Cloud on Pivotal Application Ser...
Architecting for change: LinkedIn's new data ecosystem
Strata 2016 - Architecting for Change: LinkedIn's new data ecosystem
Code instrumentation
Spring Boot & Spring Cloud Apps on Pivotal Application Service - Daniel Lavoie
[Webinar] Camunda Optimize Release 3.0
Sherlock Homepage - A detective story about running large web services - WebN...
Building an Observability Platform in 389 Difficult Steps
Application telemetry public
MongoDB World 2018: Ch-Ch-Ch-Ch-Changes: Taking Your Stitch Application to th...
SANJAY_SINGH
Scaling Experimentation & Data Capture at Grab
ab-initio-training basics and architecture
IMC Summit 2016 Breakout - Matt Coventon - Test Driving Streaming and CEP on ...
Ad

More from Maarten Balliauw (20)

PPTX
Bringing nullability into existing code - dammit is not the answer.pptx
PPTX
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
PPTX
Building a friendly .NET SDK to connect to Space
PPTX
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
PPTX
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
PPTX
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
PPTX
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
PPTX
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
PPTX
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
PPTX
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
PPTX
Approaches for application request throttling - Cloud Developer Days Poland
PPTX
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
PPTX
Approaches for application request throttling - dotNetCologne
PPTX
CodeStock - Exploring .NET memory management - a trip down memory lane
PPTX
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
PPTX
ConFoo Montreal - Approaches for application request throttling
PPTX
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
PPTX
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
PPTX
DotNetFest - Let’s refresh our memory! Memory management in .NET
PPTX
VISUG - Approaches for application request throttling
Bringing nullability into existing code - dammit is not the answer.pptx
Nerd sniping myself into a rabbit hole... Streaming online audio to a Sonos s...
Building a friendly .NET SDK to connect to Space
Microservices for building an IDE - The innards of JetBrains Rider - NDC Oslo...
Indexing and searching NuGet.org with Azure Functions and Search - .NET fwday...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
JetBrains Australia 2019 - Exploring .NET’s memory management – a trip down m...
.NET Conf 2019 - Indexing and searching NuGet.org with Azure Functions and Se...
CloudBurst 2019 - Indexing and searching NuGet.org with Azure Functions and S...
NDC Oslo 2019 - Indexing and searching NuGet.org with Azure Functions and Search
Approaches for application request throttling - Cloud Developer Days Poland
Indexing and searching NuGet.org with Azure Functions and Search - Cloud Deve...
Approaches for application request throttling - dotNetCologne
CodeStock - Exploring .NET memory management - a trip down memory lane
ConFoo Montreal - Microservices for building an IDE - The innards of JetBrain...
ConFoo Montreal - Approaches for application request throttling
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
JetBrains Day Seoul - Exploring .NET’s memory management – a trip down memory...
DotNetFest - Let’s refresh our memory! Memory management in .NET
VISUG - Approaches for application request throttling

Recently uploaded (20)

PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
KodekX | Application Modernization Development
PPTX
Cloud computing and distributed systems.
PDF
Spectral efficient network and resource selection model in 5G networks
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Advanced IT Governance
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Review of recent advances in non-invasive hemoglobin estimation
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
GamePlan Trading System Review: Professional Trader's Honest Take
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
NewMind AI Monthly Chronicles - July 2025
Reach Out and Touch Someone: Haptics and Empathic Computing
20250228 LYD VKU AI Blended-Learning.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
NewMind AI Weekly Chronicles - August'25 Week I
KodekX | Application Modernization Development
Cloud computing and distributed systems.
Spectral efficient network and resource selection model in 5G networks
The AUB Centre for AI in Media Proposal.docx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Electronic commerce courselecture one. Pdf
Advanced IT Governance
“AI and Expert System Decision Support & Business Intelligence Systems”
Review of recent advances in non-invasive hemoglobin estimation

What is going on - Application diagnostics on Azure - TechDays Finland

  • 1. What is going on? Application Diagnostics on Azure Maarten Balliauw @maartenballiauw
  • 2. Agenda What is going on? Application Insights the service the developer side (SDK) Application Insights Analytics
  • 4. Log all the things! System.Diagnostics.Trace.TraceInformation( "Something happened"); System.Diagnostics.Trace.TraceWarning( "Error! " + ex.Message);
  • 5. And here’s a typical log... App.exe [12:13:03:985] Information: 0 : Customer address updated. App.exe [12:13:04:011] Error: 8 : System.NullReferenceException occurred. Value can not be null. App.exe [12:13:04:567] Information: 0 : Machine policy value 'Debug' is 0 App.exe [12:13:04:569] Verbose: 9 : ******* RunEngine ******* Action: ******* CommandLine: ********** App.exe [12:13:04:578] Information: 9 : Entered CheckResult() App.exe [12:13:04:689] Debug: 0 : Created. Req=0, Ret=8, Font: Req=null Does this help troubleshooting? Improve the application? Analyze trends?
  • 6. No.
  • 7. Log files suck. Just stupid string data Typical log file has no “context” Typical log file has no correlation Log files do not measure CPU, memory, I/O, ... How to get data off our machines? How to report/analyze?
  • 8. Log files suck. Just stupid string data Typical log file has no “context” Typical log file has no correlation Log files do not measure CPU, memory, I/O, ... How to get data off our machines? How to report/analyze? Semantic Logging (e.g. ETW, Serilog, ...)
  • 9. Log files suck. Just stupid string data Typical log file has no “context” Typical log file has no correlation Log files do not measure CPU, memory, I/O, ... How to get data off our machines? How to report/analyze? Windows Server tooling, NewRelic, PRTG, SNMP, ...
  • 10. Log files suck. Just stupid string data Typical log file has no “context” Typical log file has no correlation Log files do not measure CPU, memory, I/O, ... How to get data off our machines? How to report/analyze? Vendor tooling, NewRelic, PRTG, SNMP, ...
  • 11. Log files suck. Just stupid string data Typical log file has no “context” Typical log file has no correlation Log files do not measure CPU, memory, I/O, ... How to get data off our machines? How to report/analyze? Splunk, LogStash, Kibana, ...
  • 12. Analytics suck! Either use vendor tooling What with x-plat deployments? Either build it ourselves Lots of components, management overhead, ... All we wanted was logging and correlation...
  • 14. Application Insights ”Application Insights is an extensible Application Performance Management (APM) service for web developers on multiple platforms.”
  • 15. Application Insights Azure Service + Library/SDK Solves “where to store”, “how to ship”, “how to analyze” Enriches data with telemetry Correlates data (e.g. client + server + dependency/DB/...) Allows structured logging Allows rich querying, alerting Works for many, many platforms and languages Web, Windows, Xamarin, any application type really .NET, Java, JavaScript, Objective-C, PHP, Python, Ruby, ... Docker (host and container)
  • 18. Do I have to run on Azure? REST API to send data to Various tools and SDK’s to collect data specific to language/platform https://docs.microsoft.com/en-us/azure/application-insights/app-insights-platforms docker run -v /var/run/docker.sock:/docker.sock -d microsoft/applicationinsights ikey=000000-1111-2222-3333-444444444 IIS Docker host and containers
  • 20. Application Insights Let’s focus on this part for a bit.
  • 22. Input, processing, output DATA INGESTION Performance Counters Requests (both server/client side) Traces Exceptions Dependencies Custom Metrics & Events ... CAPABILITIES Monitoring Alerting Querying Exporting
  • 24. Application Insights Let’s focus on this part for a bit.
  • 25. Data being collected AUTOMATICALLY Performance Counters Requests (both server/client side) Traces Exceptions Dependencies Custom Metrics & Events ... ENRICH MANUALLY Better tracing (semantic logging!) Events Metrics Exceptions Telemetry pipeline ...
  • 26. Better tracing Don’t do stupid strings. System.Diagnostics.Trace is nice, but also not nice. Do semantic logging! Serilog, .NET Core logging have an Application Insights sink All else: write a sink or log directly to TelemetryClient.Current
  • 28. Events and Metrics Send custom events and metrics Name of event/metric + a value Events – help find how the application is used and can be optimized User resized column in a grid User logged in User clicked “Share” ... Metrics – help measuring quantifyable data # Items in shopping cart ...
  • 30. Exceptions Exceptions are unpleasant. How to make them more pleasant? Stack traces? MiniDump?
  • 32. Snapshots! (MiniDump) NuGet package MinidumpUploader.exe separate process which monitors snapshot requests SnapshotHolder_x64.exe creates a shadow process in 10-20ms, captures the minidump, returns it to MinidumpUploader.exe https://docs.microsoft.com/en-us/azure/application-insights/app-insights- snapshot-debugger
  • 33. Enriching telemetry Why? Enriching telemetry – adding properties to all data Obfuscating telemetry – GDPR, sensitive data, ... How? Directly adding data on TelemetryClient.Current Using the telemetry pipeline (middlewares on sending data to AI service) https://blog.maartenballiauw.be/post/2017/01/31/application-insights-telemetry-processors.html
  • 36. Application Insights Analytics Former MS-internal tool “Kusto” Near-realtime log ingestion and analysis Lets you run custom queries requests | where timestamp > ago(24h) | summarize count() by client_CountryOrRegion | top 10 by count_ | render piechart
  • 37. Queries over logs! Input dataset traces customEvents pageViews requests dependencies exceptions availabilityResults customMetrics performanceCounters browserTimings | Operators where count project join limit order | Renderer table chart (bar, pie, time, area, scatter) https://docs.microsoft.com/en-us/azure/application-insights/app-insights-analytics-reference
  • 38. Smart Detection Uses Application Insights Analytics data and searches for trends and anomalies Potential memleaks – memory increase Increase in specific exceptions Abnormal rise in failed requests ... Each detection comes with a query!
  • 40. What else is there? Other client types (mobile, Java, ...) Sampling our data (in portal) Do we need all data? Or just data that is representative enough? Release annotations Show a marker in the timeline when a release happens https://docs.microsoft.com/en-us/azure/application-insights/app-insights-annotations Profiler Preview that I can’t get to work, but should do profiling when interesting things happen https://docs.microsoft.com/en-us/azure/application-insights/app-insights-profiler
  • 42. Conclusion Logging sucks Application Insights the service – collect and ingest, analyze, different views the developer side (SDK) – enrich, customize, … Application Insights Analytics rich querying over all data base for automated insights/smart detection
  • 43. Thank you! Please do not forget to evaluate the session before you leave by using our Lollipolls! http://blog.maartenballiauw.be @maartenballiauw

Editor's Notes

  • #6: https://pixabay.com/p-960806/
  • #8: Highlight which customer? Awesome, stack trace for Exception, “Debug is 0” great! RunEngine entry very useful. What if we want to aggregate “Req” / “Ret”?
  • #16: https://pixabay.com/p-960806/
  • #20: Open portal.azure.com Show how to create Application Insights service, open an existing one Explain the main view there: List of all data sources we can look at on the left Main chart showing response time, page view load time, server requests, failed requests -> health! Sidenote: every chart can be pinned to a portal dashboard in case you want a nice live TV thingy Charts can be drilled into Drill into server response time and show some things Do the same with exceptions Show that if we look at an event or use search there is a view of all data points as well, including traces and logging etc. Display details and show properties of the event – who, where, what, … Open MusicStore and display a few things that have been added: 2 NuGet package references Show AppInsights package reference added, show Startup.cs where to configure (3 simple “Use...”) Show _Layout.cshtml, run app, show snippet Explain data comes from many locations! The NuGet package does a lot here, but not all! Open service, click “Getting Started” Explain there are a few entry points to collect all data
  • #23: https://pixabay.com/en/cat-animal-eyes-grey-view-views-351926/
  • #25: There are a few things AppInsights detects automagically for us! Open MyGet AppInsights Live Metrics Stream Connects to our running application and inspects the data that comes in real-time Metrics, health, server CPU and memory, ... We can filter per server as well Application Map Show Availability tests test the server-side Show client-side uses server-side components Click around, explain what we can see here Smart Detection Smart Detection tries to be proactive in detecting things that are “not normal” Alerts (open Alerts) Add alert, see on which metrics we can alert Show examples, show web tests feeding into alerts, ... Continuous export Mention what it does (blob storage) Show MyGet dashboard in PowerBI Quickly go over these because we will show them later on! Availability – explain web tests, explain these can be simple or actual tests created in VS that have multiple steps and checks Failures – we can see diagrams of exceptions vs. other metrics, as well as Exceptions Performance – mention profiler available only for Azure App Services Mention slowest pages client/server side, … Servers – Some server details, quickly go through this Browser – Browser stats, verify client-side code, page render times, find slowest rendering pages, ... Usage – Correlate technical side with user-side sessions, users, custom events (more later), ... Pretty cool for installing a NuGet package and adding five lines of code, no?
  • #27: https://pixabay.com/en/cat-animal-eyes-grey-view-views-351926/
  • #31: Open MusicStore and show Startup.cs, method Configure Mention we are configuring logging here, adding AppInsights with the Information level Open AccountController and show we are structured tracing the login event. Do a login, then open AppInsights and find the event “logged in …” Details reveal username property We get extra info And we can show the request in which this was logged and get more info
  • #33: Open MusicStore and explain tracking cart AlbumAdded metric Click in the site a bit. Perform a checkout. Complete.cshtml contains client-side tracking as well! Angular! Vue.js! Show metrics in portal, show events as well Show we can correlate Show funnels as well (explain we could add multiple metrics to look at e.g. a sign-up funnel)
  • #35: Open MusicStore and explain tracking cart AlbumAdded metric Click in the site a bit. Perform a checkout. Complete.cshtml contains client-side tracking as well! Angular! Vue.js! Show metrics in portal, show events as well Show we can correlate Show funnels as well (explain we could add multiple metrics to look at e.g. a sign-up funnel)
  • #38: Open MusicStore In Startup.cs, find Configure. We register two .NET middlewares here, show how they work and what they do. Explain this is something we can always do to enrich data. Telemetry pipeline that runs before shipping off telemetry is also interesting Find Startup.cs ConfigureServices where we add two telemetry processors One to filter out synthetic traffic Another one to filter out sensitive URLs Explain we can capture any type of metric, change the result, …
  • #39: https://pixabay.com/p-960806/
  • #43: Open portal.azure.com on MyGet AppInsights Demo AppInsights Analytics Show some of the sample queries, show the editor, show the various rendering types (auto complete in there) Run a few sample queries and find custom dimensions Show smart detection and the queries it generates
  • #44: Click the links and show what it is as “things to look at after this talk”