Cliente - com escopo, global

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 4 min. de leitura
  • A API do cliente 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 - Cliente()

    Crie uma instância da classe de cliente para acessar o banco de dados MetricBase.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Nenhum
    var client = new sn_clotho.Client();

    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 quilowatts-hora (kWhs) de energia elétrica. O acúmulo faz uma chamada para cada métrica no carimbo de data/hora fornecido. Por exemplo, os quilowatts coletados para um aquecimento, uma jarra elétrica e uma máquina de limpar resultariam no acúmulo de três chamadas.

    Tabela 2. Parâmetros
    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 não estiver disponível para um determinado carimbo de data/hora.

    Um caso de uso pode estar acumulando 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 medi-lo. Se você souber o valor de consumo e ele for constante), poderá usar o valor constante como um valor 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

    Tabela 3. Retornos
    Tipo Descrição
    Nenhum(a)

    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 - deleteMetric(cadeia de caracteres "tableName", cadeia de caracteres metricName)

    Remover uma métrica especificada de uma tabela especificada no banco de dados MetricBase

    Nota:
    Este método exclui dados do banco de dados MetricBase. Não há mecanismo de recuperação.
    Tabela 4. Parâmetros
    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.
    Tabela 5. Retornos
    Tipo Descrição
    Nenhum(a)

    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.

    Nota:
    Este método exclui dados do banco de dados MetricBase. Não há mecanismo de recuperação.
    Tabela 6. Parâmetros
    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.
    Tabela 7. Retornos
    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.

    Tabela 8. Parâmetros
    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.
    Tabela 9. Retornos
    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.

    Tabela 10. Parâmetros
    Nome Tipo Descrição
    metricData Objeto Um dos seguintes:
    • ObjetoDataBuilder que contém dados de métrica.
    • Matriz de objetos DataBuilder que contém dados de métrica.
    Tabela 11. Retornos
    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]);