Client : Inclus dans le champ d’application, global
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.
| 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.
| 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 |
| 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
| 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. |
| 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.
| 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)
Obtenez 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 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.
| 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]);