LES COMPTEURS DE PERFORMANCES SOUS NT/2K/XP AVEC PDH.DLL

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 14 déc. 2004 à 11:40
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 - 12 juil. 2006 à 22:54
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/28172-les-compteurs-de-performances-sous-nt-2k-xp-avec-pdh-dll

MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
12 juil. 2006 à 22:54
Ouinnnnnn :'(
J'arrive pas à y croire, j'ai cherché toute la soirée, pendant bien 3 heures, sur tout internet, les liens que ShareVB m'avait passé il y a longtemps dans le forum, sans arriver à rien executer sur mon pc. J'allais abandonner, quand je suis retombé sur cette source... Dire que je l'avais déjà vue, déjà commentée, et oubliée...
Ahhh j'ai honte de moi, c'est une des meilleurs sources de vbfrance, elle est magnifique de simplicité pour un truc aussi compliqué...
Ahhhhhhhhhh ça marche j'y crois pas, ShareVB tu as un fan de + sur cette terre lol ;)

MERCI !

(promis cette fois-ci j'utilise cette source et je l'oublie pas)
Clubix Messages postés 4 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 3 mai 2006
3 mai 2006 à 10:24
Ah d'accord merci.
C'est Visual Studio InterDev 6.0 et Visual Studio .Net que j'ai.
Je vais quand meme essayer mais effectivement il faut que je transcrive tout.
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
2 mai 2006 à 18:38
salut,

déjà si tu parles d'espace de nom, c'est surement que tu as VB2005 mais surement pas VB6...

ben sinon, tu dézippes...tu doubles clic sur le fichier VBP et tu fais F5 et le prog se lance...

si tu veux le traduire en VB.Net...ben arme toi de courage et de passience...

ShareVB
Clubix Messages postés 4 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 3 mai 2006
2 mai 2006 à 16:38
Si je comprend bien en fait les sources sont a ajouter a un projet deja existant. Il ne s'agit pas la d'un projet. On ne peut pas s'en servir tel quel ?
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 mai 2006 à 15:42
normalement tu as juste à copier le .bas et le .cls dans le rep de ton projet et les ajouter. regarde ensuite dans la Form quelles sont les déclarations, et dans le projet s'il y a des références à ajouter (menu > projet)
Clubix Messages postés 4 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 3 mai 2006
2 mai 2006 à 15:23
Oui merci.
Apres j'ai fait Fichier->Ouvrir->Projet et ouvert prjPDH.vb.
Ensuite comme il faut inclure PDHQuery j'ai fait Fichier->Ajouter un element existant : PDHQuery
Et la en fait j'ai beaucoup d'erreur avec des "declarations attendues" "Instruction non valide dans un espace de noms" etc...
Quel est la bonne demarche ?
merci
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 mai 2006 à 10:56
salut Clubix,
Microsoft Visual Basic 6.0
Clubix Messages postés 4 Date d'inscription mercredi 19 avril 2006 Statut Membre Dernière intervention 3 mai 2006
2 mai 2006 à 10:33
salut

Quel editeurs utilisé-vous pour executer les fichiers, le projet svp ? Merci
ex_facteur Messages postés 1 Date d'inscription jeudi 15 avril 2004 Statut Membre Dernière intervention 31 mars 2006
31 mars 2006 à 16:37
Elle est mortelle cette classe !! J'etais en train de me galerer pour trouver les valeurs d'occupation processeur et avec ce code, j'ai l'info tres facilement. Pour comprendre un peu le code(je suis novice en VB6), j'ai du me documenter sur la DLL(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/perfmon/base/performance_data_helper.asp).
Mais en bidouillant un peu la feuille(ajout d'une textBox pour afficher le nom et chemin du compteur selectionné), j'ai pu facilement implementer la classe dans mon propre projet.

Voici un exemple de mon code utilisant la classe :
Ne pas oublier de mettre le module de classe "PDHQuery.cls" dans le projet

Private Sub Form_Load()

'-----------------------------------------------------------------------------------
' creation de la requete
Set p = New PDHQuery
'le format est : '\\MachineName\ObjectName(InstanceName)\CounterName
'par ex : '\Processeur(0)\% Temps Processeur'

Dim szCounter As String

' ajout d'un compteur a la requête
szCounter = "\Processeur(_Total)\% Temps processeur"
If Len(szCounter) = 0 Then Exit Sub

p.AddCounterByName szCounter


End Sub


Private Sub Timer1_Timer()
Dim X As Long, icnt As Long

' on collecte les valeurs toutes les secondes
p.Collect

'Affichage des donnees du compteur dans ma textbox "Lab_CPULibreDonnee"
Lab_CPULibreDonnee.Caption = p.GetFormattedDataByIndex(0) '0 : pour l'indice du numero du compteur ajoute
End Sub
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
28 juil. 2005 à 09:21
de toute façon une partie de Windows est écrite en ASM et pas en C...Windows 2K utilise une interruption (2Ah si je me souviens bien) pour implémenter les API NtXXX de ntdll.dll qui implémentent elle-même la majorité des Api Win32...

ShareVB
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
28 juil. 2005 à 00:20
Ah ouais comme en assembleur ??
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
16 juil. 2005 à 10:43
salut,

une DPC, c'est une procédure qui sera exécutée en mode kernel quand le processeur n'aura rien à faire de plus urgent...(Deferred procedure call)
une interruption, c'est un bout de code qui est appelé à chaque fois qu'un périph (ou un logiciel avec INT) le demande.
Je pense qu'il y a quasiment toujours une API qui donne les fonctionnalités d'une interruption...je ne sais pas comment, on peut avoir besoin de l'INT 21h en VB...et puis pour les capter, là, c'est pas avec VB...

ShareVB
Afyn Messages postés 608 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 22 décembre 2016
14 juil. 2005 à 12:06
Quelques précisions ?
DPC ? ca veut dire quoi ?
Et interruptions ? On peut avoir accès aux interruptions sous VB ?

Merci d'avance

Afyn - Navedac
didyman Messages postés 86 Date d'inscription vendredi 26 novembre 2004 Statut Membre Dernière intervention 8 novembre 2007
9 juin 2005 à 17:43
Désolé si ma remarque vous a vexer....

C'étais dit sur un ton humoristique... je l'ai p-e pas préciser!!! Très bonne source, je ne pourais pas en faire autant (parce que je ne sais pas encore comment) et si tu la fait c'est parce que tu en avais besoin que tu surment d'autre en a besoin!!!

Mais je tiens a dire que j'aime bien mon CTRL ALT DEL.... :P allez.. un ti 10/10!!!!
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
9 juin 2005 à 14:34
vraiment, un grand merci. je cherchais ces 2 informations depuis un sacré moment. je vais me plonger dans ta source pour ne récuperer que ces valeurs. très beau boulot!!!
(et merci aussi de la rapidité de réponse)

PCPT
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
9 juin 2005 à 12:23
salut,

dans Processus, c'est le compteur "Plage de travail" (qui correspond à "Working Set" = espace mémoire qui a été accédé récemment)...faut bien dire que la traduction française des noms de compteurs, ca n'aide pas à trouver...

ShareVB
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
7 juin 2005 à 21:45
c'est bien çà, merci. (processeur = privilégié + utilisateur)
à tout hasard, saurais-tu comment trouver la consommation d'un process en ram? (ou en pagination je suppose..., la colonne "Util. mémoire" dans le gestionnaire des tâches)
dans l'Objet Mémoire, aucun des process n'est listé, donc...

PCPT
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
7 juin 2005 à 19:49
salut,

% temps processeur : ca doit être le temps d'exécution total
% temps priviligié : le total d'exécution pour le processus dans le noyau (appels systèmes)
% temps utilisateur : le total d'exécution hors appels systèmes

ShareVB
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
7 juin 2005 à 15:20
nikel 10/10
petite question cela dit :
je voudrais, par exemple, récupérer l'utilisation mémoire d'un processus (et pourquoi pas cpu aussi...)
donc ... Objets de performance : processus
je choisis celui qui m'intéresse, et là? je choisis lequel??

(ps : petit bug : manque la gestion d'erreur de supression de compteur si liste non-sélectionnée)
en l'attente, beau boulot !
PCPT
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 déc. 2004 à 21:25
MadM@tt > il est inutile de chercher a discuter avec les utilisateurs, il y a toujours eu un abime entre eux et les developpeurs. On sourit discretement et on laisse passer.
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
17 déc. 2004 à 21:01
La méga remarque qui sert à rien lol si tu en vois pas l'intérêt rien ne t'oblige à l'utiliser...
C'est une source du tonnerre, tu peut pas savoir le nombre de nuit que j'ai passé à y chercher
didyman Messages postés 86 Date d'inscription vendredi 26 novembre 2004 Statut Membre Dernière intervention 8 novembre 2007
16 déc. 2004 à 03:34
moi je fait CTRL-ALT-DEL et sa me dit tous!
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
15 déc. 2004 à 18:19
Tu es un chef, un pro de chez pro...
C'est ce que je cherchais depuis tataouine !! Un grand merci et un énorme BRAVO !
cs_Alain Proviste Messages postés 908 Date d'inscription jeudi 26 juillet 2001 Statut Modérateur Dernière intervention 1 février 2015 2
14 déc. 2004 à 20:11
toujours un plaisir tes sources.
Rejoignez-nous