Monitor App Performance Flashcards

(15 cards)

1
Q

What is App Insights (AI)?

A
  • Extension of Azure Monitor and provides app performance monitoring features
  • Helps us to understand how app is performing and reactivity review app execution data to determine the cause of an incident
  • Stores app trace logging data
  • Free to sign up and if you choose basic pricing plan of AI there is no charge until your app has grown to have substantial usage
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What features does AI provide?

A
  • live metrics
  • availability checks via probes
  • Github/DevOps integration
  • Usage
  • Smart Detection
  • Application Map
  • Distributed Tracing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What does AI monitor?

A
  • Request rates, response times and failure rates (find out most popular pages and at what times)
  • dependency rates, response times and failure rates (find out if external services slowing us down)
  • exceptions
  • page views
  • AJAX calls
  • user and session counts
  • host diagnostics
  • custom events and metrics
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What type of metrics does AI provide? Brief Benefits of each?

A
  • Log based = translated into kutso queries from stored events
  • Standard = stored as preaggregated time series
  • Standard have better performance at query time and a better choice for real-time alerting + dashboarding
  • Log-based have more dimensions which makes them the superior option for data analysis and ad-hoc diagnostics
  • In the UX standard are called “Standard metrics (preview)” and traditional metrics from events are renamed “Log-based metrics”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

In more detail what are log based metrics?

A
  • devs can use the SDK to send events manually or rely on the auto collection of events from autoinstrumentation
  • All events stored as logs
  • Using logs to retain a complete set of events brings great analytical value e.g. can get an exact count of request to a URL with the number of distinct users who made the calls
  • however cna result in large volume of telemetry which requires filtering to help reduce
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is Automatic instrumentation?

A
  • enables telemetry through config without touching the apps code
  • tends to be less configurable and not available in all languages
  • Easiest way to enable AI
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

In more detail what are standard/pre-aggregated metrics?

A
  • arent stored as individual events
  • stored as preaggregated time series and only with key dimensions making them better at query time
  • retrieving data happens faster and requires less power
  • Newer SDKs preaggregate metrics during collection, reducing volume of data transmitted over wire
  • older ones require AI to populate the new metrics by aggregating the events received by the AI collection endpoint, doesnt reduce volume but still has better performance in real-time than SDKs that dont preaggregate
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is manual instrumentation?

A
  • coding against AI or open Telemetry API
  • in context of user refers to installing a language specific SDK in an app
  • have to manage the updates to latest package version by yourself
  • this in itself has 2 methods, AI SDKs and AM OpenTelemetry Distros
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

How can we enable AI via SDKs?

A
  • Only need to install AI SDK when you require custom events and metrics, require control over the flow of telemetry or auto-instrumentation isn’t available (due to lang or platform issues)
  • Install a package in your app and then instrument the web app, any background components and JS within web pages
  • App and components don’t have to be hosted within Azure
  • Instrumentation monitors app and directs the telemetry data to an AI resource by using a token
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How do we enable AI via openTelemetry?

A
  • Working with OpenCensus and OpenTracing MS helped to create a single project, OpenTelemetry
  • Includes contributions from all major APM vendors and lives within the CNCF which MS is a platinum member of
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

How can we setup recurring tests to monitor availability and responsivness?

A
  • AI sends web requests to your app at regular intervals from points around the world and can alert you if your app is responding slowly, or not at all
  • Can create 100 tests per app insights resource
  • Require no code changes and work with HTTP/S publicly accessible endpoint
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the three types of availability test?

A
  • Standard test = Checks the availability of a website by sending a single request, also includes the TLS/SSL certificate validity, proactive lifetime check, HTTP request verb (GET, POST etc), custom headers and custom data associated with your HTTP request
    Custom TrackAvailability test = If you decide to create custom app to run availability tests you can use the TrackAvailabilty() method to send the results to AI
  • URL ping test (classic) = Deprecated from 2026, Single url ping endpoint
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is an application map?

A
  • Application Map helps you spot performance bottlenecks or failure hotspots across all components of your distributed app
  • Each node on the map represents an app component or its dependencies and has health key performance indicator and alerts status
  • Can select component for more details diagnostics
  • Enables us to visualise complex topologies with hundreds of components
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are components in application map?

A
  • Independently deployable parts of your distributed/microservice application
  • different from observed external dependencies such as SQL, Event hubs etc which your org may not have access too
  • can run on any number of server/role/container instances
  • can be separate AI instrumentation keys or different roles reporting to a single AI key
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

How does application map find components?

A
  • By following HTTP dependency calls made between servers with the AI SDK installed
  • When you first load the app a set of queries are triggered to discover the components related to this component
  • Selecting Update Map refreshes all the components discovered up to that point
  • If all components are roles within a single AI resource then this discovery step isn’t required and the initial load has all the components
How well did you know this?
1
Not at all
2
3
4
5
Perfectly