IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Sur quelle technologie est basée la nouvelle plate-forme de compteur de performance de Windows ?

Toutes les semaines un peu de code pour aller plus loin avec Windows 7

Retrouvez l'intégralité des questions / réponses sur le développement sous Windows 7 dans l'article suivant.

Commentez cet article : 41 commentaires Donner une note à l´article (5)

Article lu   fois.

Les deux auteurs

Profil Pro

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Sur quelle technologie est basée la nouvelle plate-forme de compteur de performance de Windows ?

Les nouveaux compteurs de performances de Windows sont basés sur Event Tracing for Windows (http://msdn.microsoft.com/fr-fr/library/aa363668.aspx). Ils fournissent de meilleures performances et une meilleure fiabilité, en permettant une collecte de données et de rapports, plus rapides, avec moins de consommation mémoire, tout en évitant l'enregistrement dans le registre Windows et le partage de mémoire.

Les développeurs n'ont plus besoin d'écrire et d'enregistrer des Dll pour ajouter à leurs applications des compteurs de performance. En fait, ils n'ont plus besoin d'écrire de code du tout. À la place, ils créent des fichiers manifestes au format XML, qui décrivent les compteurs, et avec l'outil CTRPP.EXE, ils créent les coquilles C, qu'ils peuvent alors intégrer à leurs applications.

Le code généré par CTRPP.EXE, appelle directement les APIs PerfLib V 2.0 pour enregistrer les compteurs.

Exemple de manifeste
Sélectionnez
<instrumentationManifest>
  <instrumentation>
    <Counters>
      <Provider         callback="custom"
                        providerName="FournisseurSimpleDeCompteurs"
                        applicationIdentity="TestPerfLibV2.exe"
                        providerType="userMode"
                        providerGuid="{A64503B4-43DD-430d-8EFD-9DB77DBF0D17}"
                        >
        <counterSet
                        guid="{8B52B3AC-B74C-4772-82E3-E6A114AA3688}"
                        uri ="EV.Compteurs.TestSimple"
                        name=".À Test de compteurs"
                        description="Test de création de compteurs avec l'architecture V 2.0"
                        instances="single">

          <counter id="1"
                          uri="EV.Compteurs.TestSimple.Compteur1"
                          name="Compteur1"
                          type="perf_counter_rawcount"
                          detailLevel="standard"
                          description="Ceci est un test de compteur simple"
                          defaultScale="-1">            
          </counter>
        </counterSet>
                    
      </Provider>

    </Counters>
    
  </instrumentation >
</instrumentationManifest>
Exemple d'appel
Sélectionnez
ULONG PerfAutoInitialize(
    void
)
{
    ULONG Status = ERROR_SUCCESS;

    Status = PerfStartProvider(
            (LPGUID) & ProviderGuid_TestPerfLibV2_1,
            (PERFLIBREQUEST) ControlCallback_TestPerfLibV2_1,
            & hDataSource_TestPerfLibV2_1);
    if (Status != ERROR_SUCCESS) {
        goto Cleanup;
    }

    Status = PerfSetCounterSetInfo(
            hDataSource_TestPerfLibV2_1,
            (PPERF_COUNTERSET_INFO) & CtrSet_TestPerfLibV2_1_1,
            dwCtrSet_TestPerfLibV2_1_1);
    if (Status != ERROR_SUCCESS) {
        goto Cleanup;
    }

Cleanup:
    if (Status != ERROR_SUCCESS) {
        PerfStopProvider(hDataSource_TestPerfLibV2_1);
    }
    return Status;
}

Pour plus d'infos

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

Copyright © 2011 Microsoft MSDN France. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC.