class NsPerfMonCounter

La classe NsPerfMonCounter représente un objet compteur de performances, collectant diverses informations sur des données mesurables par le serveur.

ID : __int64

L'identificateur unique du compteur de performances. Les constantes suivantes peuvent-être utilisées :

  • THPERFMONCOUNTER_CREATE = -1 : l'objet n'existe pas et doit être créé.

CreationDate : VARIANT readonly

Date de création du compteur de performances, au format UTC.

Name : BSTR

Le nom du compteur de performances.

Frequency : long

La fréquence de collecte, en minutes. Les constantes suivantes peuvent-être utilisées :

  • THPERFMONCOUNTER_COLLECTFREQUENCY_EACHDAY = -1 : collecter les données une fois par jour.

CounterType : enum NsPerfMonCounterType

Le type des données à collecter.

MaxDaysToKeep : long

Le nombre maximum de jours pendant lesquels conserver les données.

LastMeasureDate : VARIANT readonly

Date de la dernière mesure, au format UTC.

LastMeasureValue : __int64 readonly

Valeur de la dernière mesure.

LastMeasureID : __int64 readonly

Identifiant unique de la dernière mesure (NsPerfMonCounterMeasure).

Has7DaysTendancy : VARIANT_BOOL readonly

Renvoit si le compteur de performances a un indicateur d'évolution des valeurs calculé sur 7 jours.

Tendancy7Days : __int64 readonly

Renvoit l'indicateur d'évolution des valeurs sur 7 jours.

VARIANT_BOOL LoadFromID(NsConnection Connection, __int64 PerfMonCounterID)

Charge en mémoire le compteur de performances PerfMonCounterID.

VARIANT_BOOL Update(NsConnection Connection)

Créée ou met à jour le compteur de performances représenté par l'objet.

VARIANT_BOOL Delete(NsConnection Connection)

Supprime le compteur de performances représenté par l'objet.

NsPerfMonCounterMeasureCollection LoadMeasures(NsConnection Connection)

Charge les mesures associées au compteur de performances.

VARIANT_BOOL Clear(NsConnection Connection)

Effaces toutes les mesures associées au compteur de performances.

VARIANT_BOOL GetComments(NsConnection Connection, BSTR Comments)

Retourne les commentaires associés à l'objet.

VARIANT_BOOL SetComments(NsConnection Connection, BSTR Comments)

Définit les commentaires associés à l'objet.

Obtient la quantité de mémoire moyenne utilisée par le processus

Set connection = CreateObject("NsAPI.NsConnection")
Set sysutils = CreateObject("NsAPI.NsScriptUtils")

const pmcProcessBytes = 25

if connection.ConnectToLocalServer then
  set server = CreateObject("NsAPI.NsServer")
  if server.Load(connection) then
    ' Obtenir la liste des compteurs de performance
    set perfMonCounters = server.PerfMonCounters(connection)
    ' Trouver le compteur de performances collectant les infos sur la mémoire du processus
    index = perfMonCounters.FindByType(pmcProcessBytes)
    ' Compteur trouvé ?
    if index > -1 then
      ' Oui : le compteur de performances existe sur le serveur
      set memoryCounter = perfMonCounters(index)
      ' Charger les mesures
      set measures = memoryCounter.LoadMeasures(connection)
      ' Au moins une mesure ?
      if measures.Count > 0 then
        ' Afficher les informations
        MsgBox "Mémoire minimum utilisé par le processus : " & sysutils.SizeToStr(measures.Min)
        MsgBox "Mémoire maximum utilisé par le processus : " & sysutils.SizeToStr(measures.Max)
        MsgBox "Mémoire moyenne utilisé par le processus : " & sysutils.SizeToStr(measures.MeanValue)
      else
        ' Le compteur vient d'être créé ou bien aucune mesure ne lui est encore associée
        MsgBox "Pas assez de valeurs pour ce compteur, rententez ultérieurement."
      end if
    else
      ' Le compteur de performances n'existe pas. Il faut le créer.
      set memoryCounter = CreateObject("NsAPI.NsPerfMonCounter")
      memoryCounter.ID = -1
      memoryCounter.Name = "Mémoire utilisée par le serveur"
      memoryCounter.Frequency = 5 ' Une mesure toutes les 5 minutes
      memoryCounter.CounterType = pmcProcessBytes ' Collecter l'utilisation mémoire
      memoryCounter.MaxDaysToKeep = 7 ' Garder les valeurs 7 jours
      if memoryCounter.Update(connection) then
        MsgBox "Le compteur de performances n'existait pas et a été créé."
      else
        MsgBox "Impossible de créer le compteur de performances."
      end if
    end if
  else
    MsgBox "Impossible de charger les informations serveur."
  end if

  connection.Disconnect
else
  MsgBox "Connexion au serveur local impossible."
end if