Client : champ d’application, global

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 4 minutes de lecture
  • L’API client fournit des méthodes permettant d’ajouter des données à la MetricBase base de données, d’exécuter des transformations sur la MetricBase base de données et de recevoir les résultats de ces transformations.

    Vous pouvez utiliser la classe Client dans les scripts serveur inclus dans le périmètre et dans les scripts serveur globaux. Cette classe fait partie de l’application et doit s’exécuter MetricBase dans l’espace de noms sn_clotho .

    Client : Client()

    Créez une instance de la classe client pour accéder à la MetricBase base de données.

    Tableau 1. Paramètres
    Nom Type Description
    Aucun
    var client = new sn_clotho.Client();

    Client : accumuler (now_GR GlideRecord, mesure de chaîne)

    Accumule les valeurs de mesure à l’horodatage spécifié et enregistre le résultat dans la base de données plutôt que d’écraser la valeur.

    Utiliser cette méthode méthode pour gérer les mesures qui peuvent être additionnées pour une accumulation, telles que les kilowattheures (kWhs) d’électricité. Accumuler effectue un appel pour chaque mesure à l’horodatage fourni. Par exemple, les kilowatts collectés pour un radiateur, une bouilloire électrique et une machine à laver entraîneraient l’accumulation de trois appels.

    Tableau 2. Paramètres
    Nom Type Description
    now_GR GlideRecord Nom de la série GlideRecord à partir de laquelle obtenir la valeur cumulée.

    Voir aussi : getSeries()

    default_value Numéro Facultatif. Valeur par défaut pour l’accumulation à un horodatage donné. Utilisé uniquement lors du premier appel pour accumuler si une valeur n’est pas disponible pour un horodatage donné.

    Un cas d’utilisation pourrait être l’accumulation d’une mesure de watts pour un total_power. Vous souhaitez accumuler des watts pour un routeur connecté à une prise sans wattmètre pour le mesurer. Si vous connaissez la valeur de consommation et qu’elle est constante), vous pouvez utiliser la valeur constante comme valeur par défaut pour accumuler total_power. Par exemple, vous utiliserez 20 si le routeur est constamment branché et consomme 20 watts.

    La valeur d’horodatage peut être fournie à l’aide de l’API DataBuilder .

    Par défaut : 0

    Tableau 3. Renvoie
    Type Description
    Aucun

    L’exemple suivant montre comment accumuler la valeur de mesure total_power dans un enregistrement appelé building_a.

    var time = new GlideDateTime();
    
    // total_power is the name of a metric within building_a which stores accumulated values
    
    var dataBuilder1 = new sn_clotho.DataBuilder(building_a, "total_power");
    // values to be accumulated
    dataBuilder1.add(time, 3.5);
    new sn_clotho.Client().accumulate(dataBuilder1, 0);
    
    var dataBuilder2 = new sn_clotho.DataBuilder(building_a, "total_power");
    // values to be accumulated
    dataBuilder2.add(time, 3.5);
    new sn_clotho.Client().accumulate(dataBuilder2, 0);
    
    var dataBuilder3 = new sn_clotho.DataBuilder(building_a, "total_power");
    // values to be accumulated
    dataBuilder3.add(time, 3.5);
    new sn_clotho.Client().accumulate(dataBuilder3, 0);
    
    // As a result of these operations client will save value of
    // 3.5+12+4.3+0(default value) at the timestamp 'time'

    Client : deleteMetric(String tableName, String metricName)

    Supprimer une mesure spécifiée d’une table spécifiée dans la MetricBase base de données

    Remarque :
    Cette méthode supprime les données de la MetricBase base de données. Il n’y a pas de mécanisme de récupération.
    Tableau 4. Paramètres
    Nom Type Description
    tableName Chaîne Nom de la table dont la mesure spécifiée doit être supprimée.
    metricName Chaîne Nom de la mesure.
    Tableau 5. Renvoie
    Type Description
    Aucun

    L’exemple suivant montre comment supprimer une mesure d’une table.

    var client = new sn_clotho.Client();
    
    // delete metric (Speed) from the Drones table
    client.deleteMetric("mb_demo_drone", "mb_demo_mt_speed");

    Client : deleteSeries(GlideRecord now_GR, mesure de chaîne)

    Supprimez les données de la MetricBase base de données associées à la mesure spécifiée dans le GlideRecord spécifié. Utilisez cette méthode pour supprimer les données de test.

    Remarque :
    Cette méthode supprime les données de la MetricBase base de données. Il n’y a pas de mécanisme de récupération.
    Tableau 6. Paramètres
    Nom Type Description
    now_GR GlideRecord Les enregistrements dont les données de séries chronologiques pour la mesure spécifiée doivent être supprimées.
    mesure Chaîne Nom de la mesure.
    Tableau 7. Renvoie
    Type Description
    nul
    var client = new sn_clotho.Client();
    //query drones of a specific model
    var drones = new GlideRecord("mb_demo_drone");
    drones.addQuery("model", "Kingfisher Phantom");
    drones.query();
    
    client.deleteSeries(drones, 'mb_demo_mt_speed');

    Client : getSeries(GlideRecord now_GR, String metricName, GlideDateTime lastUpdateBefore)

    Obtenir toutes les séries à partir d’une dimension spécifique.

    Tableau 8. Paramètres
    Nom Type Description
    now_GR GlideRecord Enregistrement à partir duquel obtenir la série.
    mesure Chaîne Nom de la mesure.
    lastUpdateBefore GlideDateTime Facultatif. Date dans le futur représentant la fin de la période à évaluer.
    Tableau 9. Renvoie
    Type Description
    Tableau Liste de sys_ids de chaîne représentant la série contenant des données pour la mesure spécifiée. Si le lastUpdateBefore paramètre est fourni, il renvoie les séries dont aucune donnée n’est plus récente que la date lastUpdateBefore (non inclus).

    L’exemple suivant montre comment obtenir la liste complète des valeurs de vitesse répertoriées dans le tableau Drones [mb_demo_drone].

    var client = new sn_clotho.Client();
    
    // query subject records
    var grDrone = new GlideRecord('mb_demo_drone');
    grDrone.query();
    
    var series = client.getSeries(grDrone,'mb_demo_mt_speed');

    Client : put(Object metricData)

    Enregistre les données de mesure dans la MetricBase base de données.

    Tableau 10. Paramètres
    Nom Type Description
    Données métriques Objet L'un des éléments suivants :
    • Objet DataBuilder contenant des données de mesures.
    • Tableau d’objets DataBuilder contenant des données de mesures.
    Tableau 11. Renvoie
    Type Description
    nul
    var time = new GlideDateTime();
    ​
    // two different GlideRecord instances and metrics
    var dataBuilder = new sn_clotho.DataBuilder(now_GR, 'cpu_percentage');
    dataBuilder.add(time, 0.6);
    ​
    var dataBuilder2 = new sn_clotho.DataBuilder(gr2, 'disk_free_percentage');
    dataBuilder2.add(time, 0.2);
    ​
    new sn_clotho.Client().put([dataBuilder,dataBuilder2]);