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 conservation. Les politiques de rétention 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]. |
| mesure | Chaîne | Nom de 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 la 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.
Consultez également les politiques de conservation de MetricBase.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | Objet JSON contenant des paires clé-valeur qui représentent les calendriers de politique de rétention (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 de prélèvement.
|
L’exemple suivant montre comment boucler les calendriers de politique de rétention et compiler un message de journal. Le message contient les durées de conservation converties de minutes en jours avec leurs 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. La sortie d’exemple 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
}