MetricInfo - Champ d’application, global
L’API MetricInfo fournit des méthodes permettant de vérifier si une mesure se trouve dans la MetricBase base de données et, le cas échéant, de signaler sa politique de rétention. Les politiques de conservation sont rapportées en minutes.
Vous pouvez appeler cette classe dans les scripts de serveur inclus dans le champ d’application et globaux. Lorsque vous utilisez la classe MetricInfo , utilisez l’identificateur d’espace de noms sn_clotho.
Cette classe fait partie de la classe MetricBase Application.
MetricInfo – MetricInfo(Table de chaînes, Mesure de chaîne)
Crée une instance de la classe MetricInfo .
| Nom | Type | Description |
|---|---|---|
| table | Chaîne | Nom de la table de mesures répertoriée dans la table Mesures de séries chronologiques [sys_metric]. |
| Métrique | Chaîne | Nom du champ de mesure répertorié dans la table Mesures de séries chronologiques [sys_metric]. Ce nom de champ doit être mappé au nom de table. |
L’exemple suivant montre comment construire un objet MetricInfo avec la mesure Altitude (mb_demo_mt_altitude) associée à la table Drones [mb_demo_drone].
var metricInfo = new sn_clotho.MetricInfo('mb_demo_drone','mb_demo_mt_altitude');
MetricInfo – getRetentionSchedulesInMinutes()
Obtient les calendriers de politique de conservation de la mesure spécifiée.
Voir aussi Politiques de rétention de MetricBase.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | Objet JSON contenant des paires clé-valeur qui représentent les calendriers de politique de conservation (en minutes) pour la mesure spécifiée répertoriée dans la table Politiques de conservation [sys_metric_retention_policy]. Pour chaque calendrier de politique de conservation appartenant à la mesure, l’objet contient une paire clé-valeur correspondante qui mappe la durée de conservation à la période d’échantillonnage.
|
L’exemple suivant montre comment parcourir en boucle les calendriers de politique de conservation et compiler un message de journal. Le message contient les durées de conservation converties de minutes en jours avec les périodes d’échantillonnage correspondantes.
// Function to convert minutes to days
function toDays(minutes) {
return minutes / 60 / 24;
};
var metricInfo = new sn_clotho.MetricInfo('mb_demo_drone','mb_demo_mt_altitude');
var schedules = metricInfo.getRetentionSchedulesInMinutes();
var log = '';
// Compiles a log message with retention schedules
for (var duration in schedules) {
log += "Retention duration is: " + toDays(duration) +
" days, Sampling period is: " + schedules[duration] + " minutes\n";
}
gs.info(log);
Sortie :
Retention duration is: 8 days, Sampling period is: 1 minutes
Retention duration is: 94 days, Sampling period is: 10 minutes
Retention duration is: 397 days, Sampling period is: 60 minutes
MetricInfo – isValid()
Indique si la mesure spécifiée est mappée à la table définie dans un objet MetricInfo .
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si la mesure spécifiée dans un objet MetricInfo est mappée à la table spécifiée. Valeurs valides :
|
L’exemple suivant montre comment vérifier si la mesure Altitude (mb_demo_mt_altitude) se trouve dans la table Drones [mb_demo_drone] et renvoyer son calendrier de conservation si c’est le cas. L’exemple de sortie reflète la durée de la politique en minutes mappée à sa période d’échantillonnage d’intervalle.
var metricInfo = new sn_clotho.MetricInfo('mb_demo_drone','mb_demo_mt_altitude');
if (metricInfo.isValid())
{
var retentionSchedules = metricInfo.getRetentionSchedulesInMinutes();
gs.info(JSON.stringify(retentionSchedules, null, 2));
}
else
{
gs.info("metricInfo is invalid");
}
Sortie :
{
"11520": 1,
"135360": 10,
"571680": 60
}