MetricInfo - com escopo, global
A API MetricInfo fornece métodos para verificar se uma métrica está no banco de dados MetricBase e, em caso afirmativo, para relatar sua política de retenção. As políticas de retenção são relatadas em minutos.
Você pode chamar essa classe em scripts de servidor com escopo e globais. Ao usar a classe MetricInfo, use o identificador de namespace sn_clotho.
Esta classe faz parte do MetricBase aplicação.
MetricInfo – MetricInfo(cadeia de caracteres tabela, cadeia de caracteres métrica)
Cria uma instância da classe MetricInfo.
| Nome | Tipo | Descrição |
|---|---|---|
| tabela | Cadeia de caracteres | Nome da tabela de métrica listado na tabela Métricas de série temporal [sys_metric]. |
| métrica | Cadeia de caracteres | Nome do campo de métrica listado na tabela Métricas de série temporal [sys_metric]. Este nome de campo deve ser mapeado para o nome da tabela. |
O exemplo a seguir mostra como construir um objeto MetricInfo com a métrica Altitude (mb_demo_mt_altitude) associada à tabela Drones [mb_demo_drone].
var metricInfo = new sn_clotho.MetricInfo('mb_demo_drone','mb_demo_mt_altitude');
MetricInfo – getRetentionSchedulesInMinutes()
Obtém as programações da política de retenção da métrica especificada.
Consulte também Políticas de retenção MetricBase.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto JSON que contém pares de chave-valor que representam as programações de política de retenção (em minutos) para a métrica especificada listada na tabela Políticas de retenção [sys_metric_retention_policy]. Para cada programação de política de retenção pertencente à métrica, o objeto contém um par de chave-valor correspondente que mapeia a duração da retenção para o período de amostragem.
|
O exemplo a seguir mostra como fazer um loop nas programações da política de retenção e compilar uma mensagem de log. A mensagem contém as durações de retenção convertidas de minutos para dias com seus períodos de amostragem correspondentes.
// 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);
Saída:
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()
Indica se a métrica especificada está mapeada para a tabela definida em um objeto MetricInfo.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a métrica especificada em um objeto MetricInfo está mapeada para a tabela especificada. Valores válidos:
|
O exemplo a seguir mostra como verificar se a métrica Altitude (mb_demo_mt_altitude) está na tabela Drones [mb_demo_drone] e retornar sua programação de retenção, se estiver. A saída de exemplo reflete a duração da política em minutos mapeada para seu período de amostragem de intervalo.
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");
}
Saída:
{
"11520": 1,
"135360": 10,
"571680": 60
}