MetricInfo – Scoped, Global
Die MetricInfo- API stellt Methoden bereit, um zu überprüfen, ob sich eine Metrik in der Datenbank MetricBase befindet, und in diesem Fall ihre Aufbewahrungsrichtlinie zu melden. Aufbewahrungsrichtlinien werden in Minuten angegeben.
Sie können diese Klasse in bereichsbezogenen und globalen Serverskripts aufrufen. Wenn Sie die MetricInfo -Klasse verwenden, verwenden Sie den Namespace-Identifier sn_clotho.
Diese Klasse ist Teil von MetricBase -Anwendung.
MetricInfo – MetricInfo(String table, String metric)
Erstellt eine Instanz der MetricInfo -Klasse.
| Name | Typ | Beschreibung |
|---|---|---|
| table | Zeichenfolge | Name der Metriktabelle, die in der Tabelle „Zeitreihenmetriken“ [sys_metric] aufgeführt ist. |
| metric | Zeichenfolge | Metrikfeldname, der in der Tabelle „Zeitreihenmetriken“ [sys_metric] aufgeführt ist. Dieser Feldname muss dem Tabellennamen zugeordnet werden. |
Das folgende Beispiel zeigt, wie ein MetricInfo- Objekt mit der Metrik „Höhe“ (mb_demo_mt_altitude) erstellt wird, die der Tabelle „Drohnen“ [mb_demo_drone] zugeordnet ist.
var metricInfo = new sn_clotho.MetricInfo('mb_demo_drone','mb_demo_mt_altitude');
MetricInfo – getRetentionSchedulesInMinutes()
Ruft die Zeitpläne der Aufbewahrungsrichtlinie der angegebenen Metrik ab.
Siehe auch MetricBase-Aufbewahrungsrichtlinien.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Objekt | JSON-Objekt mit Schlüssel-Wert-Paaren, die die Zeitpläne der Aufbewahrungsrichtlinie (in Minuten) für die angegebene Metrik darstellen, die in der Tabelle „Aufbewahrungsrichtlinien“ [sys_metric_retention_policy] aufgeführt ist. Für jeden Aufbewahrungsrichtlinienzeitplan, der zur Metrik gehört, enthält das Objekt ein entsprechendes Schlüssel-Wert-Paar, das die Aufbewahrungsdauer dem Stichprobenzeitraum zuordnet.
|
Das folgende Beispiel zeigt, wie Sie die Zeitpläne der Aufbewahrungsrichtlinie durchlaufen und eine Protokollnachricht kompilieren. Die Nachricht enthält die Aufbewahrungsdauern, die von Minuten in Tage konvertiert wurden, mit den entsprechenden Stichprobenzeiträumen.
// 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);
Ausgabe:
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()
Gibt an, ob die angegebene Metrik der in einem MetricInfo- Objekt definierten Tabelle zugeordnet ist.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob die in einem MetricInfo- Objekt angegebene Metrik der angegebenen Tabelle zugeordnet ist. Gültige Werte:
|
Das folgende Beispiel zeigt, wie Sie überprüfen, ob sich die Metrik „Höhe“ (mb_demo_mt_altitude) in der Tabelle „Drohnen“ [mb_demo_drone] befindet, und den Aufbewahrungszeitplan zurückgeben, falls dies der Fall ist. Die Beispielausgabe spiegelt die Richtliniendauer in Minuten wider, die dem Intervall für die Stichprobennahme zugeordnet ist.
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");
}
Ausgabe:
{
"11520": 1,
"135360": 10,
"571680": 60
}