Transaction Search and Diagnostics
Azure Monitor Application Insights offers Transaction Search for pinpointing specific telemetry items and Transaction Diagnostics for comprehensive end-to-end transaction analysis.
Transaction Search: This experience enables users to locate and examine individual telemetry items such as page views, exceptions, and web requests. Additionally, it offers the capability to view log traces and events coded into the application. It identifies performance issues and errors within the application.
Transaction Diagnostics: Quickly identify issues in components through comprehensive insight into end-to-end transaction details, including dependencies and exceptions. Access this feature via the Search interface by choosing an item from the search results.
Transaction search is a feature of Application Insights that you use to find and explore individual telemetry items, such as page views, exceptions, or web requests. You can also view log traces and events that you code.
For more complex queries over your data, use Log Analytics.
Where do you see Search?
You can find Search in the Azure portal or Visual Studio.
In the Azure portal
You can open transaction search from the Application Insights Overview tab of your application. You can also select Search under Investigate on the left menu.
Go to the Event types dropdown menu to see a list of telemetry items such as server requests, page views, and custom events you coded. The top of the Results list has a summary chart showing counts of events over time.
Back out of the dropdown menu or select Refresh to get new events.
In Visual Studio
In Visual Studio, there's also an Application Insights Search window. It's most useful for displaying telemetry events generated by the application that you're debugging. But it can also show the events collected from your published app at the Azure portal.
Open the Application Insights Search window in Visual Studio:
The Application Insights Search window has features similar to the web portal:
The Track Operation tab is available when you open a request or a page view. An "operation" is a sequence of events associated with a single request or page view. For example, dependency calls, exceptions, trace logs, and custom events might be part of a single operation. The Track Operation tab shows graphically the timing and duration of these events in relation to the request or page view.
Inspect individual items
Select any telemetry item to see key fields and related items.
The end-to-end transaction details view opens.
Filter event types
Open the Event types dropdown menu and choose the event types you want to see. If you want to restore the filters later, select Reset.
The event types are:
- Trace: Diagnostic logs including TrackTrace, log4Net, NLog, and System.Diagnostic.Trace calls.
- Request: HTTP requests received by your server application including pages, scripts, images, style files, and data. These events are used to create the request and response overview charts.
- Page View: Telemetry sent by the web client used to create page view reports.
- Custom Event: If you inserted calls to
TrackEvent()to monitor usage, you can search them here.
- Exception: Uncaught exceptions in the server, and the exceptions that you log by using
- Dependency: Calls from your server application to other services such as REST APIs or databases, and AJAX calls from your client code.
- Availability: Results of availability tests
Filter on property values
Choosing no values of a particular property has the same effect as choosing all values. It switches off filtering on that property.
Notice that the counts to the right of the filter values show how many occurrences there are in the current filtered set.
Find events with the same property
To find all the items with the same property value, either enter it in the Search box or select the checkbox when you look through properties on the Filter tab.
Search the data
To write more complex queries, open Logs (Analytics) at the top of the Search pane.
You can search for terms in any of the property values. This capability is useful if you write custom events with property values.
You might want to set a time range because searches over a shorter range are faster.
Search for complete words, not substrings. Use quotation marks to enclose special characters.
united AND states
You can use the following search expressions:
|Find all events in the time range whose fields include the word
apple AND banana
|Find events that contain both words. Use capital
apple OR banana
|Find events that contain either word. Use
apple NOT banana
|Find events that contain one word but not the other.
If your app generates significant telemetry and uses ASP.NET SDK version 2.0.0-beta3 or later, it automatically reduces the volume sent to the portal through adaptive sampling. This module sends only a representative fraction of events. It selects or deselects events related to the same request as a group, allowing you to navigate between related events.
Learn about sampling.
Create work item
You can create a bug in GitHub or Azure DevOps with the details from any telemetry item.
Go to the end-to-end transaction detail view by selecting any telemetry item. Then select Create work item.
The first time you do this step, you're asked to configure a link to your Azure DevOps organization and project. You can also configure the link on the Work Items tab.
Send more telemetry to Application Insights
In addition to the out-of-the-box telemetry sent by Application Insights SDK, you can:
Write code to send custom events, page views, and exceptions.
Learn how to send logs and custom telemetry to Application Insights.
Frequently asked questions
Find answers to common questions.
How much data is retained?
See the Limits summary.
How can I see POST data in my server requests?
We don't log the POST data automatically, but you can use TrackTrace or log calls. Put the POST data in the message parameter. You can't filter on the message in the same way you can filter on properties, but the size limit is longer.
Why does my Azure Function search return no results?
Azure Functions doesn't log URL query strings.