Cliente - com escopo, global
A Client API fornece métodos para adicionar dados ao banco de dados MetricBase, para executar transformações no banco de dados MetricBase e para receber os resultados das transformações.
Você pode usar a classe Cliente em scripts de servidor com escopo e globais. Esta classe faz parte da aplicação MetricBase e deve ser executada no namespace sn_clotho.
Cliente - acumular (GlideRecord now_GR, métrica de cadeia de caracteres)
Acumula valores de métrica no carimbo de data/hora especificado e salva o resultado no banco de dados em vez de substituir o valor.
Usar este método para lidar com métricas que podem ser somadas para um acúmulo, como kilowatt-hora (kWhs) de eletricidade. Acumular faz uma chamada para cada métrica no carimbo de data/hora fornecido. Por exemplo, os kilowatts coletados para um Aquecedor, Chaleira Eléctrica e Máquina de Lavar resultarão em três chamadas para acumular.
| Nome | Tipo | Descrição |
|---|---|---|
| now_GR | GlideRecord | Nome da série GlideRecord da qual o valor acumulado será obtido. Consulte também: getSeries() |
| default_value | Número | Opcional. Valor padrão para acúmulo em um determinado carimbo de data/hora. Usado somente durante a primeira chamada para acumular se um valor estiver indisponível para um determinado carimbo de data/hora. Um caso de uso pode ser o acúmulo de uma métrica de watts para um total_power. Você deseja acumular watts para um roteador conectado a uma tomada sem um medidor de energia para medir. Se você souber o valor de consumo e ele for constante), poderá usar o valor constante como padrão para acumular total_power. Por exemplo, você usaria 20 se o roteador estivesse constantemente conectado e consumisse 20 Watts. O valor do carimbo de data/hora pode ser fornecido usando a API DataBuilder. Padrão: 0 |
| Tipo | Descrição |
|---|---|
| Nenhum |
O exemplo a seguir mostra como acumular o valor da métrica total_power em um registro chamado edifício_a.
var time = new GlideDateTime();
// total_power is the name of a metric within building_a which stores accumulated values
var dataBuilder1 = new sn_clotho.DataBuilder(building_a, "total_power");
// values to be accumulated
dataBuilder1.add(time, 3.5);
new sn_clotho.Client().accumulate(dataBuilder1, 0);
var dataBuilder2 = new sn_clotho.DataBuilder(building_a, "total_power");
// values to be accumulated
dataBuilder2.add(time, 3.5);
new sn_clotho.Client().accumulate(dataBuilder2, 0);
var dataBuilder3 = new sn_clotho.DataBuilder(building_a, "total_power");
// values to be accumulated
dataBuilder3.add(time, 3.5);
new sn_clotho.Client().accumulate(dataBuilder3, 0);
// As a result of these operations client will save value of
// 3.5+12+4.3+0(default value) at the timestamp 'time'
Cliente - Cliente()
Crie uma instância da classe de cliente para acessar o banco de dados MetricBase.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
var client = new sn_clotho.Client();
Cliente - deleteMetric(cadeia de caracteres "tableName", cadeia de caracteres "metricName")
Remover uma métrica especificada de uma tabela especificada no banco de dados MetricBase
| Nome | Tipo | Descrição |
|---|---|---|
| tableName | Cadeia de caracteres | O nome da tabela cuja métrica especificada será excluída. |
| metricName | Cadeia de caracteres | O nome da métrica. |
| Tipo | Descrição |
|---|---|
| Nenhum |
O exemplo a seguir mostra como remover uma métrica de uma tabela.
var client = new sn_clotho.Client();
// delete metric (Speed) from the Drones table
client.deleteMetric("mb_demo_drone", "mb_demo_mt_speed");
Cliente - deleteSeries(GlideRecord now_GR, métrica de cadeia de caracteres)
Remova os dados no banco de dados MetricBase associado à métrica especificada no GlideRecord especificado. Use este método para remover dados de teste.
| Nome | Tipo | Descrição |
|---|---|---|
| now_GR | GlideRecord | Os registros cujos dados de série temporal para a métrica especificada serão excluídos. |
| métrica | Cadeia de caracteres | O nome da métrica. |
| Tipo | Descrição |
|---|---|
| vazio |
var client = new sn_clotho.Client();
//query drones of a specific model
var drones = new GlideRecord("mb_demo_drone");
drones.addQuery("model", "Kingfisher Phantom");
drones.query();
client.deleteSeries(drones, 'mb_demo_mt_speed');
Cliente - getSeries(GlideRecord now_GR, String metricName, GlideDateTime lastUpdateBefore)
Obtenha todas as séries de uma dimensão específica.
| Nome | Tipo | Descrição |
|---|---|---|
| now_GR | GlideRecord | O registro do qual a série será obtida. |
| métrica | Cadeia de caracteres | O nome da métrica. |
| lastUpdateBefore | GlideDateTime | Opcional. Data no futuro que representa o fim do período a ser avaliado. |
| Tipo | Descrição |
|---|---|
| Matriz | Lista de cadeias de caracteres sys_ids que representam a série que contém dados para a métrica especificada. Se o parâmetro lastUpdateBefore for fornecido, retornará séries que não têm dados mais recentes que a data lastUpdateBefore (não inclusiva). |
O exemplo a seguir mostra como obter a lista completa de valores de velocidade listados na tabela Drones [mb_demo_drone].
var client = new sn_clotho.Client();
// query subject records
var grDrone = new GlideRecord('mb_demo_drone');
grDrone.query();
var series = client.getSeries(grDrone,'mb_demo_mt_speed');
Cliente - put(Object metricData)
Salva dados de métrica no banco de dados MetricBase.
| Nome | Tipo | Descrição |
|---|---|---|
| metricData | Objeto | Um dos seguintes:
|
| Tipo | Descrição |
|---|---|
| vazio |
var time = new GlideDateTime();
// two different GlideRecord instances and metrics
var dataBuilder = new sn_clotho.DataBuilder(now_GR, 'cpu_percentage');
dataBuilder.add(time, 0.6);
var dataBuilder2 = new sn_clotho.DataBuilder(gr2, 'disk_free_percentage');
dataBuilder2.add(time, 0.2);
new sn_clotho.Client().put([dataBuilder,dataBuilder2]);