La búsqueda de transacción es una característica de Application Insights que se usa para buscar y explorar elementos de telemetría individuales, como vistas de páginas, excepciones o solicitudes web. También puede ver los seguimientos de registro y los eventos que ha codificado.
Para consultas más complejas sobre los datos, use Log Analytics.
¿Dónde verá Search?
Puede encontrar Buscar en Azure Portal o Visual Studio.
En Azure Portal
Puede abrir la búsqueda de transacciones desde la hoja Información general de Application Insights de la aplicación. También puede seleccionar Buscar en Investigar en el menú izquierdo.
Vaya al menú desplegable Tipos de evento para ver una lista de elementos de telemetría, como las solicitudes de servidor, las vistas de página y los eventos personalizados que ha codificado. La parte superior de la lista de resultados tiene un gráfico de resumen que muestra recuentos de eventos a lo largo del tiempo.
Vuelva del menú desplegable o seleccione Actualizar para obtener los eventos nuevos.
En Visual Studio
En Visual Studio también hay una ventana Buscar de Application Insights. Esta ventana resulta muy útil para mostrar eventos de telemetría generados por la aplicación que está depurando. Pero también puede mostrar los eventos recopilados desde la aplicación publicada en Azure Portal.
Abra la ventana Buscar de Application Insights en Visual Studio:
La ventana Buscar de Application Insights tiene características similares a las del portal web:
La pestaña Seguir operación está disponible cuando se abre una solicitud o una vista de página. Una "operación" es una secuencia de eventos asociada a una sola solicitud o vista de página. Por ejemplo, llamadas de dependencia, excepciones, registros de seguimiento y eventos personalizados pueden ser parte de una única operación. La pestaña Seguir operación muestra gráficamente el tiempo y la duración de estos eventos con respecto a la solicitud o vista de página.
Inspección de elementos individuales
Seleccione cualquier elemento de telemetría para ver los campos clave y los elementos relacionados.
Se abre la vista global de detalles de la transacción.
Filtro de los tipos de evento
Abra el menú desplegable Tipos de evento y elija los tipos de evento que quiere ver. Si quiere restaurar los filtros más adelante, seleccione Restablecer.
Los tipos de evento son:
- Seguimiento: registros de diagnóstico, como llamadas a TrackTrace, log4Net, NLog y System.Diagnostic.Trace.
- Solicitud: solicitudes HTTP recibidas por la aplicación de servidor, como páginas, scripts, imágenes, archivos de estilo y datos. Estos eventos se utilizan para crear los gráficos de información general de solicitudes y respuestas.
- Vista de página: datos de telemetría que envía el cliente web y que se usan para generar informes de la vista de página.
- Evento personalizado: si ha insertado llamadas a
TrackEvent()
para supervisar el uso, puede buscarlas aquí.
- Excepción: excepciones no detectadas en el servidor y las que se registran mediante
TrackException()
.
- Dependencia: llamadas desde su aplicación de servidor a otros servicios, como API REST o bases de datos, y llamadas de AJAX desde su código de cliente.
- Disponibilidad: resultados de pruebas de disponibilidad
Filtro de los valores de propiedad
Puede filtrar eventos por los valores de sus propiedades. Las propiedades disponibles dependen de los tipos de evento que haya seleccionado. Seleccione Filtrar para iniciar.
El hecho de no elegir ningún valor de una propiedad en particular tiene el mismo efecto que elegir todos los valores. Se desactiva el filtrado en esa propiedad.
Observe que los recuentos a la derecha de los valores de filtro muestran cuántas repeticiones hay en el conjunto filtrado actual.
Búsqueda de eventos con la misma propiedad
Para buscar todos los elementos con el mismo valor de propiedad, escríbalo en el cuadro Buscar o active la casilla cuando examine las propiedades de la pestaña Filtro.
Búsqueda de los datos
Nota
Para escribir consultas más complejas, abra Registros (Analytics) desde la parte superior del panel Buscar.
Puede buscar términos en cualquiera de los valores de propiedad. Esta funcionalidad es útil si escribe eventos personalizados con valores de propiedad.
Quizás desee establecer un intervalo de tiempo, dado que las búsquedas en un intervalo más corto son más rápidas.
Busque palabras completas, no subcadenas. Use comillas con los caracteres especiales.
String |
No encontrado |
Encontrado |
HomeController.About |
home
controller
out |
homecontroller
about
"homecontroller.about" |
Estados Unidos |
Uni
ted |
united
states
united AND states
"united states" |
Puede usar las siguientes expresiones de búsqueda:
Consulta de ejemplo |
Efecto |
apple |
Busca todos los eventos del intervalo de tiempo cuyos campos incluyen la palabra apple . |
apple AND banana
apple banana |
Busca eventos que contienen ambos términos. Use AND mayúscula, no and . Forma abreviada. |
apple OR banana |
Buscar eventos que contengan cualquiera de los dos términos. Use OR , no or . |
apple NOT banana |
Buscar eventos que contengan un término pero no el otro. |
muestreo
Si la aplicación genera telemetría significativa y usa ASP.NET SDK versión 2.0.0-beta3 o posterior, reduce automáticamente el volumen enviado al portal a través del muestreo adaptable. Este módulo envía solo una fracción representativa de eventos. Selecciona o anula la selección de eventos relacionados con la misma solicitud que un grupo, lo que le permite navegar entre eventos relacionados.
Más información sobre el muestreo.
Creación de elemento de trabajo
Puede crear un error en GitHub o en Azure DevOps, con información de cualquier elemento de telemetría.
Seleccione cualquier elemento de telemetría para ir a la vista global de detalles de la transacción. A continuación, seleccione Crear elemento de trabajo.
La primera vez que realice este paso, se le pedirá que configure un vínculo a la organización y el proyecto de Azure DevOps. También puede configurar el vínculo en la pestaña Elementos de trabajo.
Envío de más telemetría a Application Insights
Además de la telemetría inmediata enviada por el SDK de Application Insights, puede:
Capturar seguimientos de registros de su plataforma de registro de favoritos en .NET o Java. Esto significa que puede buscar en los seguimientos de registros y correlacionarlos con vistas de página, excepciones y otros eventos.
Escribir código para enviar eventos personalizados, vistas de página y excepciones.
Aprenda a enviar registros y telemetría personalizada a Application Insights.
Preguntas más frecuentes
Obtenga respuestas a preguntas comunes.
¿Qué cantidad de datos se conserva?
Consulte Resumen de límites.
¿Cómo puedo ver datos POST en mis solicitudes de servidor?
Aunque no registramos los datos POST automáticamente, puede usar TrackTrace o llamadas de registro. Coloque los datos POST en el parámetro de mensaje. No puede filtrar por el mensaje de la misma forma que con las propiedades, pero el límite de tamaño es mayor.
¿Por qué mi búsqueda de funciones de Azure no devuelve ningún resultado?
Azure Functions no registra cadenas de consulta de dirección URL.
La experiencia de diagnóstico unificada correlaciona automáticamente la telemetría del lado servidor con todos los componentes supervisados de Application Insights en una única visualización. No importa si tiene varios recursos. Application Insights detecta la relación subyacente y le permite diagnosticar fácilmente el componente, la dependencia o la excepción de la aplicación que provocaron una ralentización o un error en la transacción.
¿Qué es un componente?
Los componentes son partes que se pueden implementar independientemente de su aplicación de microservicio o distribuida. Los equipos de operaciones y los desarrolladores pueden ver el código o acceder a la telemetría que generan estos componentes de la aplicación.
- Los componentes son diferentes de las dependencias externas "observadas", por ejemplo, SQL y Event Hubs, a las que el equipo o la organización podrían no tener acceso (código o telemetría).
- Los componentes se ejecutan en cualquier número de instancias de rol, servidor o contenedor.
- Los componentes pueden ser claves de instrumentación de Application Insights independientes, incluso si las suscripciones son diferentes. Los componentes también pueden ser diferentes roles que informan a una única clave de instrumentación de Application Insights. La nueva experiencia muestra los detalles en todos los componentes, independientemente de cómo se configuraron.
Nota
¿No encuentras los vínculos a elementos relacionados? Todos los datos de telemetría relacionados se encuentran en el lado izquierdo, en las secciones superior e inferior.
Experiencia de diagnósticos de la transacción
Esta vista tiene cuatro partes clave:
- una lista de resultados
- un gráfico de transacciones entre componentes
- una lista de secuencias de tiempo de todos los datos de telemetría relacionados con esta operación
- el panel de detalles de cualquier elemento de telemetría seleccionado
Gráfico de transacciones entre componentes
Este gráfico proporciona una escala de tiempo con barras horizontales durante las solicitudes y las dependencias entre los componentes. Las excepciones que se recopilan también se marcan en la escala de tiempo.
- La fila superior de este gráfico representa el punto de entrada. Se trata de la solicitud entrante para el primer componente al que se ha llamado en esta transacción. La duración es el tiempo total necesario para que se complete la transacción.
- Las llamadas a las dependencias externas son filas sencillas que no se pueden contraer, con iconos que representan el tipo de dependencia.
- Las llamadas a otros componentes son filas que se pueden contraer. Cada fila corresponde a una operación específica que se invoca en el componente.
- De forma predeterminada, la solicitud, dependencia o excepción que seleccionó aparece al lado. Seleccione cualquier fila para ver los detalles.
Nota
Las llamadas a otros componentes tienen dos filas. Una fila representa la llamada saliente (dependencia) del componente de llamada. La otra fila corresponde a la solicitud entrante en el componente llamado. El icono inicial y los distintos estilos de las barras de duración le ayudan a diferenciarlos.
Todos los datos de telemetría con este identificador de operación
En esta sección se muestra una vista de lista plana en una secuencia de tiempo de todos los datos de telemetría relacionados con esta transacción. También se pueden ver los eventos personalizados y los seguimientos que no se muestran en el gráfico de transacciones. Puede filtrar esta lista por los datos de telemetría generados por una llamada o componente específicos. Puede seleccionar cualquier elemento de telemetría de esta lista para ver los correspondientes detalles en el lado.
Detalles de la telemetría seleccionada
En este panel contraíble se muestran los detalles de cualquier elemento seleccionado del gráfico de transacciones o de la lista. Mostrar todo enumera todos los atributos estándares recopilados. Los atributos personalizados se muestran por separado después del conjunto estándar. Seleccione el botón de puntos suspensivos (...) en la ventana de seguimiento Pila de llamadas para obtener una opción para copiar el seguimiento. Las opciones Open profiler traces (Abrir seguimientos de generador de perfiles) y Abrir instantánea de depuración muestran los diagnósticos de nivel de código en los paneles de detalles correspondientes.
Search Results
En este panel contraíble se muestran los otros resultados que cumplen los criterios de filtro. Haga clic en cualquier resultado para actualizar los detalles correspondientes en las tres secciones anteriores. Intentamos buscar ejemplos con más probabilidades de tener detalles disponibles de todos los componentes, aunque el muestreo esté activo en cualquiera de ellos. Estos ejemplos se muestran como sugerencias.
.NET Profiler y Snapshot Debugger
.NET Profiler o Snapshot Debugger ayudan a diagnosticar a nivel de código los problemas de rendimiento y fallos. Con esta experiencia, puede ver las trazas o instantáneas de .NET Profiler de cualquier componente con una sola selección.
Si no consigue que funcione .NET Profiler, póngase en contacto con serviceprofilerhelp@microsoft.com.
Si no puede hacer que Snapshot Debugger funcione, póngase en contacto con snapshothelp@microsoft.com.
Preguntas más frecuentes
Esta sección proporciona respuestas a preguntas comunes.
¿Por qué veo un único componente en el gráfico y los demás componentes solo se muestran como dependencias externas sin detalles?
Posibles razones:
- ¿Existen otros componentes instrumentados con Application Insights?
- ¿Usa la versión más reciente y estable de SDK de Application Insights?
- Si estos componentes son recursos independientes de Application Insights, valide que tiene acceso.
Si tiene acceso y los componentes se instrumentan con el SDK más reciente de Application Insights, háganoslo saber mediante el canal de comentarios en la parte superior derecha.
Veo filas duplicadas para las dependencias. ¿Es normal este comportamiento?
Actualmente, se está mostrando la llamada de dependencia de salida de forma independiente de la solicitud entrante. Por lo general, las dos llamadas son idénticas y solo difiere el valor de duración debido al recorrido de ida y vuelta de la red. El icono inicial y los distintos estilos de las barras de duración le ayudan a diferenciarlos. ¿Le resulta confusa esta presentación de los datos? Envíenos sus comentarios.
¿Qué hay de los desfases temporales entre las instancias de los diferentes componentes?
Las escalas de tiempo se ajustan para los desfases temporales en el gráfico de transacciones. Puede ver las marcas de tiempo exactas en el panel de detalles o con Log Analytics.
Este comportamiento es así por diseño. Todos los elementos relacionados, en todos los componentes, están disponibles en el lado izquierdo (en las secciones superior e inferior). La nueva experiencia tiene dos elementos relacionados que no se tratan en el lado izquierdo: todos los datos de telemetría de los cinco minutos anteriores y posteriores a este evento y la escala de tiempo del usuario.
¿Hay alguna manera de ver menos eventos por transacción cuando uso el SDK de JavaScript de Application Insights?
La experiencia de diagnóstico de transacciones muestra todos los datos de telemetría en una sola operación que comparte un id. de operación. De forma predeterminada, el SDK de Application Insights crea una operación para cada vista de página única. En una aplicación de página única (SPA), solo se genera un evento de vista de página y se usa un id. de operación único para todos los datos de telemetría generados. Como resultado, muchos eventos se pueden poner en correlación con la misma operación.
En estos escenarios, puede usar el seguimiento automático de rutas para crear automáticamente nuevas operaciones para la navegación en la aplicación de página única. Debe activar enableAutoRouteTracking para que se genere una vista de página cada vez que se actualice la ruta URL (se produce la vista de página lógica). Si desea actualizar manualmente el id. de operación, llame a appInsights.properties.context.telemetryTrace.traceID = Microsoft.ApplicationInsights.Telemetry.Util.generateW3CId()
. Al desencadenar manualmente un evento PageView, también se restablecerá el id. de operación.
¿Por qué las duraciones de los detalles de la transacción no se suman a la duración de la solicitud de nivel superior?
El tiempo que no se explica en el gráfico de Gantt es el tiempo que no está cubierto por una dependencia con seguimiento. Esta incidencia puede producirse porque las llamadas externas no se instrumentaron, ya sea de forma automática o manual. También se puede producir porque el tiempo necesario estaba en proceso, en vez de debido a una llamada externa.
Si se han instrumentado todas las llamadas, la causa principal probable del tiempo empleado es en proceso. Una herramienta útil para diagnosticar el proceso es el .NET Profiler.
¿Qué ocurre si veo el mensaje Error al recuperar datos al navegar por Application Insights en Azure Portal?
Este error indica que el explorador no pudo llamar a una API necesaria o que la API devolvió una respuesta de error. Para solucionar problemas del comportamiento, abra una ventana inPrivate del explorador y deshabilite las extensiones del explorador que se ejecutan; después, identifique si todavía puede reproducir el comportamiento del portal. Si el error del portal todavía se produce, inténtelo con otros exploradores u otras máquinas, investigue DNS u otros problemas relacionados con la red desde el equipo cliente en el que se producen errores en las llamadas API. Si el error del portal continúa y necesita más investigación, recopile un seguimiento de red del explorador al reproducir el comportamiento inesperado del portal y, a continuación, abra un caso de soporte técnico desde Azure Portal.