Le journal des performances

Le journal des performances contient des détails sur la durée d'exécution d'un job ou d'un service. Il inclut des informations sur les performances globales du job ou du service ainsi que des informations sur les performances de chaque stage du flux de données du job ou du service. Vous pouvez utiliser ces informations pour identifier les goulots d'étranglement de votre flux de données en affichant le temps d'exécution et le temps de traitement de chaque stage. Une grande différence entre le temps d'exécution et le temps de traitement signifie que le stage passe du temps à attendre les données des stages en amont. Cela peut indiquer qu'un stage en amont représente un goulot d'étranglement dans le flux de données. Notez que, pour les collecteurs de données, une grande différence entre le temps d'exécution et le temps de traitement n'indique pas forcément un problème de performances, car les collecteurs de données doivent généralement attendre les premiers enregistrements du reste du flux de données.

Pour permettre l'analyse des performances d'un job ou d'un service, utilisez la commande performancemonitor enabled set de l'utilitaire Administration.

Le journal des performances se trouve sur votre serveur Spectrum™ Technology Platform, à l'emplacement suivant :

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

Le journal des performances contient une ligne pour chaque exécution d'un job ou d'un service surveillé. Il s'agit d'un journal évolutif qui se compose d'un maximum de cinq fichiers. Chaque fichier est limité à une taille de 10 Mo. Une fois cette limite atteinte, les données de performances les plus anciennes sont supprimées lorsque de nouvelles données de performances sont consignées.

Chaque entrée du journal des performances contient les informations suivantes.
Remarque : Pour faciliter la lecture, des sauts de ligne et des indentations ont été rajoutés ci-dessous. Dans le journal réel, l'entrée se présente sur une seule ligne.
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
          }
     ]
}

Où :

username
L'utilisateur qui a exécuté le job ou le service.
dataflowID
Nom du service ou du job tel que défini dans Enterprise Designer.
runMode
Indique si l'entrée du journal est celle d'un job ou d'un service. L'un des éléments suivants :
Batch
L'entrée du journal est celle d'un job.
RealTime
L'entrée du journal est celle d'un service.
remote
Indique si le job ou le service a été exécuté sur le serveur local ou sur un serveur distant. Pour les jobs contenant un ou plusieurs stages exécutés sur un serveur distant, le journal des performances du serveur qui exécute le job indique que le job n'est pas distant (valeur « false »), tandis que le journal des performances du serveur distant qui exécute un ou plusieurs stages du job indique que le job est distant (valeur « true »). L'un des éléments suivants :
true
Le job ou le service a été exécuté sur un serveur distant.
false
Le job ou le service a été exécuté sur le serveur local.
elapsedTime
Temps en nanosecondes nécessaire à l'exécution de la requête de job ou de service.
stageInfo
Répertorie les informations d'exécution de chaque stage du flux de données. Les informations suivantes sont répertoriées pour chaque stage :
stageName
Nom permanent du stage.
stageLabel
Nom du stage, défini par l'utilisateur. Le libellé du stage est indiqué sur le canevas dans Enterprise Designer.
options
Si aucune des options ont été spécifiées lors de l'exécution, ces options et leurs paramètres sont répertoriés ici.
recordsRead
Nombre total d'enregistrements qui sont passées par le stage via tous ses ports d'entrée.
recordsWritten
Nombre total d'enregistrements écrits par ce stage sur tous ses ports de sortie.
executiontime
Temps écoulé depuis le traitement par le stage du premier au dernier enregistrements. Cela inclut le temps d'inactivité du stage, passé à attendre les données des autres stages du flux de données.
processingtime
Temps passé par le stage à traiter activement les enregistrements, à l'exclusion du temps d'inactivité, passé à attendre les autres stages du flux de données.