Client : champ d’application, global
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.
| 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.
| 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 |
| 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
| 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. |
| 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.
| 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. |
| 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.
| 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. |
| 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.
| Nom | Type | Description |
|---|---|---|
| Données métriques | Objet | L'un des éléments suivants :
|
| 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]);