Perfmon Log Translator (PLT)

Go to English version

[MAJ 13/11/2019] L’utilisation de PAL a déjà été couverte dans un article d’Arnaud Lheureux qui est disponible ici (L’article est en français. Pour toute autre langue je vous invite à consulter Performance Analysis of Logs (PAL) Tool)

Le principal problème dans l’utilisation de PAL vient de systèmes d’exploitation non installés en anglais (en-us). En effet l’outil se base sur les noms anglais des compteurs. Ce qui rend l’analyse de données (*.blg) issues d’un serveur non anglophone impossible. Perfmon Log Translator (PLT) est là pour pallier à ce problème. Il assure la traduction de compteurs en anglais (grâce à une correspondance des noms de compteurs inclus dans des fichiers XML – un fichier par langue). Malheureusement beaucoup de compteurs sont absents des fichiers XML fournis. J’ai donc décidé de pallier, en partie, à ce problème. Quand je dis en partie, je me suis limité à l’OS, IIS et ASP.Net. Mais comme vous le verrez par la suite, il est très simple d’étendre la traduction à d’autres rôles ou fonctionnalités du système d’exploitation et à d’autres langues. Si vous souhaitez juste récupérer mes fichiers XML de traduction c’est ici que cela se passe (Pour de nombreuses cultures et les OS suivants : Windows Server 2008 R2, 2012, 2012R2, 2016 et 2019). Dans tous les cas je vous invite quand même à lire la suite de l’article.

Ces fichiers ont été générés grâce au script suivant. Le principe est simple. Je liste les compteurs (et leur ID) sur un OS installé en anglais (avec IIS et ASP.Net) que je mémorise dans un fichier CSV(*). Ensuite grâce au pack de langues (notamment dispo sur https://my.visualstudio.com et https://www.microsoft.com/Licensing/servicecenter) je bascule en français et je recommence. L’ID ne changeant pas, je fais la correspondance via cet ID. Attention toutefois, un même compteur n’a pas le même ID en fonction de la version de Windows Server (je ne connais pas la raison). Il est donc nécessaire d’exécuter le script sur tous les OS qui vous intéressent. Si vous souhaitez étendre à d’autres rôles/fonctionnalités, vous les installez sur votre OS (via des machines virtuelles ou Azure) et faites tourner le script dans chaque langue qui vous intéresse. A la fin vous obtiendrez un fichier XML (par exemple fr-FR_PFL.xml) par langue (dans un répertoire dédié par OS) . Ensuite vous copiez votre fichier dans le répertoire de PLT en supprimant le suffixe.

(*)Le fichier CSV joue un rôle important car :

  • S’il n’existe pas il sera créé à la première utilisation (sur un OS anglais). Autrement les compteurs qu’il contient (quelquesoit la langue) seront importés en mémoire
  • Il est propre à chaque OS (dans un répertoire dédié)
  • Il est unique (pour un même OS) quelquesoit la ou les langues utilisées
  • il est donc de ce fait incrémental (vous pouvez rajouter d’autres packs de langues pour un OS) et refaire tourner le script directement dans cette nouvelle langue.

Aller à la version française

[Update 11/13/2019] The PAL usage has already been covered in an article of Arnaud Lheureux which is available here (The article is written in the french language. For any other language, I invite you to read  Performance Analysis of Logs (PAL) Tool)

The main problem with the PAL usage comes from non-english (en-us) operating systems. Indeed, this tool uses only english performance counters. That makes the analysis of data (* .blg) from a non-English server impossible. Perfmon Log Translator (PLT) is there to overcome this problem. It ensures the translation english counters (via the matching of the counter names of included in XML files – one file per language). Unfortunately many counters are missing from the supplied XML files. So I decided to partially address this problem. When I say in partially, I focus only to the OS, IIS and ASP.Net. But as you will see later, it is very simple to extend the translation to other roles or functionalities of the operating system and to other languages. If you just want to retrieve my translation XML files this is here (For multiples cultures and the following OSes: Windows Server 2008 R2, 2012, 2012R2, 2016 et 2019). Nevertheless, I invite you to read the rest of the article.

These files were generated by the following script. The principle is pretty simple. I list the counters (and their ID) on an english OS (with IIS and ASP.Net) that I store in a CSV file(*). Then I install the relevant language pack (especially available on https://my.visualstudio.com and https://www.microsoft.com/Licensing/servicecenter) I switch to French and I start again. The ID does not change, I do the correspondence via this ID. Be careful though, the same counter does not have the same ID depending on the version of Windows Server (I do not know the reason). It is therefore necessary to run the script on all the OSes you are interested in. If you want to extend to other roles / features, install them on your OS (via virtual machines or Azure) and run the script in each language you are interested in. At the end you will get an XML file (for example fr-FR_PFL.xml) per language (in a dedicated folder per OS). Then you copy your file to the PLT directory by deleting the suffix. Indeed in PAL the name is simply en-FR_PFL.xml (for the French correspondence ==> English).

(*)The CSV file plays an important role because:

  • If it does not exist it will be created at the first use (on an English OS). Otherwise the counters it contains (regardless language) will be imported into memory
  • It is unique for each OS (in a dedicated folder)
  • It is unique (for the same OS) regardless of the language(s) used
  • It is therefore incremental (you can add other language packs for an OS) and redo the script directly with this new language.

Laurent

Feel free to share:)