MetricInfo: Bereichsbezogen, global
Die MetricInfo- API bietet Methoden, um zu überprüfen, ob sich eine Metrik in der Datenbank MetricBase befindet, und gegebenenfalls, um 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-Bezeichner sn_clotho.
Diese Klasse ist Teil von MetricBase Anwendung.
MetricInfo – MetricInfo (Zeichenfolgentabelle, Zeichenfolgenmetrik)
Erstellt eine Instanz der MetricInfo -Klasse.
| Name | Typ | Beschreibung |
|---|---|---|
| table | Zeichenfolge | Name der Metriktabelle, die in der Tabelle „Zeitreihenmetriken“ [sys_metric] aufgeführt wird. |
| Metrik | Zeichenfolge | Name des Metrikfelds, das 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 Höhenmetrik (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 für Aufbewahrungsrichtlinien 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 für Aufbewahrungsrichtlinien (in Minuten) für die angegebene Metrik darstellen, die in der Tabelle „Aufbewahrungsrichtlinien“ [sys_metric_retention_policy] aufgeführt ist. Für jeden Zeitplan für Aufbewahrungsrichtlinien, der zu der 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 von Minuten in Tage konvertierten Aufbewahrungsdauern 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 die Metrik „Höhe“ (mb_demo_mt_altitude) in der Tabelle „Drohnen“ [mb_demo_drone] vorhanden ist, und wie Sie ggf. den Aufbewahrungszeitplan zurückgeben. Die Beispielausgabe gibt die Richtliniendauer in Minuten an, die dem Intervall-Sampling-Zeitraum 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
}