{"id":1966,"date":"2019-11-13T19:00:00","date_gmt":"2019-11-13T18:00:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/lavanack\/?p=1966"},"modified":"2022-05-30T13:52:55","modified_gmt":"2022-05-30T11:52:55","slug":"plt","status":"publish","type":"post","link":"https:\/\/laurentvanacker.com\/index.php\/2019\/11\/13\/plt\/","title":{"rendered":"Perfmon Log Translator (PLT)"},"content":{"rendered":"<p><a href=\"#en-us\" name=\"fr-fr\">Go to English version<\/a><\/p>\n<p align=\"justify\">[MAJ 13\/11\/2019] L\u2019utilisation de PAL a d\u00e9j\u00e0 \u00e9t\u00e9 couverte dans un <a title=\"https:\/\/blogs.technet.microsoft.com\/arnaud\/2015\/07\/22\/analyse-de-performances-de-serveurs-windows\/\" href=\"https:\/\/blogs.technet.microsoft.com\/arnaud\/2015\/07\/22\/analyse-de-performances-de-serveurs-windows\/\">article<\/a> d\u2019<a href=\"https:\/\/blogs.technet.microsoft.com\/arnaud\/\">Arnaud Lheureux<\/a> qui est disponible <a title=\"https:\/\/blogs.technet.microsoft.com\/arnaud\/2015\/07\/22\/analyse-de-performances-de-serveurs-windows\/\" href=\"https:\/\/blogs.technet.microsoft.com\/arnaud\/2015\/07\/22\/analyse-de-performances-de-serveurs-windows\/\">ici<\/a> (L\u2019article est en fran\u00e7ais. Pour toute autre langue je vous invite \u00e0 consulter <a title=\"https:\/\/github.com\/clinthuffman\/PAL\/\" href=\"https:\/\/github.com\/clinthuffman\/PAL\/\">Performance Analysis of Logs (PAL) Tool<\/a>)<\/p>\n<p align=\"justify\">Le principal probl\u00e8me dans l\u2019utilisation de <a title=\"https:\/\/github.com\/clinthuffman\/PAL\/\" href=\"https:\/\/github.com\/clinthuffman\/PAL\/\">PAL<\/a> vient de syst\u00e8mes d\u2019exploitation non install\u00e9s en anglais (en-us). En effet l\u2019outil se base sur les noms anglais des compteurs. Ce qui rend l\u2019analyse de donn\u00e9es (*.blg) issues d\u2019un serveur non anglophone impossible. <a title=\"http:\/\/pal.codeplex.com\/releases\/view\/21261\" href=\"http:\/\/pal.codeplex.com\/releases\/view\/21261\">Perfmon Log Translator (PLT)<\/a> est l\u00e0 pour pallier \u00e0 ce probl\u00e8me. Il assure la traduction de compteurs en anglais (gr\u00e2ce \u00e0 une correspondance des noms de compteurs inclus dans des fichiers XML &#8211; un fichier par langue). Malheureusement beaucoup de compteurs sont absents des fichiers XML fournis. J\u2019ai donc d\u00e9cid\u00e9 de pallier, en partie, \u00e0 ce probl\u00e8me. Quand je dis en partie, je me suis limit\u00e9 \u00e0 l\u2019OS, IIS et ASP.Net. Mais comme vous le verrez par la suite, il est tr\u00e8s simple d\u2019\u00e9tendre la traduction \u00e0 d\u2019autres r\u00f4les ou fonctionnalit\u00e9s du syst\u00e8me d\u2019exploitation et \u00e0 d\u2019autres langues. <strong>Si vous souhaitez juste r\u00e9cup\u00e9rer mes fichiers XML de traduction c\u2019est <\/strong><a href=\"https:\/\/github.com\/lavanack\/laurentvanacker.com\/tree\/master\/Windows%20Powershell\/Windows\/Performances\/PLT\/lavanack\"><strong>ici<\/strong><\/a><strong> que cela se passe (Pour de nombreuses cultures et les OS suivants : Windows Server 2008 R2, 2012, 2012R2, 2016 et 2019)<\/strong>. Dans tous les cas je vous invite quand m\u00eame \u00e0 lire la suite de l\u2019article.<\/p>\n<p align=\"justify\">Ces fichiers ont \u00e9t\u00e9 g\u00e9n\u00e9r\u00e9s gr\u00e2ce au <a href=\"https:\/\/github.com\/lavanack\/laurentvanacker.com\/tree\/master\/Windows%20Powershell\/Windows\/Performances\/PLT\/lavanack\/New-PLTFile.ps1\">script<\/a> suivant. Le principe est simple. Je liste les compteurs (et leur ID) sur un OS install\u00e9 en anglais (avec IIS et ASP.Net) que je m\u00e9morise dans un fichier CSV(*). Ensuite gr\u00e2ce au pack de langues (notamment dispo sur <a href=\"https:\/\/my.visualstudio.com\">https:\/\/my.visualstudio.com<\/a> et <a title=\"https:\/\/www.microsoft.com\/Licensing\/servicecenter\" href=\"https:\/\/www.microsoft.com\/Licensing\/servicecenter\">https:\/\/www.microsoft.com\/Licensing\/servicecenter<\/a>) je bascule en fran\u00e7ais et je recommence. L\u2019ID ne changeant pas, je fais la correspondance via cet ID. Attention toutefois, un m\u00eame compteur n\u2019a pas le m\u00eame ID en fonction de la version de Windows Server (je ne connais pas la raison). Il est donc n\u00e9cessaire d\u2019ex\u00e9cuter le\u00a0<a href=\"https:\/\/github.com\/lavanack\/laurentvanacker.com\/tree\/master\/Windows%20Powershell\/Windows\/Performances\/PLT\/lavanack\/New-PLTFile.ps1\">script<\/a> sur tous les OS qui vous int\u00e9ressent. Si vous souhaitez \u00e9tendre \u00e0 d\u2019autres r\u00f4les\/fonctionnalit\u00e9s, vous les installez sur votre OS (via des machines virtuelles ou <a href=\"https:\/\/azure.microsoft.com\">Azure<\/a>) et faites tourner le\u00a0<a href=\"https:\/\/github.com\/lavanack\/laurentvanacker.com\/tree\/master\/Windows%20Powershell\/Windows\/Performances\/PLT\/lavanack\/New-PLTFile.ps1\">script<\/a> dans chaque langue qui vous int\u00e9resse. A la fin vous obtiendrez un fichier XML (par exemple fr-FR_PFL.xml) par langue (dans un r\u00e9pertoire d\u00e9di\u00e9 par OS) . Ensuite vous copiez votre fichier dans le r\u00e9pertoire de <a title=\"http:\/\/pal.codeplex.com\/releases\/view\/21261\" href=\"http:\/\/pal.codeplex.com\/releases\/view\/21261\">PLT<\/a> en supprimant le suffixe.<\/p>\n<p align=\"justify\">(*)Le fichier CSV joue un r\u00f4le important car :<\/p>\n<ul>\n<li>\n<div align=\"justify\">S\u2019il n\u2019existe pas il sera cr\u00e9\u00e9 \u00e0 la premi\u00e8re utilisation (sur un OS anglais). Autrement les compteurs qu\u2019il contient (quelquesoit la langue) seront import\u00e9s en m\u00e9moire<\/div>\n<\/li>\n<li>\n<div align=\"justify\">Il est propre \u00e0 chaque OS (dans un r\u00e9pertoire d\u00e9di\u00e9)<\/div>\n<\/li>\n<li>\n<div align=\"justify\">Il est unique (pour un m\u00eame OS) quelquesoit la ou les langues utilis\u00e9es<\/div>\n<\/li>\n<li>\n<div align=\"justify\">il est donc de ce fait incr\u00e9mental (vous pouvez rajouter d\u2019autres packs de langues pour un OS) et refaire tourner le\u00a0<a href=\"https:\/\/github.com\/lavanack\/laurentvanacker.com\/tree\/master\/Windows%20Powershell\/Windows\/Performances\/PLT\/lavanack\/New-PLTFile.ps1\">script<\/a> directement dans cette nouvelle langue.<\/div>\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"http:\/\/laurentvanacker.com\/wp-content\/uploads\/2017\/01\/012717_1333_Fusionnerde1.png\" alt=\"\" \/><\/p>\n<p><a href=\"#fr-FR\" name=\"en-us\">Aller \u00e0 la version fran\u00e7aise<\/a><\/p>\n<p>[Update 11\/13\/2019] The PAL usage has already been covered in an <a title=\"https:\/\/blogs.technet.microsoft.com\/arnaud\/2015\/07\/22\/analyse-de-performances-de-serveurs-windows\/\" href=\"https:\/\/blogs.technet.microsoft.com\/arnaud\/2015\/07\/22\/analyse-de-performances-de-serveurs-windows\/\">article<\/a> of <a href=\"https:\/\/blogs.technet.microsoft.com\/arnaud\/\">Arnaud Lheureux<\/a> which is available <a title=\"https:\/\/blogs.technet.microsoft.com\/arnaud\/2015\/07\/22\/analyse-de-performances-de-serveurs-windows\/\" href=\"https:\/\/blogs.technet.microsoft.com\/arnaud\/2015\/07\/22\/analyse-de-performances-de-serveurs-windows\/\">here<\/a> (The article is written in the french language. For any other language, I invite you to read\u00a0 <a title=\"https:\/\/github.com\/clinthuffman\/PAL\/\" href=\"https:\/\/github.com\/clinthuffman\/PAL\/\">Performance Analysis of Logs (PAL) Tool<\/a>)<\/p>\n<p align=\"justify\">The main problem with the <a title=\"https:\/\/github.com\/clinthuffman\/PAL\/\" href=\"https:\/\/github.com\/clinthuffman\/PAL\/\">PAL<\/a> 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. <a title=\"http:\/\/pal.codeplex.com\/releases\/view\/21261\" href=\"http:\/\/pal.codeplex.com\/releases\/view\/21261\">Perfmon Log Translator (PLT)<\/a> is there to overcome this problem. It ensures the translation english counters (via the matching of the counter names of included in XML files &#8211; 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. <strong>If you just want to retrieve my translation XML files this is <a href=\"https:\/\/github.com\/lavanack\/laurentvanacker.com\/tree\/master\/Windows%20Powershell\/Windows\/Performances\/PLT\/lavanack\">here<\/a> (For multiples cultures and the following OSes: Windows Server 2008 R2, 2012, 2012R2, 2016 et 2019)<\/strong>. Nevertheless, I invite you to read the rest of the article.<\/p>\n<p align=\"justify\">These files were generated by the following <a href=\"https:\/\/github.com\/lavanack\/laurentvanacker.com\/tree\/master\/Windows%20Powershell\/Windows\/Performances\/PLT\/lavanack\/New-PLTFile.ps1\">script<\/a>. 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 <a href=\"https:\/\/my.visualstudio.com\">https:\/\/my.visualstudio.com<\/a> and <a href=\"https:\/\/www.microsoft.com\/Licensing\/servicecenter)\">https:\/\/www.microsoft.com\/Licensing\/servicecenter)<\/a> 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\u00a0<a href=\"https:\/\/github.com\/lavanack\/laurentvanacker.com\/tree\/master\/Windows%20Powershell\/Windows\/Performances\/PLT\/lavanack\/New-PLTFile.ps1\">script<\/a> 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 <a href=\"https:\/\/azure.microsoft.com\">Azure<\/a>) and run the\u00a0<a href=\"https:\/\/github.com\/lavanack\/laurentvanacker.com\/tree\/master\/Windows%20Powershell\/Windows\/Performances\/PLT\/lavanack\/New-PLTFile.ps1\">script<\/a> 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 <a title=\"http:\/\/pal.codeplex.com\/releases\/view\/21261\" href=\"http:\/\/pal.codeplex.com\/releases\/view\/21261\">PLT<\/a> directory by deleting the suffix. Indeed in PAL the name is simply en-FR_PFL.xml (for the French correspondence ==&gt; English).<\/p>\n<p align=\"justify\">(*)The CSV file plays an important role because:<\/p>\n<ul>\n<li>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<\/li>\n<li>It is unique for each OS (in a dedicated folder)<\/li>\n<li>It is unique (for the same OS) regardless of the language(s) used<\/li>\n<li>It is therefore incremental (you can add other language packs for an OS) and redo the <a href=\"https:\/\/github.com\/lavanack\/laurentvanacker.com\/tree\/master\/Windows%20Powershell\/Windows\/Performances\/PLT\/lavanack\/New-PLTFile.ps1\">script<\/a> directly with this new language.<\/li>\n<\/ul>\n<p>Laurent<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Go to English version [MAJ 13\/11\/2019] L\u2019utilisation de PAL a d\u00e9j\u00e0 \u00e9t\u00e9 couverte dans un article d\u2019Arnaud Lheureux qui est disponible ici (L\u2019article est en [&#8230;]<\/p>\n","protected":false},"author":2,"featured_media":2469,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,19],"tags":[48,25,32,35,37,39],"class_list":["post-1966","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-performances","category-powershell","tag-github","tag-iis","tag-pal","tag-performance-monitor","tag-plt","tag-powershell"],"_links":{"self":[{"href":"https:\/\/laurentvanacker.com\/index.php\/wp-json\/wp\/v2\/posts\/1966","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/laurentvanacker.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/laurentvanacker.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/laurentvanacker.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/laurentvanacker.com\/index.php\/wp-json\/wp\/v2\/comments?post=1966"}],"version-history":[{"count":14,"href":"https:\/\/laurentvanacker.com\/index.php\/wp-json\/wp\/v2\/posts\/1966\/revisions"}],"predecessor-version":[{"id":2897,"href":"https:\/\/laurentvanacker.com\/index.php\/wp-json\/wp\/v2\/posts\/1966\/revisions\/2897"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/laurentvanacker.com\/index.php\/wp-json\/wp\/v2\/media\/2469"}],"wp:attachment":[{"href":"https:\/\/laurentvanacker.com\/index.php\/wp-json\/wp\/v2\/media?parent=1966"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/laurentvanacker.com\/index.php\/wp-json\/wp\/v2\/categories?post=1966"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/laurentvanacker.com\/index.php\/wp-json\/wp\/v2\/tags?post=1966"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}