Client : Inclus dans le champ d’application, global

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 4 minutes de lecture
  • L’API cliente 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 des transformations.

    Vous pouvez utiliser la classe Client dans les scripts serveur inclus dans le champ d’application et globaux. Cette classe fait partie de l’application MetricBase et doit s’exécuter 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
    Néant
    var client = new sn_clotho.Client();

    Client : accumulate(GlideRecord now_GR, chaîne métrique)

    Accumule les valeurs de mesures à un horodatage spécifié et enregistre le résultat dans la base de données plutôt que de remplacer la valeur.

    Utiliser cette méthode pour gérer les métriques qui peuvent être additionnées pour une accumulation, telles que les kilowattheures (kWh) d’électricité. Accumulate effectue un appel pour chaque mesure à l’horodatage fourni. Par exemple, les kilowatts collectés pour un chauffage, 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 duquel obtenir la valeur accumulé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 une total_power. Vous souhaitez accumuler des watts pour un routeur connecté à une prise sans compteur électrique 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 en utiliseriez 20 si le routeur est constamment branché et consomme 20 watts.

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

    Par défaut : 0

    Tableau 3. Renvoie
    Type Description
    Néant

    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 Le 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
    Néant

    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 des 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)

    Obtenez 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 des sys_ids de chaîne représentant la série contenant des données pour la mesure spécifiée. Si le paramètre est fourni, renvoie les séries qui n’ont lastUpdateBefore pas de données plus récentes que la date lastUpdateBefore (non inclusive).

    L’exemple suivant montre comment obtenir la liste complète des valeurs de vitesse répertoriées dans la table 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 base de MetricBase 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]);