Supervisar contadores de rendimiento y eventos de StreamInsight
Ahora puede usar su infraestructura de diagnóstico existente para supervisar los procesos y consultas de StreamInsight, así como solucionar problemas, con el Monitor de rendimiento y el Visor de eventos.
En este tema
Contadores de rendimiento
Configurar contadores de rendimiento
Lista de contadores de rendimiento
¿Cuál es la utilidad de los contadores de rendimiento?
Eventos administrativos
Configurar el registro administrativo
Lista de eventos administrativos
Contadores de rendimiento
StreamInsight instala y configura contadores de rendimiento. Puede supervisar estos contadores con el Monitor de rendimiento u otra herramienta de supervisión.
Los contadores de rendimiento están disponibles para los siguientes objetos de StreamInsight:
Servidores
Consultas
Adaptadores de entrada
Resistencia
Configurar contadores de rendimiento
Los contadores de rendimiento se instalan y configuran al instalar StreamInsight. Esta opción de instalación no se puede configurar.
Los contadores de la categoría Servidores están activados de forma predeterminada y no se pueden desactivar. Los contadores de las categorías Consultas y Adaptadores de entrada están desactivados de forma predeterminada. Al activar los contadores para una consulta, los contadores de los adaptadores de entrada asociados también se activan. Al reiniciar una instancia de StreamInsight, se restauran estos comportamientos predeterminados.
Cómo activar los contadores para una sola consulta
Puede activar los contadores de una consulta específica y sus adaptadores de entrada asociados si habilita un nuevo Aspect en una llamada a Server.SetDiagnosticSettings.
Por ejemplo, puede usar el siguiente código para activar los contadores de rendimiento para la consulta con el URI, cep:/Server/Application/MyApp/Query/MyQuery.
DiagnosticSettings settings = server.GetDiagnosticSettings(new Uri(“cep:/Server/Application/MyApp/Query/MyQuery”);
Settings.Aspects |= DiagnosticAspect.PerformanceCounters;
server.SetDiagnosticSettings(new Uri(“cep:/Server/Application/MyApp/Query/MyQuery”), settings);
Puede usar el siguiente código para desactivar los contadores de rendimiento para la misma consulta.
DiagnosticSettings settings = server.GetDiagnosticSettings(new Uri(“cep:/Server/Application/MyApp/Query/MyQuery”);
Settings.Aspects & ~DiagnosticAspect.PerformanceCounters;
server.SetDiagnosticSettings(new Uri(“cep:/Server/Application/MyApp/Query/MyQuery”), settings);
Cómo activar los contadores para todas las consultas
También puede usar un bucle foreach a fin de activar los contadores de rendimiento para todas las consultas y adaptadores de entrada en una aplicación.
foreach (var q in application.Queries)
{
DiagnosticSettings settings = server.GetDiagnosticSettings(q.Value.Name);
settings.Aspects |= DiagnosticAspect.PerformanceCounters;
server.SetDiagnosticSettings(q.Value.Name, settings);
}
Para obtener más información acerca de las clases y los métodos usados en las muestras de código anteriores, vea los siguientes temas:
[ARRIBA]
Lista de contadores de rendimiento
Convenciones de nomenclatura
Las cadenas como los nombres de aplicación que tienen más de 16 caracteres se reducen según la siguiente fórmula: first 10 characters + 2 periods + last 4 characters.
En las convenciones de nomenclatura específicas que se describen más abajo, uniqueid hace referencia al identificador del objeto en el tiempo de ejecución.
Contadores de servidor
Convención de nomenclatura para las instancias de servidor: %PROCESSNAME%[uniqueid], donde %PROCESSNAME% es el nombre del proceso de hospedaje.
Nombre |
Descripción |
---|---|
Eventos en colas de entrada |
Número de eventos en colas de entrada para todas las consultas. |
Eventos en colas de salida |
Número de eventos en colas de salida para todas las consultas. |
Memoria |
Memoria total usada (en bytes) para todos los flujos, eventos e índices de operador. |
Consultas en ejecución |
Número de consultas que se están ejecutando actualmente. |
Contadores de consulta
Convención de nomenclatura para las instancias de consulta: %APPLICATION NAME%,%QUERY NAME%[uniqueid],%SERVER_INSTANCE_NAME%, donde %SERVER_INSTANCE_NAME% es el nombre de instancia del servidor al que pertenece la consulta.
Nombre |
Descripción |
---|---|
Promedio de latencia de eventos producidos |
Promedio de latencia (en milisegundos) de los eventos que produce la consulta cada segundo. |
CTI producidos |
Número de CTI producidos. |
Eventos en cola de salida |
Número de eventos de la cola de salida. |
Eventos producidos |
Número de eventos producidos. |
Memoria |
Memoria total usada (en bytes), incluidos eventos, índices y flujos. |
Eventos producidos/s |
Número de eventos producidos por segundo. |
Contadores de adaptador de entrada
Convención de nomenclatura para las instancias de adaptador: %APPLICATION NAME%,%QUERY NAME%,%ADAPTER NAME%[uniqueid],%SERVER_INSTANCE_NAME%.
Nombre |
Descripción |
---|---|
Eventos ajustados |
Número de eventos cuyos metadatos temporales se ajustaron según la directiva AdvanceTimeSettings. |
Entrada de CTI |
Número de CTI enviados a la cola de salida. |
Eventos quitados |
Número de eventos quitados según la directiva AdvanceTimeSettings. |
Eventos en cola de entrada |
Número de eventos en la cola de entrada (incluidos los CTI). |
Eventos entrantes/s |
Número de eventos recibidos por el adaptador por segundo. |
Reanudaciones/s |
Número de transiciones al estado de ejecución por segundo. |
Suspensiones/s |
Número de transiciones al estado de suspensión por segundo. |
Total de eventos puestos en cola |
Número de eventos puestos en cola. |
[ARRIBA]
¿Cuál es la utilidad de los contadores de rendimiento?
A continuación se indican algunos ejemplos de los escenarios en los que los contadores de rendimiento pueden ayudarle a entender, supervisar y solucionar problemas de sus aplicaciones StreamInsight:
Escenarios de servidor
Consumo de memoria. ¿Cuánta memoria ocupa la instancia incrustada de StreamInsight, independientemente de la aplicación de hospedaje?
Planeamiento de capacidad. ¿Cuántas consultas se pueden ejecutar en este servidor antes de que se deteriore el rendimiento?
Análisis al final del proyecto. ¿Cuántas consultas se estaban ejecutando cuando se bloqueó el servidor?
Escenarios de consulta
Supervisión del rendimiento. ¿Dónde está el cuello de botella?
Supervisión de la latencia.
[ARRIBA]
Eventos administrativos
StreamInsight guarda eventos en el registro de eventos de aplicación de Windows. Puede consultar este registro con el Visor de eventos u otra herramienta de supervisión. Los eventos registrados le ayudan a supervisar los cambios de estado y a solucionar las anomalías que se puedan producir en las aplicaciones StreamInsight.
Los eventos se registran mediante los siguientes objetivos StreamInsight:
Server
Query
Configurar el registro administrativo
El registro administrativo está activado de forma predeterminada. Puede desactivar y activar el registro administrativo únicamente en el nivel de la instancia de StreamInsight (cep:/Server/).
Cómo desactivar el registro administrativo
DiagnosticSettings settings = server.GetDiagnosticSettings(new Uri("cep:/Server/"));
settings.Aspects &= ~DiagnosticAspect.AdminLog;
server.SetDiagnosticSettings(new Uri("cep:/Server/"), settings);
Cómo activar el registro administrativo
DiagnosticSettings settings = server.GetDiagnosticSettings(new Uri("cep:/Server/"));
settings.Aspects |= DiagnosticAspect.AdminLog;
server.SetDiagnosticSettings(new Uri("cep:/Server/"), settings);
[ARRIBA]
Lista de eventos administrativos
En la siguiente tabla se enumeran los eventos que pueden aparecer en el registro de eventos.
El origen de todos los eventos administrativos de StreamInsight es StreamInsight.
Eventos de consulta
Símbolo |
Identificador del evento |
Nivel |
Mensaje |
Parámetros |
---|---|---|---|---|
QueryInitializing |
11001 |
Información |
La consulta {0} se está inicializando. |
URI de consulta |
QueryRunning |
11002 |
Información |
La consulta {0} se está ejecutando. |
URI de consulta |
QueryCheckpointing |
11003 |
Información |
La consulta [0} está realizando la comprobación de puntos. |
URI de consulta |
QueryStopping |
11004 |
Información |
La consulta {0} se está deteniendo. |
URI de consulta |
QuerySuspended |
11005 |
Información |
La consulta {0} está suspendida. |
URI de consulta |
QueryCompleted |
11006 |
Información |
La consulta {0} se ha completado. |
URI de consulta |
QueryAborted |
11007 |
Advertencia |
La consulta {0} se ha anulado. |
URI de consulta |
QueryStopped |
11008 |
Información |
La consulta {0} se ha detenido. |
URI de consulta |
QueryError |
11500 |
Advertencia |
Se ha producido una excepción en la consulta {0}. Detalles de la excepción: {1} |
URI de consulta, mensaje de la excepción. |
QueryRecoveryError |
11501 |
Error |
Se ha producido una excepción en la consulta {0} durante la recuperación. Detalles de la excepción: {1} |
URI de consulta, mensaje de la excepción. |
QueryCheckpointError |
11502 |
Error |
Se ha producido una excepción en la consulta {0} durante la comprobación de puntos. Detalles de la excepción: {1} |
URI de consulta, mensaje de la excepción. |
Eventos de servidor
Símbolo |
Identificador del evento |
Nivel |
Mensaje |
Parámetros |
---|---|---|---|---|
ServerCreated |
1000 |
Información |
Se ha creado el servidor. |
|
ServerDisposed |
1001 |
Información |
Se ha eliminado el servidor. |
[ARRIBA]