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 des transformations.
Vous pouvez utiliser la classe Client dans les scripts de 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 : accumulate(GlideRecord now_GR, chaîne de mesure)
Accumule les valeurs de mesure selon l’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 mesures qui peuvent être additionnées pour une accumulation, telles que les kilowattheures (kWhs) d’électricité. Accumulate 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 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 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 utiliseriez 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 |
|---|---|
| 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 - Client()
Créez une instance de la classe client pour accéder à la MetricBase base de données.
| Nom | Type | Description |
|---|---|---|
| Néant |
var client = new sn_clotho.Client();
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 |
|---|---|
| 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, chaîne de mesure)
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 | Enregistrements dont les données de séries chronologiques pour la mesure spécifiée doivent être supprimées. |
| Métrique | 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 d’une dimension spécifique.
| Nom | Type | Description |
|---|---|---|
| now_GR | GlideRecord | Enregistrement à partir duquel obtenir la série. |
| Métrique | 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 des 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 inclusive). |
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 mesures 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]);