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]