El registro de rendimiento

El registro de rendimiento contiene detalles acerca de cuánto lleva ejecutar un trabajo o un servicio. Incluye información general de rendimiento para el trabajo o el servicio asó como información de rendimiento para cada etapa del flujo de datos del trabajo y el servicio. Puede utilizar esta información para identificar cuellos de botella en su flujo de datos observando el tiempo de ejecución y el tiempo de procesamiento para cada etapa. Una gran diferencia entre el tiempo de ejecución y el tiempo de procesamiento significa que la etapa pasa mucho tiempo esperando los datos de una etapa anterior. Esto puede indicar que una etapa anterior es un cuello de botella en el flujo de datos. Observe que para los receptores, una gran diferencia entre el tiempo de ejecución y el tiempo de procesamiento no indica necesariamente un problema de rendimiento ya que los receptores generalmente tienen que esperar los primeros registros del resto del flujo de datos.

Para habilitar el control de rendimiento para un trabajo o servicio, utilice el comando performancemonitor enabled set de Utilidad de administración.

El registro de rendimiento se ubica en su Spectrum Technology Platform servidor en la siguiente ubicación:

SpectrumLocation\server\app\repository\logs\performance.log

El registro de rendimiento contiene una fila para cada ejecución de un trabajo o servicio controlado. Es un registro de distribución que consta de un máximo de cinco archivos. Cada archivo está limitado a 10 MB en tamaño. Una vez alcanzado el límite, los datos de rendimiento más antiguos se eliminan cuando se registran nuevos datos de rendimiento.

Cada entrada en el registro de rendimiento contiene la siguiente información.
Nota: Para facilitar la lectura, a continuación se muestran saltos de línea y sangrías. En el registro real, la entrada es una sola línea.
Date Time [performance]
{
     "username":"UserName",
     "dataflowId":"DataflowName",
     "runMode":"BatchOrRealTime",
     "remote":TrueOrFalse,
     "elapsedTime":Nanoseconds,
     "stageInfo":[
          {
               "stageName":"Name",
               "stageLabel":"Label",
               "options":{
                    OptionsList
               },
               "recordsRead":Count,
               "recordsWritten":Count,
               "executionTime":Nanoseconds,
               "processingTime":Nanoseconds
          }
     ]
}

Donde:

username
El usuario que ejecutó el trabajo o servicio.
dataflowID
El nombre del servicio o trabajo como se define en Enterprise Designer.
runMode
Indica si es una entrada de registro para trabajo o servicio. Una de las siguientes:
Batch
La entrada de registro es para un trabajo.
RealTime
La entrada de registro es para un servicio.
remote
Indica si se ejecutó un trabajo o servicio en el servidor local o en un servidor remoto. Para los trabajos que contienen una o más etapas que se ejecutan en un servidor remoto, el registro de rendimiento del servidor que ejecuta el trabajo indicará que el trabajo no es remoto (un valor de "falso") mientras el registro de rendimiento del servidor remoto que ejecuta una o más de las etapas de trabajo indicará que el trabajo es remoto (un valor de "real"). Una de las siguientes:
true
El trabajo o servicio se ejecutó en un servidor remoto.
false
El trabajo o servicio se ejecutó en el servidor local.
elapsedTime
El tiempo en nanosegundos que le llevó ejecutar el trabajo o servicio solicitado.
stageInfo
Menciona información de ejecución para cada etapa del flujo de datos. Se menciona la siguiente información para cada etapa:
stageName
El nombre permanente de la etapa.
stageLabel
El nombre definido por el usuario de la etapa. La etiqueta de etapa aparece en el lienzo en Enterprise Designer.
options
Si no se especificó ninguna opción en el tiempo de ejecución, dichas opciones y sus ajustes se incluyen aquí.
recordsRead
El número total de registros que pasaron a la etapa a través de todos los puertos de entrada de la etapa.
recordsWritten
El número total de registros que escribió la etapa para todos sus puertos de salida.
executiontime
La cantidad de tiempo de cuando la etapa procesó su primer registro y cuando procesó su último registro. Esto incluye el tiempo en que la etapa estuvo inactiva mientras esperaba los datos de otras etapas en el flujo de datos.
processingtime
La cantidad de tiempo que la etapa pasó de manera activa procesando registros, sin incluir el tiempo que estuvo inactiva mientras esperaba otras etapas del flujo de datos.