API MetricBase Time Series

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 59 min. de leitura
  • A API MetricBase Time Series fornece endpoints para inserir dados, recuperar informações e executar transformações em um banco de dados MetricBase.

    Esta API só pode ser usada quando o plug-in MetricBase (com.snc.clotho) está instalado e ativado.

    Função necessária para gravar nesta API: clotho_rest_put.

    Os exemplos nesta seção foram criados usando dados no plug-in MetricBase (com.snc.clotho).

    Série temporal de MetricBase - GET /now/clotho/table/{table}/{subject}/{metric}

    Recupera dados de série temporal especificados do banco de dados MetricBase.

    Formato da URL

    URL com controle de versão: /api/now/{api_version}/clotho/table/{table}/{subject}/{metric}

    Parâmetros de solicitação compatíveis

    Tabela 1. Parâmetros de caminho
    Nome Descrição
    api_version
    métrica Nome da coluna na tabela identificada no parâmetro subject a ser usada como métrica.

    Tipo de dados: cadeia de caracteres

    assunto Sys_id do GlideRecord associado a esta série.

    Tipo de dados: cadeia de caracteres

    tabela Nome da tabela que contém o GlideRecord associado a esta série.

    Tipo de dados: cadeia de caracteres

    Tabela 2. Parâmetros de consulta
    Nome Descrição
    sysparm_display_value Sinalizador que indica se os dados de resultado devem ser rotulados com o valor de exibição do registro de assunto se nenhum outro rótulo for especificado.
    Valores válidos:
    • verdadeiro: os dados do resultado são rotulados com o valor de exibição do registro do assunto.
    • falso: os dados do resultado não são rotulados com o valor de exibição do registro do assunto.

    Tipo de dados: booliano

    Padrão: falso

    sysparm_end Obrigatório. Hora de término do período de avaliação. Um valor vazio ou ausente é tratado como a hora atual. Os valores de tempo incluem esta hora de término.

    Tipo de dados: cadeia de caracteres

    Formato: ISO 8601 (UTC), ou:
    • Formato de data absoluto [YYYY-MM-DDThh:mm:ss], como 2019-03-20T17:04:55.
    • Relativo ao formato de duração de tempo atual [P(n)Y(n)M(n)DT(n)H(n)M(n)S], como P1M.
    sysparm_início Obrigatório. Hora de início do período de avaliação. O valor especial all pode ser usado para definir a hora de início como a hora atual menos o período máximo de retenção para as métricas especificadas. Um valor vazio ou ausente é tratado como um tudoimplícito. Os valores de tempo incluem esta hora de início.

    Tipo de dados: cadeia de caracteres

    Formato: ISO 8601 (UTC), ou:
    • Formato de data absoluto [AAAA-MM-DDThh:mm:ss], como 2019-03-20T17:04:55
    • Relativo ao formato de duração de tempo atual [P(n)Y(n)M(n)DT(n)H(n)M(n)S], como P1M.
    Tabela 3. Parâmetros do corpo da solicitação (XML ou JSON)
    Nome Descrição
    Nenhum(a)

    Cabeçalhos

    Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis.

    Tabela 4. Cabeçalhos da solicitação
    Cabeçalho Descrição
    Aceitar Formato de dados do corpo da resposta. Oferece suporte somente a application/json.
    Tabela 5. Cabeçalhos de resposta
    Cabeçalho Descrição
    Nenhum(a)

    Códigos de status

    Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP de REST API.

    Tabela 6. Códigos de status
    Código do status Descrição
    200 Bem-sucedido. A solicitação foi processada com sucesso.
    401 Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas.
    500 Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro.

    Parâmetros do corpo da resposta (JSON ou XML)

    Nome Descrição
    rótulo Rótulo usado para identificar o conjunto de resultados desta métrica.

    Tipo de dados: cadeia de caracteres

    refsérie Resultados da série de dados.

    Tipo de dados: matriz de objetos

    "seriesRef": [
      {
        "metric": "String",
        "subject": "String",
        "table": "String"
      }
    ]
    ref.série.métrica Nome da métrica da qual a série de dados foi obtida. Aparece somente se o objeto metrics for passado na solicitação.

    Tipo de dados: cadeia de caracteres

    ref.série.assunto Sys_id do registro da série de dados. Localizado na tabela especificada em seriesRef.table.

    Tipo de dados: cadeia de caracteres

    ref.série.tabela Nome da tabela de onde a série de dados foi obtida.

    Tipo de dados: cadeia de caracteres

    valores Valores de série transformados.

    Tipo de dados: matriz de objetos

    "values": [
      {
        "timestamp": "String",
        "value": Number
      }
    ]
    valores.carimbo de data/hora Carimbo de data/hora do valor.

    Tipo de dados: cadeia de caracteres

    Formato: ISO 8601

    valores.valor Valores de métrica.

    Tipo de dados: número

    Solicitação de cURL

    curl "https://instance.servicenow.com/api/now/v1/clotho/
      table/mb_demo_drone/626b051787333200a328c5b836cb0b99/
      mb_demo_mt_altitude?sysparm_start=2019-03-20T17%3A04%3A55
      &sysparm_end=2019-03-20T17%3A09%3A55" \
    --request GET \
    --header "Accept:application/json" \
    --user "username":"password"

    {
      "seriesRef": {
        "subject": "626b051787333200a328c5b836cb0b99",
        "table": "mb_demo_drone",
        "metric": "mb_demo_mt_altitude"
      },
      "label": "626b051787333200a328c5b836cb0b99:
                mb_demo_drone|mb_demo_mt_altitude",
      "values": [
        {
          "timestamp": "2019-03-20T17:05:00Z",
          "value": 83.150185
        },
        {
          "timestamp": "2019-03-20T17:06:00Z",
          "value": 83.46074
        },
        {
          "timestamp": "2019-03-20T17:07:00Z",
          "value": 83.83104
        },
        {
          "timestamp": "2019-03-20T17:08:00Z",
          "value": 84.260635
        },
        {
          "timestamp": "2019-03-20T17:09:00Z",
          "value": 84.749
        }
      ]
    }
    

    Série temporal de MetricBase - GET /now/clotho/transform/{table}/{metric}

    Transforma os dados especificados com base nos parâmetros especificados.

    Formato da URL

    URL com controle de versão: /api/now/{api_version}/clotho/transform/{table}/{metric}

    Parâmetros de solicitação compatíveis

    Tabela 7. Parâmetros de caminho
    Nome Descrição
    api_version
    métrica Nome da coluna na tabela identificada no parâmetro subject a ser usada como métrica.

    Tipo de dados: cadeia de caracteres

    tabela Nome da tabela que contém o GlideRecord associado a esta série.

    Tipo de dados: cadeia de caracteres

    Tabela 8. Parâmetros de consulta
    Nome Descrição
    sysparm_display_value Sinalizador que indica se os dados de resultado devem ser rotulados com o valor de exibição do registro de assunto se nenhum outro rótulo for especificado.
    Valores válidos:
    • verdadeiro: os dados do resultado são rotulados com o valor de exibição do registro do assunto.
    • falso: os dados do resultado não são rotulados com o valor de exibição do registro do assunto.

    Tipo de dados: booliano

    Padrão: falso

    sysparm_end Obrigatório. Hora de término do período de avaliação. Um valor vazio ou ausente é tratado como a hora atual. Os valores de tempo incluem esta hora de término.

    Tipo de dados: cadeia de caracteres

    Formato: ISO 8601 (UTC), ou:
    • Formato de data absoluto [YYYY-MM-DDThh:mm:ss], como 2019-03-20T17:04:55.
    • Relativo ao formato de duração de tempo atual [P(n)Y(n)M(n)DT(n)H(n)M(n)S], como P1M.
    sysparm_query Cadeia de caracteres de consulta codificada para localizar os registros de assunto.

    Tipo de dados: cadeia de caracteres

    Padrão: nenhum

    sysparm_início Obrigatório. Hora de início do período de avaliação. O valor especial all pode ser usado para definir a hora de início como a hora atual menos o período máximo de retenção para as métricas especificadas. Um valor vazio ou ausente é tratado como um tudoimplícito. Os valores de tempo incluem esta hora de início.

    Tipo de dados: cadeia de caracteres

    Formato: ISO 8601 (UTC), ou:
    • Formato de data absoluto [AAAA-MM-DDThh:mm:ss], como 2019-03-20T17:04:55
    • Relativo ao formato de duração de tempo atual [P(n)Y(n)M(n)DT(n)H(n)M(n)S], como P1M.
    sysparm_subject_limit Limite o tamanho do resultado da consulta de assunto.

    Tipo de dados: número

    Padrão: 10.000

    sysparm_transforms Lista separada por vírgulas de transformações.
    Transformações válidas:
    • adicionar
    • médio
    • rótulo
    • mu
    • reamostrar
    • soma
    • superior

    Tipo de dados: cadeia de caracteres

    Padrão: nenhum

    Tabela 9. Parâmetros do corpo da solicitação (XML ou JSON)
    Nome Descrição
    Nenhum(a)

    Cabeçalhos

    Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis.

    Tabela 10. Cabeçalhos da solicitação
    Cabeçalho Descrição
    Aceitar Formato de dados do corpo da resposta. Tipos compatíveis: application/json ou application/xml.

    Padrão: application/json

    Tabela 11. Cabeçalhos de resposta
    Cabeçalho Descrição
    Nenhum(a)

    Códigos de status

    Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP de REST API.

    Tabela 12. Códigos de status
    Código do status Descrição
    200 Bem-sucedido. A solicitação foi processada com sucesso.
    401 Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas.
    500 Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro.

    Parâmetros do corpo da resposta (JSON ou XML)

    Nome Descrição
    rótulo Rótulo usado para identificar o conjunto de resultados desta métrica.

    Tipo de dados: cadeia de caracteres

    refsérie Resultados da série de dados.

    Tipo de dados: matriz de objetos

    "seriesRef": [
      {
        "metric": "String",
        "subject": "String",
        "table": "String"
      }
    ]
    ref.série.métrica Nome da métrica da qual a série de dados foi obtida. Aparece somente se o objeto metrics for passado na solicitação.

    Tipo de dados: cadeia de caracteres

    ref.série.assunto Sys_id do registro da série de dados. Localizado na tabela especificada em seriesRef.table.

    Tipo de dados: cadeia de caracteres

    ref.série.tabela Nome da tabela de onde a série de dados foi obtida.

    Tipo de dados: cadeia de caracteres

    valores Valores de série transformados.

    Tipo de dados: matriz de objetos

    "values": [
      {
        "timestamp": "String",
        "value": Number
      }
    ]
    valores.carimbo de data/hora Carimbo de data/hora do valor.

    Tipo de dados: cadeia de caracteres

    Formato: ISO 8601

    valores.valor Valores de métrica.

    Tipo de dados: número

    Solicitação de cURL

    curl "https://instance.servicenow.com/api/now/v1/clotho/
      transform/mb_demo_drone/mb_demo_mt_speed?
      sysparm_query=model%3DKingfisher%20Phantom&
      sysparm_start=2019-03-25T17%3A04%3A55&
      sysparm_end=2019-03-25T17%3A05%3A10" \
    --request GET \
    --header "Accept:application/json" \
    --user "username":"password"

    Saída:

    [
      {
        "seriesRef": {
          "subject": "2a6b051787333200a328c5b836cb0b92",
          "table": "mb_demo_drone",
          "metric": "mb_demo_mt_speed"
        },
        "label": "2a6b051787333200a328c5b836cb0b92:mb_demo_drone
                 |mb_demo_mt_speed",
        "values": [
          {
            "timestamp": "2019-03-25T17:05:00Z",
            "value": 33.67892
          }
        ]
      },
      {
        "seriesRef": {
          "subject": "666b051787333200a328c5b836cb0b92",
          "table": "mb_demo_drone",
          "metric": "mb_demo_mt_speed"
        },
        "label": "666b051787333200a328c5b836cb0b92:mb_demo_drone
                 |mb_demo_mt_speed",
        "values": [
          {
            "timestamp": "2019-03-25T17:05:00Z",
            "value": 41.94985
          }
        ]
      },
      {
        "seriesRef": {
          "subject": "a26b051787333200a328c5b836cb0b92",
          "table": "mb_demo_drone",
          "metric": "mb_demo_mt_speed"
        },
        "label": "a26b051787333200a328c5b836cb0b92:mb_demo_drone
                 |mb_demo_mt_speed",
        "values": [
          {
            "timestamp": "2019-03-25T17:05:00Z",
            "value": 37.74187
          }
        ]
      },
      {
        "seriesRef": {
          "subject": "ea6b051787333200a328c5b836cb0b92",
          "table": "mb_demo_drone",
          "metric": "mb_demo_mt_speed"
        },
        "label": "ea6b051787333200a328c5b836cb0b92:mb_demo_drone
                 |mb_demo_mt_speed",
        "values": [
          {
            "timestamp": "2019-03-25T17:05:00Z",
            "value": 34.914192
          }
        ]
      },
      {
        "seriesRef": {
          "subject": "ee6b051787333200a328c5b836cb0b91",
          "table": "mb_demo_drone",
          "metric": "mb_demo_mt_speed"
        },
        "label": "ee6b051787333200a328c5b836cb0b91:mb_demo_drone
                 |mb_demo_mt_speed",
        "values": [
          {
            "timestamp": "2019-03-25T17:05:00Z",
            "value": 44.170887
          }
        ]
      }
    ]
    

    Série temporal de MetricBase - POST /now/clotho/accumulate

    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 esta API 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.

    Formato da URL

    URL com controle de versões: /api/now/{api_version}/clotho/accumulate

    Parâmetros de solicitação compatíveis

    Tabela 13. Parâmetros de caminho
    Nome Descrição
    api_version Opcional. Versão do endpoint a ser acessada. Por exemplo, v1 ou v2. Somente especifique este valor para usar uma versão de endpoint diferente da mais recente.

    Tipo de dados: cadeia de caracteres

    Tabela 14. Parâmetros de consulta
    Nome Descrição
    default_value 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.

    Tipo de dados: cadeia de caracteres

    Padrão: 0

    sysparm_ignore_unknown_series Sinalizador que indica se uma série desconhecida deve ser ignorada e continuar a transação sem retornar um erro.
    Valores válidos:
    • verdadeiro: ignora séries desconhecidas.
    • falso: não ignore séries desconhecidas.

    Padrão: verdadeiro

    Tabela 15. Parâmetros do corpo da solicitação (XML ou JSON)
    Nome Descrição
    refsérie Lista de cadeias de caracteres que representam informações da série de dados a serem atualizadas.

    Tipo de dados: matriz

    "seriesRef": [
      {
        "metric": "String",
        "subject": "String",
        "table": "String"
      }
    ]
    ref.série.métrica Obrigatório. Nome da métrica de acúmulo a ser atualizada.

    Tipo de dados: cadeia de caracteres

    ref.série.assunto Obrigatório. Sys_id do registro no qual os dados serão atualizados.

    Tipo de dados: cadeia de caracteres

    Tabela: especificada em seriesRef.table

    ref.série.tabela Obrigatório. Nome da tabela na qual os dados serão salvos.

    Tipo de dados: cadeia de caracteres

    valores Obrigatório. Valores de série a serem acumulados e armazenados. Valores com o mesmo carimbo de data/hora são somados com o parâmetro de consulta default_value.

    Tipo de dados: matriz

    "values": [
      {
        "timestamp": "String",
        "value": Number
      }
    ]
    valores.carimbo de data/hora Obrigatório. Carimbo de data/hora ISO 8601 do valor.

    Tipo de dados: cadeia de caracteres

    Formato: AAAA-MM-ddTHH:mm:ddZ

    O caractere representado por "Z" denota o fuso horário UTC em um carimbo de data/hora no formato ISO. Esta parte do formato do carimbo de data/hora é opcional.

    Exemplo: 2019-03-21T17:05:00Z

    valores.valor Obrigatório. Valor da métrica.

    Tipo de dados: número

    Cabeçalhos

    Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis.

    Tabela 16. Cabeçalhos da solicitação
    Cabeçalho Descrição
    Aceitar Formato de dados do corpo da resposta. Oferece suporte somente a application/json.
    Tipo de conteúdo Formato de dados do corpo da solicitação. Oferece suporte somente a application/json.
    Tabela 17. Cabeçalhos de resposta
    Cabeçalho Descrição
    Nenhum(a)

    Códigos de status

    Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP de REST API.

    Tabela 18. Códigos de status
    Código do status Descrição
    200 Bem-sucedido. A solicitação foi processada com sucesso.
    401 Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas.
    500 Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro.

    Parâmetros do corpo da resposta (JSON ou XML)

    Nome Descrição
    mensagem Mensagem indicando sucesso (OK) ou erro.

    Solicitação de cURL

    Este exemplo mostra como acumular valores de métrica em um determinado carimbo de data/hora.

    curl "https://instance.servicenow.com/api/now/v1/clotho/accumulate" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      \"seriesRef\": {
        \"subject\": \"3D666b051787333200a328c5b836cb0b92\",
        \"table\": \"power_monitoring\",
        \"metric\": \"total_power\"
      },
      \"values\": [
        {
          \"timestamp\": \"2019-03-21T17:05:00Z\",
          \"value\": 0.150185
        },
        {
          \"timestamp\": \"2019-03-21T17:05:00Z \",
          \"value\": 0.46074
        },
        {
          \"timestamp\": \"2019-03-21T17:05:00Z \",
          \"value\": 0.83104
        },
        {
          \"timestamp\": \"2019-03-21T17:05:00Z \",
          \"value\": 1.260635
        },
        {
          \"timestamp\": \"2019-03-21T17:05:00Z \",
          \"value\": 1.749
        }
      ]
    }" \
    --user "username":"password"

    Saída fornecida com resultados bem-sucedidos.

    {
        "result": {
            "message": "ok"
        }
    }

    Série temporal de MetricBase - POST /now/clotho/transform

    Recupera e, opcionalmente, agrupa dados de série temporal para uma ou mais métricas depois de aplicar uma lista especificada de transformações que formam um pipeline linear.

    Formato da URL

    URL com controle de versão: /api/now/{api_version}/clotho/transform

    Parâmetros de solicitação compatíveis

    Tabela 19. Parâmetros de caminho
    Nome Descrição
    api_version Opcional. Versão do endpoint a ser acessada. Por exemplo, v1 ou v2. Somente especifique este valor para usar uma versão de endpoint diferente da mais recente.

    Tipo de dados: cadeia de caracteres

    Tabela 20. Parâmetros de consulta
    Nome Descrição
    sysparm_display_value Sinalizador que indica se os dados de resultado devem ser rotulados com o valor de exibição do registro de assunto se nenhum outro rótulo for especificado.
    Valores válidos:
    • verdadeiro: os dados do resultado são rotulados com o valor de exibição do registro do assunto.
    • falso: os dados do resultado não são rotulados com o valor de exibição do registro do assunto.

    Tipo de dados: booliano

    Padrão: falso

    Tabela 21. Parâmetros do corpo da solicitação (XML ou JSON)
    Nome Descrição
    terminar Obrigatório. Hora de término do período de avaliação. Um valor vazio ou ausente é tratado como a hora atual. Os valores de tempo incluem esta hora de término.

    Tipo de dados: cadeia de caracteres

    Formato: ISO 8601 (UTC), ou:
    • Formato de data absoluto [YYYY-MM-DDThh:mm:ss], como 2019-03-20T17:04:55.
    • Relativo ao formato de duração de tempo atual [P(n)Y(n)M(n)DT(n)H(n)M(n)S], como P1M.
    limite Número máximo de registros a serem retornados. Valores incomumente grandes podem afetar o desempenho do sistema.

    Tipo de dados: número

    Padrão: 10.000

    métricas Lista de objetos de métricas a serem usados na transformação. Para obter mais informações sobre métricas, consulte Metrics.

    Tipo de dados: matriz

    "metrics": [
      {
        "groupBy": "String"
        "label": "String",
        "metric": "String",
        "transforms": [Array]
      }
    ]
    métricas.groupBy Lista separada por vírgulas de campos, contida na tabela especificada no parâmetro table, para agrupar a série antes de coletar ou aplicar transformações agregadas.

    A ordem dos itens na lista é a ordem na qual os dados são agrupados. Por exemplo, se houver dois itens na lista, "estado, CEP", a série será agrupada primeiro por estado e, em seguida, por CEP dentro do estado.

    Tipo de dados: cadeia de caracteres

    Padrão: os dados não são agrupados.

    métricas.rótulo Rótulo a ser usado para o conjunto de resultados desta métrica. Ele substitui todos os rótulos gerados pela cadeia de transformação.

    Tipo de dados: cadeia de caracteres

    Padrão: rótulo padrão gerado.

    métricas.métrica Obrigatório se o objeto metrics for aprovado. Campo de métrica a ser usado na transformação. Este campo deve estar na tabela especificada no parâmetro table.

    Tipo de dados: cadeia de caracteres

    métricas.transformações Lista de transformações (cadeia de transformação) a serem aplicadas aos dados da série temporal recuperados. Cada transformação se baseia nos resultados da transformação anterior. Para obter uma lista de transformações disponíveis, consulte Transformações compatíveis abaixo.

    Tipo de dados: matriz de objetos

    "transforms": [
      {
        "arg": {Object},
        "name": "String"
      }
    ]
    métricas.transformações.arg Dependente da transformação. Parâmetro ou parâmetros a serem passados para a transformação.
    Diretrizes gerais:
    • Não use o parâmetro arg ao especificar transformações que não usam um parâmetro.
    • Use Número, Cadeia de caracteres ou Booliano para transformações que usam um único parâmetro.
    • Use um objeto JSON, com os pares de nome-valor apropriados, para transformações que usam mais de um parâmetro.

    Tipo de dados: objeto numérico, cadeia de caracteres, booliano ou JSON, dependendo da transformação. (Para obter uma lista de transformações disponíveis, consulte a tabela Transformações compatíveis abaixo.)

    metrics.transforms.name Obrigatório se um objeto transforms for especificado. Nome da transformação.

    Para obter uma lista de transformações disponíveis, consulte a tabela Transformações compatíveis abaixo.

    Tipo de dados: cadeia de caracteres

    consulta Consulta codificada a ser usada para filtrar o conjunto de resultados.

    Você pode compor a consulta usando o editor de filtro da tabela especificada. Depois de criado, selecione Copiar URL no menu de contexto de trilhas do filtro.

    Tipo de dados: cadeia de caracteres

    Padrão: nenhum

    iniciar Obrigatório. Hora de início do período de avaliação. O valor especial all pode ser usado para definir a hora de início como a hora atual menos o período máximo de retenção para as métricas especificadas. Um valor vazio ou ausente é tratado como um tudoimplícito. Os valores de tempo incluem esta hora de início.

    Tipo de dados: cadeia de caracteres

    Formato: ISO 8601 (UTC), ou:
    • Formato de data absoluto [AAAA-MM-DDThh:mm:ss], como 2019-03-20T17:04:55
    • Relativo ao formato de duração de tempo atual [P(n)Y(n)M(n)DT(n)H(n)M(n)S], como P1M.
    tabela Obrigatório. Nome da tabela que contém o GlideRecord associado a esta série.

    Tipo de dados: cadeia de caracteres

    Cabeçalhos

    Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis.

    Tabela 22. Cabeçalhos da solicitação
    Cabeçalho Descrição
    Aceitar Formato de dados do corpo da resposta. Oferece suporte somente a application/json.
    Tipo de conteúdo Formato de dados do corpo da solicitação. Oferece suporte somente a application/json.
    Tabela 23. Cabeçalhos de resposta
    Cabeçalho Descrição
    Nenhum(a)

    Códigos de status

    Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP de REST API.

    Tabela 24. Códigos de status
    Código do status Descrição
    200 Bem-sucedido. A solicitação foi processada com sucesso.
    400 Solicitação Incorreta. Foi detectado um tipo de solicitação incorreto ou solicitação malformada.
    401 Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas.
    404 Não encontrado. O item solicitado não foi encontrado.
    405 Método inválido. A funcionalidade está desabilitada.
    500 Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro.

    Parâmetros do corpo da resposta (JSON ou XML)

    Nome Descrição
    resultados Zero ou mais retornam objetos de resultado que atendem à consulta. Contém uma matriz series ou uma matriz grouped.

    Tipo de dados: matriz

    "results":[
      {
        "grouped": [Array],
        "marker": "String",
        "series": [Array]
      }
    ]
    resultados.agrupados Lista de objetos de resultado agrupados em que cada objeto de resultado grouped corresponde a um grupo específico. Este formato é retornado quando o parâmetro metrics.groupBy é passado no corpo da solicitação.

    Tipo de dados: matriz

    "grouped": [
      {
        "groupingBy": "String",
        "groups": [Array]
      }
    ]
    resultados.agrupados.agrupamentoPor Valor passado no parâmetro metrics.groupBy na solicitação.

    Tipo de dados: cadeia de caracteres

    resultados.grupos.agrupados Lista de grupos gerados com base no conteúdo do parâmetro metrics.groupBy na solicitação.

    Tipo de dados: matriz

    "groups": [
      {
        "group": "String",
        "label": "String",
        "series": {Object}
      }
    ]
    results.grouped.groups.group Nome do grupo.

    Tipo de dados: cadeia de caracteres

    resultados.grupos.agrupados.rótulo Rótulo do grupo.

    Tipo de dados: cadeia de caracteres

    resultados.grupos.grupos.série Valores transformados para o resultado do grupo.

    Tipo de dados: matriz

    "series": [
      {
        "label": "String",
        "seriesRef": {Object},
        "values": [Array]
      }
    ]
    resultados.grupos.grupos.série.rótulo Rótulo da série.

    Tipo de dados: cadeia de caracteres

    resultados.grouped.groups.series.seriesRef Resultados de uma única série de dados. Não aparece se houver várias séries de dados na resposta.

    Tipo de dados: objeto

    "seriesRef": {
      "metric": "String",
      "subject": "String",
      "table": "String"
    }
    resultados.grupos.grupos.series.seriesRef.metric Nome da métrica da qual a série de dados foi obtida. Aparece somente se o objeto metrics for passado na solicitação.

    Tipo de dados: cadeia de caracteres

    resultados.grupos.grupos.series.seriesRef.subject Sys_id do registro da série de dados.

    Tipo de dados: cadeia de caracteres

    Tabela: a tabela especificou o parâmetro em results.series.seriesRef.table.

    resultados.grupos.grupos.series.seriesRef.table Nome da tabela de onde a série de dados foi obtida.

    Tipo de dados: cadeia de caracteres

    resultados.grupos.grupos.série.valores Lista de valores de resultado para o grupo.

    Tipo de dados: matriz

    "values": [
      {
        "timestamp": "String",
        "value": Number
      }
    ]
    resultados.grupos.grupos.series.valores.carimbo de data/hora Carimbo de data/hora ISO 8601 do valor.

    Tipo de dados: cadeia de caracteres

    resultados.grupos.grupos.série.valores.valor Valor transformado.

    Tipo de dados: número

    resultados.marcador Identificador exclusivo para os resultados correspondentes.

    Tipo de dados: cadeia de caracteres

    resultados.série Lista de séries não agrupadas de objetos de resultado.

    Tipo de dados: matriz de objetos

    "series": [
      {
        "label": "String",
        "seriesRef": {Object},
        "values": [Array]
      }
    ]
    resultados.série.rótulo Rótulo da série de dados. Este valor é gerado pelo endpoint ou é o valor passado no parâmetro metrics.label.

    Tipo de dados: cadeia de caracteres

    resultados.series.seriesRef Resultados de uma única série de dados. Não aparece se houver várias séries de dados na resposta.

    Tipo de dados: objeto

    "seriesRef": {
      "metric": "String",
      "subject": "String",
      "table": "String"
    }
    resultados.series.seriesRef.metric Nome da métrica da qual a série de dados foi obtida. Aparece somente se o objeto metrics for passado na solicitação.

    Tipo de dados: cadeia de caracteres

    resultados.série.sérieRef.assunto Sys_id do registro da série de dados.

    Tipo de dados: cadeia de caracteres

    Tabela: especificado no parâmetro results.series.seriesRef.table.

    resultados.série.sérieRef.tabela Nome da tabela de onde a série de dados foi obtida.

    Tipo de dados: cadeia de caracteres

    resultados.série.valores Valores de série transformados.

    Tipo de dados: matriz de objetos

    "values": [
      {
        "timestamp": "String",
        "value": Number
      }
    ]
    resultados.série.valores.carimbo de data/hora Carimbo de data/hora ISO 8601 do valor.

    Tipo de dados: cadeia de caracteres

    resultados.série.valores.valor Valor transformado.

    Tipo de dados: número

    Transformações compatíveis

    Tabela 25. Tipos de dados de transformação
    Transformação Descrição
    adicionar Adiciona o número especificado a cada valor de carimbo de data/hora.

    Argumento: arg (tipo de dados decimais) – número a ser adicionado.

    Por exemplo:
    "transforms": [
      {
        "name": "add",
        "arg": 8
      }
    ]
    correlação automática Calcula a correlação entre valores de carimbo de data/hora separados por um número crescente de períodos que começam em 1.
    médio Agrega a série temporal em uma série que contém o valor médio de cada carimbo de data/hora correspondente na entrada.
    parte inferior Retorna o número especificado de séries que têm os valores mais baixos.

    Argumento: arg (Inteiro) – O número de séries a serem retornadas.

    Por exemplo, o seguinte retorna as duas séries temporais que contêm os conjuntos de valores mais baixos.
    "transforms": [
      {
         "name": "bottom",
         "arg": 2
      }
    ]
    teto Arredonda o valor em cada carimbo de data/hora até a precisão especificada: ceil(value /<arg> ) * )

    Argumento: arg (tipo de dados decimal) – Precisão decimal para arredondar para cima.

    coletar Exibe os resultados de transformação da cadeia de transformação até o ponto da chamada de transformação de coleta. A coleta de resultados de transformação contém um marcador exclusivo, mas você também pode definir um rótulo.
    Por exemplo:
    {
      "start": "PT1H",
      "end": "",
      "table": "mb_demo_drone",
      "limit": 5000,
      "metrics": [
        {
          "metric": "mb_demo_mt_altitude",
          "transforms": [
            {
              "name": "label",
              "arg": "Series Timestamp Values"
            },
            {
              "name": "collect"
            },
            {
              "name": "avg"
            },
            {
              "name": "label",
              "arg": "Average Timestamp Values"
            }
          ]
        }
      ]
    }
    constrainValues Substitui qualquer valor fora do intervalo especificado pelo valor máximo ou mínimo correspondente.
    Por exemplo, se você especificou o seguinte, a transformação substituirá qualquer valor menor que 0 por 0 e qualquer valor maior que 100 por 100.
    "transforms": [
      {
        "name": "constrainValues",
        "val1": 0,
        "val2": 100
      }
    ]
    Argumentos:
    • val1 (tipo de dados decimais): valor mínimo ou máximo.
    • val2 (tipo de dados decimais): valor mínimo ou máximo.
    contagem Agrega a série temporal em uma série. A nova série contém o número de valores que não são NaN (não é um número) para cada carimbo de data/hora correspondente na série.
    derivado Determina a taxa de mudança entre carimbos de data/hora. Divide a diferença entre o valor em cada carimbo de data/hora e o valor no próximo carimbo de data/hora pelo período do carimbo de data/hora.
    Nota:
    Esta transformação retorna um valor a menos do que o número de valores na série.
    div Divide o valor em cada carimbo de data/hora pelo número especificado (arg).

    Argumento: arg (Decimal – O número pelo qual dividir o valor de cada carimbo de data/hora.

    envelope Retorna duas séries temporais, em que, a qualquer momento, uma contém o maior valor e a outra contém o menor valor.
    Nota:
    NaNs são ignorados, mas são retornados se não houver outros valores de retorno.
    exp Eleva o valor da base especificada à potência do valor em cada carimbo de data/hora.

    Argumento: arg (tipo de dados decimais) – O valor base.

    filtros Aplica um agregador ao conteúdo de uma janela deslizante, como a produção de uma média móvel.
    Argumentos:
    • agregador (tipo de dados do agregador): tipo de agregação a ser executada.
    • janela (tipo de dados de duração): a duração da janela deslizante.
    andar Arredonda o valor em cada carimbo de data/hora para baixo para a precisão especificada: floor(value /<arg> ) *

    Argumento: arg (tipo de dados decimal) – A precisão decimal para arredondar para baixo.

    débeis Retorna uma série temporal para cada fracção na matriz especificada. Cada valor de carimbo de data/hora é o valor no qual a porcentagem especificada de valores, para o carimbo de data/hora correspondente na série de entrada, está abaixo da porcentagem especificada. Por exemplo, se a fracção for 0,5, o valor no carimbo de data/hora será o valor em que metade dos valores na série de entrada está abaixo de 0,5.

    Argumento: arg (matriz de decimais) – As frações a serem usadas na série de entrada.

    Por exemplo:
    "transforms": [
      {
        "name": "fractiles",
        "arg": [0.25, 0.5, 0.75, 1]
      }
    ]
    groupBy Agrupa os dados pelos campos especificados antes de coletar ou aplicar transformações agregadas.

    Argumento: arg (Cadeia de caracteres) - Uma lista separada por vírgulas de campos na tabela a serem usados para agrupar os resultados da transformação.

    Por exemplo:
     "transforms": [
      {
        "name": "groupBy",
        "arg": "model"
      },
      {
        "name": "avg"
      },
      {
        "name": "label",
        "arg": "Model: %g"
      }
    ]
    integrar Multiplica o valor em cada carimbo de data/hora pelo período.
    interpolar Cria um valor de dados para um item de dados NaN interpolando de valores de dados adjacentes.

    Argumento: arg (Inteiro) – Número de amostras de dados em cada direção para verificar se há um valor não NaN. Se um valor não NaN não for encontrado, o NaN será usado.

    inverso Calcula o inverso de cada valor de carimbo de data/hora.
    IQR Executa uma transformação de intervalo interquartil e cria um conjunto de resultados que contém quatro séries:
    1. -IQR: a mediana de todas as entradas abaixo de Q1 - (1,5 * IQR).
    2. Q1: a mediana da menor metade das entradas.
    3. Q3: a mediana da maior metade das entradas.
    4. +IQR: a mediana de todas as entradas acima do terceiro trimestre + (1,5 * IQR).
    Nota:
    IQR = T3 - T1
    rótulo Rotular uma cadeia de transformação.
    Nota:
    Transformações subsequentes podem modificar ou substituir o rótulo.
    Argumento: arg (Cadeia de caracteres) – Texto do rótulo. Pode conter as seguintes expressões de formatação:
    • %%: escape de um literal "%".
    • %l: rótulo atual que está sendo substituído.
    • %s: assunto da série.
    • %g: valor do campo agrupar por. Se este for um registro referenciado, o valor do campo de nome do registro. Se vários grupos forem especificados na transformação groupBy, os rótulos serão separados por vírgula.
    • %G: valor do campo agrupar por. Se este for um registro referenciado, o sys_id do registro. Se vários grupos forem selecionados, os valores serão separados por vírgulas.
    Por exemplo:
    "transforms": [
      {
        "name": "label",
        "arg": "Series Timestamp Values"
      },
    ]
    "transforms": [
      {
        "name": "groupBy",
        "arg": "model"
      },
      {
        "name": "avg"
      },
      {
        "name": "label",
        "arg": "Model: %g"
      }
    ]
    limite Retorna, no máximo, a duração especificada ou o número de valores, começando com o valor salvo mais recentemente.
    Argumentos:
    • arg (inteiro): número de valores de carimbo de data/hora a serem retornados para cada série temporal.

      OU

    • arg (tipo de dados de duração): duração a que cada série temporal será limitada.
    log Executa um logaritmo no valor em cada carimbo de data/hora em que o resultado é o log da base especificada para o valor do carimbo de data/hora.

    Argumento: arg (tipo de dados decimais) – Base para o cálculo do logaritmo.

    mapValues Substitui todos os valores dentro do intervalo especificado (inclusivo) pelo valor especificado. Se lowerBound e upperBound forem especificados como NaN, ele substituirá qualquer valor NaN pelo targetValue.
    Argumentos:
    • lowBound (tipo de dados decimal): o valor mais baixo no intervalo.
    • superior (tipo de dados decimal): o valor mais alto no intervalo.
    • targetValue (tipo de dados decimal): valor de substituição.
    Por exemplo, o seguinte muda todos os valores na série temporal que estão entre .1 e .9 para 1:
    "transforms": [
      {
        "name": "mapValues",
        "lowerBound": .1,
        "upperBound": .9,
        "targetValue": 1
      }
    ]
    máx. Retorna uma série que contém o valor máximo de cada carimbo de data/hora correspondente na entrada.
    mediano Cria uma série que contém a mediana de valores para cada carimbo de data/hora em um conjunto de séries.
    Se houver n séries:
    • Se n for ímpar, a mediana será o valor (n / 2 + 1) de um carimbo de data/hora.
    • Se n for par, a mediana será a média dos valores (n / 2) e (n / 2 + 1) para um carimbo de data/hora.
    mín. Retorna uma série que contém o valor mínimo de cada carimbo de data/hora correspondente na entrada.
    mu Multiplica o valor em cada carimbo de data/hora pelo número especificado.

    Argumento: arg (tipo de dados decimais) – Número pelo qual o valor de cada carimbo de data/hora será multiplicado.

    partição

    Produz uma nova série com valores filtrados pela aplicação de um agregador especificado a uma janela não sobreposta.

    Argumentos:
    • agregador (tipo de dados do agregador): tipo de agregação a ser executada.
    • base (tipo de dados Data/Hora): o deslocamento zero a ser usado para particionamento. Por exemplo, para particionar por dia (24h), defina este valor como Segunda-feira à meia-noite no seu fuso horário. Para particionar por um período de 30 dias, defina este valor como o primeiro dia do mês mais recente.

      Padrão: início do EPOCH.

    • janela (tipo de dados Duração): a duração da janela não sobreposta para aplicar o agregador.
    POW Eleva cada valor de carimbo de data/hora para a potência especificada.

    Argumento: arg (tipo de dados decimais) – Potência para a qual elevar cada valor.

    Produto Agrega a série de métricas selecionada em uma única série que contém o produto de todos os valores para cada carimbo de data/hora. NaNs são excluídos. Se todos os números na série forem NaN, a saída também será NaN.
    reamostrar Reamostra uma série temporal para um número fixo de pontos ou de uma frequência para outra.

    Use a transformação de reamostragem para reduzir o número de amostras no conjunto de resultados para corresponder mais ao número de amostras que você deseja exibir.

    Argumentos: você pode passar vários argumentos para esta transformação. Abaixo está uma lista de cada um dos grupos de argumentos possíveis. Somente um desses grupos de argumentos pode ser passado em uma única transformação. Os grupos de argumentos a seguir são delineados por E/OU. E, o que significa que o argumento faz parte do grupo atual; OU, o que significa que é o início de um novo grupo de argumentos.
    • arg (inteiro): número de amostras a serem incluídas no conjunto de resultados. Se as amostras disponíveis forem menores que esse número, o endpoint usará interpolação para criar amostras adicionais. Se houver mais amostras do que este número, elas serão reduzidas pela média.

      OU

    • arg (tipo de dados de duração): a frequência na qual a amostra será reamostrada. Se as amostras disponíveis forem menores que esse número, o endpoint usará interpolação para criar amostras adicionais. Se houver mais amostras do que este número, elas serão reduzidas pela média.

      OU

    • minValues (inteiro): o número mínimo de amostras a serem incluídas no conjunto de resultados. Se as amostras disponíveis forem menores que esse número, o endpoint usará interpolação para criar amostras adicionais.

      E

    • maxValues (inteiro): o número máximo de amostras a serem incluídas no conjunto de resultados. Se houver mais amostras do que este número, elas serão reduzidas pela média.

      OU

    • agregador (tipo de dados do agregador): o agregador a ser usado na reamostragem.

      E

    • valores (inteiro): o número de amostras a serem incluídas no conjunto de resultados. Se as amostras disponíveis forem menores que esse número, o endpoint usará interpolação para criar amostras adicionais. Se houver mais amostras do que este número, elas serão reduzidas aplicando-se o aggregator especificado.

      OU

    • agregador (tipo de dados do agregador): o agregador a ser usado na reamostragem.

      E

    • período (tipo de dados de duração): a frequência na qual a amostra será reamostrada. Se as amostras disponíveis forem menores que esse número, o endpoint usará interpolação para criar amostras adicionais. Se houver mais amostras do que este número, elas serão reduzidas aplicando-se o aggregator especificado.

      OU

    • agregador (tipo de dados do agregador): o agregador a ser usado na reamostragem.

      E

    • minValues (inteiro): o número mínimo de amostras a serem incluídas no conjunto de resultados. Se as amostras disponíveis forem menores que esse número, o endpoint usará interpolação para criar amostras adicionais.

      E

    • maxValues (inteiro): o número máximo de amostras a serem incluídas no conjunto de resultados. Se houver mais amostras do que este número, elas serão reduzidas pela média.
    arredondar Arredonda o valor em cada carimbo de data/hora para cima até a precisão especificada: (valor /<arg> ) *

    Argumento: arg (tipo de dados decimal) – A precisão decimal para a qual arredondar para cima.

    raiz Calcula a raiz de cada valor de carimbo de data/hora usando o índice especificado.

    Argumento: arg (tipo de dados decimais) – O índice da raiz.

    Por exemplo, o seguinte retorna a raiz quadrada de cada carimbo de data/hora:
    "transforms": [
      {
        "name": "root",
        "arg": "2"
      },
    ]
    desenvolvimento padrão Cria uma série que contém o desvio padrão de valores para cada carimbo de data/hora em um conjunto de séries.
    sub Subtrai o número especificado do valor em cada carimbo de data/hora.

    Argumento: arg (Número) – O número a ser subtraído do valor em cada carimbo de data/hora.

    soma Agrega a série de métricas selecionada em uma série que contém a soma de todos os valores de cada carimbo de data/hora, excluindo NaNs. Se todos os números na série forem NaN, a saída será NaN.
    timeshift Desloca o intervalo de tempo adicionando o deslocamento especificado ao carimbo de data/hora de um valor sem modificar o valor. Use esta transformação para mudar os carimbos de data/hora para outro fuso horário.

    Argumento: arg (tipo de dados de duração) – A quantidade de tempo de deslocamento.

    superior Retorna o número especificado de séries que têm os valores mais altos.

    Argumento: arg (Inteiro) – O número de séries a serem retornadas.

    Por exemplo, o seguinte retorna as duas séries temporais que contêm os conjuntos de valores mais altos.
    "transforms": [
      {
         "name": "top",
         "arg": 2
      }
    ]
    Tipo de dados Descrição
    Agregador Agregadores disponíveis para uso na transformação.
    • MÉDIA: calcula a média aritmética de todas as séries selecionadas no momento.
    • CHISquare: mostra o quão bem um modelo estatístico se ajusta ao conjunto de dados de métrica.
    • LAST: retorna o último valor definido na janela do período.
    • MAX: mostra o maior valor do conjunto de dados de métrica em cada ponto no tempo.
    • MÉDIA: mostra a mediana do conjunto de dados de métrica. A mediana separa os valores mais altos do conjunto de dados de métrica dos valores mais baixos.
    • MIN: mostra o menor valor do conjunto de dados de métrica em cada ponto no tempo.
    • STDDEV: calcula o desvio padrão nos dados subjacentes. Usado para quantificar a variação ou dispersão de um conjunto de valores de dados no conjunto de dados de métrica.
    • SOMA: calcula a soma em todas as séries selecionadas no momento.
    DateTime Os valores absolutos de data/hora são especificados pelo formato de data e hora ISO 8601: AAAA-MM-DDThh:mm:ss. Por exemplo: 2020-02-28T13:10:42.

    Em que:

    • [AAAA]: ano com quatro dígitos.
    • [MM]: mês preenchido com zeros entre 01 e 12.
    • [DD]: dia preenchido com zeros entre 01 e 31.
    • T: representa a hora e é obrigatório antes que qualquer um dos componentes de hora seja especificado.
    • [hh]: hora com zeros entre 00 e 23.
    • [mm]: minutos preenchidos com zeros entre 00 e 59.
    • [ss]: segundos preenchidos com zeros entre 00 e 59. Observe que os segundos bissextos são distribuídos uniformemente pelos 1.000 segundos anteriores.

    Os valores de data/hora relativos são especificados usando uma duração (tipo de dados Duração), que é subtraída da hora atual.

    Por exemplo: P7D = sete dias atrás.

    Decimal Valor decimal que pode ser:
    • Um número decimal com sinal de precisão arbitrária que pode usar notação exponencial.

      Como:

      • 2
      • 1,7
      • -3.47
      • 1,0E+2
    • Uma representação de cadeia de caracteres de:
      • Um número decimal com sinal que pode usar notação exponencial e é garantido como um número de ponto flutuante IEEE 754 de 64 bits e precisão dupla.
      • "NaN"
      • "-Infinito"
      • "+ Infinito"
    Duração Quantidade de tempo em um intervalo de tempo. Os valores de duração são especificados pelo formato de duração ISO 8601: P[n]Y[n]M[n]DT[n]H[n]M[n]S
    Em que:
    • P: designador de duração, conhecido como "período", e é sempre colocado no início da duração.
    • [n]Y: número de anos.
    • [n]M: número de meses.
    • [n]D: número de dias.
    • T: designador de tempo e é obrigatório antes que qualquer um dos componentes de tempo seja especificado.
    • [n]H: número de horas.
    • [n]M: número de minutos.
    • [n]S: número de segundos.
    Por exemplo:
    • P7D: período de sete dias.
    • P1M: período de um mês.
    • PT15M: período de 15 minutos.
    • P1DT12H: período de um dia e doze horas.

    Solicitação de cURL

    curl "https://instance.servicenow.com/api/now/v1/clotho/transform \
    --request POST \
    --header "Accept:application/json", "Content-Type:application/json" \
    --user "username":"password"
    -d {\
      "start": "PT15M",\
      "end": "",\
      "table": "mb_demo_drone",\
      "query": "fleet.nameSTARTSWITHB",\
      "limit": 5000,\
      "metrics": [\
        {\
          "metric": "mb_demo_mt_altitude",\
          "label": "Series - Avg",\
          "transforms": [\
            {\
              "name": "partition",\
              "arg": {\
                "aggregator": "AVG",\
                "window": "PT5M"\
              }\
            },
            {\
              "name": "avg"\
            }\
          ]\
        },
        {\
          "metric": "mb_demo_mt_altitude",\
          "groupBy": "fleet",\
          "label": "Fleet - AVG",\
          "transforms": [\
            {\
              "name": "partition",\
              "arg": {\
                "aggregator": "AVG",\
                "window": "PT5M"\
              }\
            },
            {\
              "name": "avg"\
            }\
          ]\
        }\
      ]\
    } \

    Saída:

    "results:" [
      {
        "marker": "674d86ba-a810-4065-942b-0b7ca2f95db2",
        "series": [
          {
            "label": "Series - Avg",
            "values": [
              {
                "timestamp": "2020-05-01T21:05:00Z",
                "value": 157.43086
              },
              {
                "timestamp": "2020-05-01T21:10:00Z",
                "value": 162.92278
              }
            ]
          }
        ]
      },
      {
        "marker": "846aa334-232a-4015-b033-d18ebc4b1d23",
        "grouped": [
          {
            "groupingBy": "fleet",
            "groups": [
              {
                "group": "86fac11787333200a328c5b836cb0b4e",
                "label": "Bantams",
                "series": {
                  "label": "Fleet - AVG",
                  "values": [
                    {
                      "timestamp": "2020-05-01T21:05:00Z",
                      "value": 159.70201
                    },
                    {
                      "timestamp": "2020-05-01T21:10:00Z",
                      "value": 165.1136
                    }
                  ]
                }
              },
              {
                "group": "4afac11787333200a328c5b836cb0b4e",
                "label": "Bumble Untd",
                "series": {
                  "label": "Fleet - AVG",
                  "values": [
                    {
                      "timestamp": "2020-05-01T21:05:00Z",
                      "value": 154.5403
                    },
                    {
                      "timestamp": "2020-05-01T21:10:00Z",
                      "value": 160.13445
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    ]

    Série temporal de MetricBase - POST /now/clotho/transform/stream

    Retorna um fluxo de dados de série temporal transformados para uma ou mais métricas após a aplicação da lista especificada de transformações.

    O fluxo de dados dessa maneira permite que você processe os dados conforme as transformações individuais são concluídas e retornadas, em vez de aguardar que todos os resultados de transformação sejam concluídos e baixados. Se grandes quantidades de dados precisarem ser processadas pelo cliente, esse tipo de processamento reduzirá o tempo de processamento de ponta a ponta e potencialmente reduzirá o uso de memória no cliente.

    Ao definir o valor do cabeçalho Aceitar correspondente em sua solicitação, você pode:
    • Especifique os dados transmitidos a serem codificados em um formato binário,
    • Serializar dados transmitidos em uma matriz JSON ou
    • Transmita dados de volta para o cliente em um formato CSV amplo ou estreito.
    O endpoint transmite os dados conforme as transformações são concluídas no servidor MetricBase, sem agrupamentos ou uma ordem predeterminada. Os dados transmitidos em formato binário são menores em tamanho do que a representação JSON retornada pelo endpoint Série temporal de MetricBase - POST /now/clotho/transform.

    Formato da URL

    URL com controle de versão: /api/now/{api_version}/clotho/transform/stream

    Parâmetros de solicitação compatíveis

    Tabela 26. Parâmetros de caminho
    Nome Descrição
    api_version Opcional. Versão do endpoint a ser acessada. Por exemplo, v1 ou v2. Somente especifique este valor para usar uma versão de endpoint diferente da mais recente.

    Tipo de dados: cadeia de caracteres

    Tabela 27. Parâmetros de consulta
    Nome Descrição
    sysparm_display_value Sinalizador que indica se os dados de resultado devem ser rotulados com o valor de exibição do registro de assunto se nenhum outro rótulo for especificado.
    Valores válidos:
    • verdadeiro: os dados do resultado são rotulados com o valor de exibição do registro do assunto.
    • falso: os dados do resultado não são rotulados com o valor de exibição do registro do assunto.

    Tipo de dados: booliano

    Padrão: falso

    Tabela 28. Parâmetros do corpo da solicitação (XML ou JSON)
    Nome Descrição
    terminar Obrigatório. Hora de término do período de avaliação. Um valor vazio ou ausente é tratado como a hora atual. Os valores de tempo incluem esta hora de término.

    Tipo de dados: cadeia de caracteres

    Formato: ISO 8601 (UTC), ou:
    • Formato de data absoluto [YYYY-MM-DDThh:mm:ss], como 2019-03-20T17:04:55.
    • Relativo ao formato de duração de tempo atual [P(n)Y(n)M(n)DT(n)H(n)M(n)S], como P1M.
    limite Número máximo de registros a serem retornados. Valores incomumente grandes podem afetar o desempenho do sistema.

    Tipo de dados: número

    Padrão: 10.000

    métricas Lista de objetos de métricas a serem usados na transformação. Para obter mais informações sobre métricas, consulte Métricas.

    Tipo de dados: matriz

    "metrics": [
      {
        "label": "String",
        "metric": "String",
        "transforms": [Array]
      }
    ]
    métricas.rótulo Rótulo a ser usado para o conjunto de resultados desta métrica. Ele substitui todos os rótulos gerados pela cadeia de transformação.

    Tipo de dados: cadeia de caracteres

    Padrão: rótulo padrão gerado.

    métricas.métrica Obrigatório se o objeto metrics for aprovado. Campo de métrica a ser usado na transformação. Este campo deve estar na tabela especificada no parâmetro table.

    Tipo de dados: cadeia de caracteres

    métricas.transformações Lista de transformações (cadeia de transformação) a serem aplicadas aos dados da série temporal recuperados. Cada transformação se baseia nos resultados da transformação anterior. Para obter uma lista de transformações disponíveis, consulte Transformações compatíveis abaixo.

    Tipo de dados: matriz de objetos

    "transforms": [
      {
        "arg": {Object},
        "name": "String"
      }
    ]
    métricas.transformações.arg Dependente da transformação. Parâmetro ou parâmetros a serem passados para a transformação.
    Diretrizes gerais:
    • Não use o parâmetro arg ao especificar transformações que não usam um parâmetro.
    • Use Número, Cadeia de caracteres ou Booliano para transformações que usam um único parâmetro.
    • Use um objeto JSON, com os pares de nome-valor apropriados, para transformações que usam mais de um parâmetro.

    Tipo de dados: objeto numérico, cadeia de caracteres, booliano ou JSON, dependendo da transformação. (Para obter uma lista de transformações disponíveis, consulte a tabela Transformações compatíveis abaixo.)

    metrics.transforms.name Obrigatório se um objeto transforms for especificado. Nome da transformação.

    Para obter uma lista de transformações disponíveis, consulte a tabela Transformações compatíveis abaixo.

    Tipo de dados: cadeia de caracteres

    consulta Consulta codificada a ser usada para filtrar o conjunto de resultados.

    Você pode compor a consulta usando o editor de filtro da tabela especificada. Depois de criado, selecione Copiar URL no menu de contexto de trilhas do filtro.

    Tipo de dados: cadeia de caracteres

    Padrão: nenhum

    iniciar Obrigatório. Hora de início do período de avaliação. O valor especial all pode ser usado para definir a hora de início como a hora atual menos o período máximo de retenção para as métricas especificadas. Um valor vazio ou ausente é tratado como um tudoimplícito. Os valores de tempo incluem esta hora de início.

    Tipo de dados: cadeia de caracteres

    Formato: ISO 8601 (UTC), ou:
    • Formato de data absoluto [AAAA-MM-DDThh:mm:ss], como 2019-03-20T17:04:55
    • Relativo ao formato de duração de tempo atual [P(n)Y(n)M(n)DT(n)H(n)M(n)S], como P1M.
    tabela Obrigatório. Nome da tabela que contém o GlideRecord associado a esta série.

    Tipo de dados: cadeia de caracteres

    Cabeçalhos

    Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis.

    Tabela 29. Cabeçalhos da solicitação
    Cabeçalho Descrição
    Aceitar Formato de dados do corpo da resposta. Oferece suporte ao seguinte:
    • application/json
    • application/octet-stream ou
    • text/csv
    Para especificar o formato CSV, use text/csv;format=nrow ou text/csv;format=wide.
    Tipo de conteúdo Formato de dados do corpo da solicitação. Oferece suporte somente a application/json.
    Tabela 30. Cabeçalhos de resposta
    Cabeçalho Descrição
    Nenhum(a) Formato de dados do corpo da resposta. Com base nos valores de aceitação especificados da solicitação, use:
    • application/json
    • application/octet-stream ou
    • text/csv

    Se vários tipos de aceitação forem especificados, o primeiro tipo compatível será retornado.

    Códigos de status

    Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP de REST API.

    Tabela 31. Códigos de status
    Código do status Descrição
    200 Bem-sucedido. A solicitação foi processada com sucesso e os dados começarão a ser transmitidos.
    Nota:
    Uma resposta 200 ainda pode incorrer em um erro de processamento no meio do fluxo conforme as transformações são calculadas.
    400 Solicitação Incorreta. Foi detectado um tipo de solicitação incorreto ou solicitação malformada.
    401 Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas.
    404 Não encontrado. O item solicitado não foi encontrado.
    405 Método inválido. A funcionalidade está desabilitada.
    500 Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro.

    Parâmetros do corpo da resposta (Octet-stream ou JSON)

    Nome Descrição
    Fluxo de saída (Octet-Stream) Se o cabeçalho Aceitar solicitação estiver definido como application/octet-stream, os dados do MetricBase correspondentes serão retornados como um fluxo serializado binário. As aplicações Clotho-Util para Java fornecem um desserializador que permite analisar esses dados.

    O fluxo consiste em uma serialização binária de cada referência, precedida por um número inteiro que representa seu tamanho. As entradas a seguir descrevem os dados na representação binária e a ordem desses dados.

    Fluxo de CSV (fluxo UTF-8) Se o cabeçalho Aceitar solicitação estiver definido como text/csv, os dados do MetricBase correspondentes serão retornados como dados CSV codificados em UTF-8 nos formatos amplo ou estreito.

    Um formato restrito retorna colunas de assunto e carimbo de data/hora e uma coluna para cada métrica retornada. Um formato amplo retorna uma coluna de carimbo de data/hora com uma coluna separada para cada par de métrica-assunto.

    Assunto Origem dos dados. Por exemplo, se a métrica para os dados for altitudes do drone, esse valor poderá ser o ID de um drone específico. Se dois pontos forem incluídos no valor, as partes após o assunto representarão a métrica da qual os dados fazem parte. Valores nulos são representados por uma cadeia de caracteres vazia codificada.

    Tipo de dados: cadeia de caracteres (UTF modificado por Java)

    Tamanho: 2+ bytes

    Dimensão Métrica de origem dos dados. Valores nulos são representados por uma cadeia de caracteres vazia codificada.

    Tipo de dados: cadeia de caracteres (UTF modificado por Java)

    Tamanho: 2+ bytes

    Rótulo Rótulo dos dados. Valores nulos são representados por uma cadeia de caracteres vazia codificada.

    Tipo de dados: cadeia de caracteres (UTF modificado por Java)

    Tamanho: 2+ bytes

    Tipo Tipo de dados codificados em um byte.

    Valores possíveis:

    • Modo Flutuante
    • Sinal flutuante
    • Modelo duplo
    • Sinal duplo

    Tipo de dados: byte

    Tamanho: 1 byte

    Sinalizadores Variável serializeFlags codificada. Se serializeTags for verdadeiro e os dados contiverem marcadores, o valor será 2, caso contrário, será 0.

    Tipo de dados: byte

    Tamanho: 1 byte

    Período Período associado aos dados.

    Tipo de dados: número (inteiro)

    Tamanho: 4 bytes

    Número de marcadores Se serializeTags for verdadeiro, este será o número de marcadores armazenados nos dados.

    Tipo de dados: número (inteiro)

    Tamanho: 4 bytes

    Marcadores Se serializeTags for verdadeiro, cada marcador será armazenado nos dados.

    Tipo de dados: cadeia de caracteres (UTF modificado por Java)

    Tamanho: depende do número de marcadores (mais de 2 bytes).

    Período de início em segundo Hora UTC da época que representa a hora de início desta série de dados.

    Tipo de dados: número (longo)

    Tamanho: 8 bytes

    Número de valores Número de valores armazenados nestes dados.

    Tipo de dados: número (inteiro)

    Tamanho: 4 bytes

    Valores Se Type for Sinal flutuante, o restante consistirá em valores flutuantes.

    Tamanho: Number of Values * 4

    Tipo de dados: número (flutuante)

    Valores Se Type for sinal duplo, o restante consistirá em valores duplos.

    Tipo de dados: número (duplo)

    Tamanho: Number of Values * 4 bytes

    Modelo JSON (modelo) Se Type for modelo flutuante ou modelo duplo, o restante será uma cadeia de caracteres UTF modificada do Java que representa o modelo como JSON.

    Tipo de dados: cadeia de caracteres (UTF modificado por Java)

    Tamanho: 2+ bytes

    Marcador de modelo grande (Big Model) Se o comprimento do JSON do modelo for maior que 65.535 bytes, este campo será gravado em vez de Model Json.

    Tipo de dados: cadeia de caracteres (UTF modificado por Java)

    Tamanho: 5

    Tamanho do modelo grande (Big Model) Tamanho da representação JSON do modelo grande.

    Tipo de dados: número (inteiro)

    Tamanho: 4 bytes

    Big Model Json (Big Model) Representação JSON do modelo como uma série de caracteres UTF. O tamanho é determinado pelo campo Big Model Size.

    Tipo de dados: cadeia de caracteres (caracteres UTF)

    Tamanho: 65535-256000 bytes

    Fluxo JSON (JSON) Se o cabeçalho Aceitar solicitação estiver definido como application/json, os dados MetricBase correspondentes serão retornados como um fluxo de novos objetos JSON separados por linhas. As entradas a seguir descrevem os elementos possíveis em cada objeto retornado.
    rótulo Rótulo de dados. Este valor é gerado pelo endpoint ou é o valor passado no parâmetro metrics.label.

    Tipo de dados: cadeia de caracteres

    período Quantidade de tempo entre cada valor. Por exemplo, um período de 60 significa que cada valor tem um minuto de intervalo.

    Tipo de dados: número

    Unidade: segundos

    intervalo Horas de início e término dos dados

    Tipo de dados: matriz

    Formato: ISO 8601 (UTC)

    série Identifica os dados individuais. Se presente, está normalmente na forma de [glide record id]:[metric]. Isso pode não estar presente ao usar transformações.

    Tipo de dados: cadeia de caracteres

    Espécies Tipo de dados de retorno. Para uma série de valores flutuantes ou duplos, é FLOAT_SIGNAL ou DOUBLE_SIGNAL. Para um modelo destinado a analisar dados flutuantes ou duplos, é FLOAT_MODEL ou DOUBLE_MODEL.

    Tipo de dados: cadeia de caracteres

    marcadores Marcadores associados aos dados.

    Tipo de dados: matriz de cadeias de caracteres

    valor Valores flutuantes ou duplos para os dados.

    Tipo de dados: matriz de números

    erro Mensagem de erro se a transformação da série de dados especificada falhar.

    Tipo de dados: cadeia de caracteres

    Transformações compatíveis

    Tabela 32. Tipos de dados de transformação
    Transformação Descrição
    adicionar Adiciona o número especificado a cada valor de carimbo de data/hora.

    Argumento: arg (tipo de dados decimais) – número a ser adicionado.

    Por exemplo:
    "transforms": [
      {
        "name": "add",
        "arg": 8
      }
    ]
    correlação automática Calcula a correlação entre valores de carimbo de data/hora separados por um número crescente de períodos que começam em 1.
    médio Agrega a série temporal em uma série que contém o valor médio de cada carimbo de data/hora correspondente na entrada.
    parte inferior Retorna o número especificado de séries que têm os valores mais baixos.

    Argumento: arg (Inteiro) – O número de séries a serem retornadas.

    Por exemplo, o seguinte retorna as duas séries temporais que contêm os conjuntos de valores mais baixos.
    "transforms": [
      {
         "name": "bottom",
         "arg": 2
      }
    ]
    teto Arredonda o valor em cada carimbo de data/hora até a precisão especificada: ceil(value /<arg> ) * )

    Argumento: arg (tipo de dados decimal) – Precisão decimal para arredondar para cima.

    coletar Exibe os resultados de transformação da cadeia de transformação até o ponto da chamada de transformação de coleta. A coleta de resultados de transformação contém um marcador exclusivo, mas você também pode definir um rótulo.
    Por exemplo:
    {
      "start": "PT1H",
      "end": "",
      "table": "mb_demo_drone",
      "limit": 5000,
      "metrics": [
        {
          "metric": "mb_demo_mt_altitude",
          "transforms": [
            {
              "name": "label",
              "arg": "Series Timestamp Values"
            },
            {
              "name": "collect"
            },
            {
              "name": "avg"
            },
            {
              "name": "label",
              "arg": "Average Timestamp Values"
            }
          ]
        }
      ]
    }
    constrainValues Substitui qualquer valor fora do intervalo especificado pelo valor máximo ou mínimo correspondente.
    Por exemplo, se você especificou o seguinte, a transformação substituirá qualquer valor menor que 0 por 0 e qualquer valor maior que 100 por 100.
    "transforms": [
      {
        "name": "constrainValues",
        "val1": 0,
        "val2": 100
      }
    ]
    Argumentos:
    • val1 (tipo de dados decimais): valor mínimo ou máximo.
    • val2 (tipo de dados decimais): valor mínimo ou máximo.
    contagem Agrega a série temporal em uma série. A nova série contém o número de valores que não são NaN (não é um número) para cada carimbo de data/hora correspondente na série.
    derivado Determina a taxa de mudança entre carimbos de data/hora. Divide a diferença entre o valor em cada carimbo de data/hora e o valor no próximo carimbo de data/hora pelo período do carimbo de data/hora.
    Nota:
    Esta transformação retorna um valor a menos do que o número de valores na série.
    div Divide o valor em cada carimbo de data/hora pelo número especificado (arg).

    Argumento: arg (Decimal – O número pelo qual dividir o valor de cada carimbo de data/hora.

    envelope Retorna duas séries temporais, em que, a qualquer momento, uma contém o maior valor e a outra contém o menor valor.
    Nota:
    NaNs são ignorados, mas são retornados se não houver outros valores de retorno.
    exp Eleva o valor da base especificada à potência do valor em cada carimbo de data/hora.

    Argumento: arg (tipo de dados decimais) – O valor base.

    filtros Aplica um agregador ao conteúdo de uma janela deslizante, como a produção de uma média móvel.
    Argumentos:
    • agregador (tipo de dados do agregador): tipo de agregação a ser executada.
    • janela (tipo de dados de duração): a duração da janela deslizante.
    andar Arredonda o valor em cada carimbo de data/hora para baixo para a precisão especificada: floor(value /<arg> ) *

    Argumento: arg (tipo de dados decimal) – A precisão decimal para arredondar para baixo.

    débeis Retorna uma série temporal para cada fracção na matriz especificada. Cada valor de carimbo de data/hora é o valor no qual a porcentagem especificada de valores, para o carimbo de data/hora correspondente na série de entrada, está abaixo da porcentagem especificada. Por exemplo, se a fracção for 0,5, o valor no carimbo de data/hora será o valor em que metade dos valores na série de entrada está abaixo de 0,5.

    Argumento: arg (matriz de decimais) – As frações a serem usadas na série de entrada.

    Por exemplo:
    "transforms": [
      {
        "name": "fractiles",
        "arg": [0.25, 0.5, 0.75, 1]
      }
    ]
    groupBy Agrupa os dados pelos campos especificados antes de coletar ou aplicar transformações agregadas.

    Argumento: arg (Cadeia de caracteres) - Uma lista separada por vírgulas de campos na tabela a serem usados para agrupar os resultados da transformação.

    Por exemplo:
     "transforms": [
      {
        "name": "groupBy",
        "arg": "model"
      },
      {
        "name": "avg"
      },
      {
        "name": "label",
        "arg": "Model: %g"
      }
    ]
    integrar Multiplica o valor em cada carimbo de data/hora pelo período.
    interpolar Cria um valor de dados para um item de dados NaN interpolando de valores de dados adjacentes.

    Argumento: arg (Inteiro) – Número de amostras de dados em cada direção para verificar se há um valor não NaN. Se um valor não NaN não for encontrado, o NaN será usado.

    inverso Calcula o inverso de cada valor de carimbo de data/hora.
    IQR Executa uma transformação de intervalo interquartil e cria um conjunto de resultados que contém quatro séries:
    1. -IQR: a mediana de todas as entradas abaixo de Q1 - (1,5 * IQR).
    2. Q1: a mediana da menor metade das entradas.
    3. Q3: a mediana da maior metade das entradas.
    4. +IQR: a mediana de todas as entradas acima do terceiro trimestre + (1,5 * IQR).
    Nota:
    IQR = T3 - T1
    rótulo Rotular uma cadeia de transformação.
    Nota:
    Transformações subsequentes podem modificar ou substituir o rótulo.
    Argumento: arg (Cadeia de caracteres) – Texto do rótulo. Pode conter as seguintes expressões de formatação:
    • %%: escape de um literal "%".
    • %l: rótulo atual que está sendo substituído.
    • %s: assunto da série.
    • %g: valor do campo agrupar por. Se este for um registro referenciado, o valor do campo de nome do registro. Se vários grupos forem especificados na transformação groupBy, os rótulos serão separados por vírgula.
    • %G: valor do campo agrupar por. Se este for um registro referenciado, o sys_id do registro. Se vários grupos forem selecionados, os valores serão separados por vírgulas.
    Por exemplo:
    "transforms": [
      {
        "name": "label",
        "arg": "Series Timestamp Values"
      },
    ]
    "transforms": [
      {
        "name": "groupBy",
        "arg": "model"
      },
      {
        "name": "avg"
      },
      {
        "name": "label",
        "arg": "Model: %g"
      }
    ]
    limite Retorna, no máximo, a duração especificada ou o número de valores, começando com o valor salvo mais recentemente.
    Argumentos:
    • arg (inteiro): número de valores de carimbo de data/hora a serem retornados para cada série temporal.

      OU

    • arg (tipo de dados de duração): duração a que cada série temporal será limitada.
    log Executa um logaritmo no valor em cada carimbo de data/hora em que o resultado é o log da base especificada para o valor do carimbo de data/hora.

    Argumento: arg (tipo de dados decimais) – Base para o cálculo do logaritmo.

    mapValues Substitui todos os valores dentro do intervalo especificado (inclusivo) pelo valor especificado. Se lowerBound e upperBound forem especificados como NaN, ele substituirá qualquer valor NaN pelo targetValue.
    Argumentos:
    • lowBound (tipo de dados decimal): o valor mais baixo no intervalo.
    • superior (tipo de dados decimal): o valor mais alto no intervalo.
    • targetValue (tipo de dados decimal): valor de substituição.
    Por exemplo, o seguinte muda todos os valores na série temporal que estão entre .1 e .9 para 1:
    "transforms": [
      {
        "name": "mapValues",
        "lowerBound": .1,
        "upperBound": .9,
        "targetValue": 1
      }
    ]
    máx. Retorna uma série que contém o valor máximo de cada carimbo de data/hora correspondente na entrada.
    mediano Cria uma série que contém a mediana de valores para cada carimbo de data/hora em um conjunto de séries.
    Se houver n séries:
    • Se n for ímpar, a mediana será o valor (n / 2 + 1) de um carimbo de data/hora.
    • Se n for par, a mediana será a média dos valores (n / 2) e (n / 2 + 1) para um carimbo de data/hora.
    mín. Retorna uma série que contém o valor mínimo de cada carimbo de data/hora correspondente na entrada.
    mu Multiplica o valor em cada carimbo de data/hora pelo número especificado.

    Argumento: arg (tipo de dados decimais) – Número pelo qual o valor de cada carimbo de data/hora será multiplicado.

    partição

    Produz uma nova série com valores filtrados pela aplicação de um agregador especificado a uma janela não sobreposta.

    Argumentos:
    • agregador (tipo de dados do agregador): tipo de agregação a ser executada.
    • base (tipo de dados Data/Hora): o deslocamento zero a ser usado para particionamento. Por exemplo, para particionar por dia (24h), defina este valor como Segunda-feira à meia-noite no seu fuso horário. Para particionar por um período de 30 dias, defina este valor como o primeiro dia do mês mais recente.

      Padrão: início do EPOCH.

    • janela (tipo de dados Duração): a duração da janela não sobreposta para aplicar o agregador.
    POW Eleva cada valor de carimbo de data/hora para a potência especificada.

    Argumento: arg (tipo de dados decimais) – Potência para a qual elevar cada valor.

    Produto Agrega a série de métricas selecionada em uma única série que contém o produto de todos os valores para cada carimbo de data/hora. NaNs são excluídos. Se todos os números na série forem NaN, a saída também será NaN.
    reamostrar Reamostra uma série temporal para um número fixo de pontos ou de uma frequência para outra.

    Use a transformação de reamostragem para reduzir o número de amostras no conjunto de resultados para corresponder mais ao número de amostras que você deseja exibir.

    Argumentos: você pode passar vários argumentos para esta transformação. Abaixo está uma lista de cada um dos grupos de argumentos possíveis. Somente um desses grupos de argumentos pode ser passado em uma única transformação. Os grupos de argumentos a seguir são delineados por E/OU. E, o que significa que o argumento faz parte do grupo atual; OU, o que significa que é o início de um novo grupo de argumentos.
    • arg (inteiro): número de amostras a serem incluídas no conjunto de resultados. Se as amostras disponíveis forem menores que esse número, o endpoint usará interpolação para criar amostras adicionais. Se houver mais amostras do que este número, elas serão reduzidas pela média.

      OU

    • arg (tipo de dados de duração): a frequência na qual a amostra será reamostrada. Se as amostras disponíveis forem menores que esse número, o endpoint usará interpolação para criar amostras adicionais. Se houver mais amostras do que este número, elas serão reduzidas pela média.

      OU

    • minValues (inteiro): o número mínimo de amostras a serem incluídas no conjunto de resultados. Se as amostras disponíveis forem menores que esse número, o endpoint usará interpolação para criar amostras adicionais.

      E

    • maxValues (inteiro): o número máximo de amostras a serem incluídas no conjunto de resultados. Se houver mais amostras do que este número, elas serão reduzidas pela média.

      OU

    • agregador (tipo de dados do agregador): o agregador a ser usado na reamostragem.

      E

    • valores (inteiro): o número de amostras a serem incluídas no conjunto de resultados. Se as amostras disponíveis forem menores que esse número, o endpoint usará interpolação para criar amostras adicionais. Se houver mais amostras do que este número, elas serão reduzidas aplicando-se o aggregator especificado.

      OU

    • agregador (tipo de dados do agregador): o agregador a ser usado na reamostragem.

      E

    • período (tipo de dados de duração): a frequência na qual a amostra será reamostrada. Se as amostras disponíveis forem menores que esse número, o endpoint usará interpolação para criar amostras adicionais. Se houver mais amostras do que este número, elas serão reduzidas aplicando-se o aggregator especificado.

      OU

    • agregador (tipo de dados do agregador): o agregador a ser usado na reamostragem.

      E

    • minValues (inteiro): o número mínimo de amostras a serem incluídas no conjunto de resultados. Se as amostras disponíveis forem menores que esse número, o endpoint usará interpolação para criar amostras adicionais.

      E

    • maxValues (inteiro): o número máximo de amostras a serem incluídas no conjunto de resultados. Se houver mais amostras do que este número, elas serão reduzidas pela média.
    arredondar Arredonda o valor em cada carimbo de data/hora para cima até a precisão especificada: (valor /<arg> ) *

    Argumento: arg (tipo de dados decimal) – A precisão decimal para a qual arredondar para cima.

    raiz Calcula a raiz de cada valor de carimbo de data/hora usando o índice especificado.

    Argumento: arg (tipo de dados decimais) – O índice da raiz.

    Por exemplo, o seguinte retorna a raiz quadrada de cada carimbo de data/hora:
    "transforms": [
      {
        "name": "root",
        "arg": "2"
      },
    ]
    desenvolvimento padrão Cria uma série que contém o desvio padrão de valores para cada carimbo de data/hora em um conjunto de séries.
    sub Subtrai o número especificado do valor em cada carimbo de data/hora.

    Argumento: arg (Número) – O número a ser subtraído do valor em cada carimbo de data/hora.

    soma Agrega a série de métricas selecionada em uma série que contém a soma de todos os valores de cada carimbo de data/hora, excluindo NaNs. Se todos os números na série forem NaN, a saída será NaN.
    timeshift Desloca o intervalo de tempo adicionando o deslocamento especificado ao carimbo de data/hora de um valor sem modificar o valor. Use esta transformação para mudar os carimbos de data/hora para outro fuso horário.

    Argumento: arg (tipo de dados de duração) – A quantidade de tempo de deslocamento.

    superior Retorna o número especificado de séries que têm os valores mais altos.

    Argumento: arg (Inteiro) – O número de séries a serem retornadas.

    Por exemplo, o seguinte retorna as duas séries temporais que contêm os conjuntos de valores mais altos.
    "transforms": [
      {
         "name": "top",
         "arg": 2
      }
    ]
    Tipo de dados Descrição
    Agregador Agregadores disponíveis para uso na transformação.
    • MÉDIA: calcula a média aritmética de todas as séries selecionadas no momento.
    • CHISquare: mostra o quão bem um modelo estatístico se ajusta ao conjunto de dados de métrica.
    • LAST: retorna o último valor definido na janela do período.
    • MAX: mostra o maior valor do conjunto de dados de métrica em cada ponto no tempo.
    • MÉDIA: mostra a mediana do conjunto de dados de métrica. A mediana separa os valores mais altos do conjunto de dados de métrica dos valores mais baixos.
    • MIN: mostra o menor valor do conjunto de dados de métrica em cada ponto no tempo.
    • STDDEV: calcula o desvio padrão nos dados subjacentes. Usado para quantificar a variação ou dispersão de um conjunto de valores de dados no conjunto de dados de métrica.
    • SOMA: calcula a soma em todas as séries selecionadas no momento.
    DateTime Os valores absolutos de data/hora são especificados pelo formato de data e hora ISO 8601: AAAA-MM-DDThh:mm:ss. Por exemplo: 2020-02-28T13:10:42.

    Em que:

    • [AAAA]: ano com quatro dígitos.
    • [MM]: mês preenchido com zeros entre 01 e 12.
    • [DD]: dia preenchido com zeros entre 01 e 31.
    • T: representa a hora e é obrigatório antes que qualquer um dos componentes de hora seja especificado.
    • [hh]: hora com zeros entre 00 e 23.
    • [mm]: minutos preenchidos com zeros entre 00 e 59.
    • [ss]: segundos preenchidos com zeros entre 00 e 59. Observe que os segundos bissextos são distribuídos uniformemente pelos 1.000 segundos anteriores.

    Os valores de data/hora relativos são especificados usando uma duração (tipo de dados Duração), que é subtraída da hora atual.

    Por exemplo: P7D = sete dias atrás.

    Decimal Valor decimal que pode ser:
    • Um número decimal com sinal de precisão arbitrária que pode usar notação exponencial.

      Como:

      • 2
      • 1,7
      • -3.47
      • 1,0E+2
    • Uma representação de cadeia de caracteres de:
      • Um número decimal com sinal que pode usar notação exponencial e é garantido como um número de ponto flutuante IEEE 754 de 64 bits e precisão dupla.
      • "NaN"
      • "-Infinito"
      • "+ Infinito"
    Duração Quantidade de tempo em um intervalo de tempo. Os valores de duração são especificados pelo formato de duração ISO 8601: P[n]Y[n]M[n]DT[n]H[n]M[n]S
    Em que:
    • P: designador de duração, conhecido como "período", e é sempre colocado no início da duração.
    • [n]Y: número de anos.
    • [n]M: número de meses.
    • [n]D: número de dias.
    • T: designador de tempo e é obrigatório antes que qualquer um dos componentes de tempo seja especificado.
    • [n]H: número de horas.
    • [n]M: número de minutos.
    • [n]S: número de segundos.
    Por exemplo:
    • P7D: período de sete dias.
    • P1M: período de um mês.
    • PT15M: período de 15 minutos.
    • P1DT12H: período de um dia e doze horas.

    Solicitação de cURL

    O exemplo a seguir mostra como chamar este endpoint para retornar um fluxo JSON para métricas na tabela mb_demo_drone. Observação: embora os objetos neste exemplo sejam expandidos para várias linhas para fins de legibilidade, em um resultado real, cada objeto retornado está em sua própria linha. Você pode fazer a mesma chamada e retornar um fluxo de octeto definindo --header "Accept:application/octet-stream" \.

    curl "localhost:8080/api/now/v1/clotho/transform/stream" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --user "username":"password" \
    -d "{\
      \"start\": \"PT5M\",\
      \"end\": \"\",\
      \"table\": \"mb_demo_drone\",\
      \"query\": \"fleet.nameSTARTSWITHB\",\
      \"limit\": 5000,\
      \"metrics\": [\
        {\
          \"metric\": \"mb_demo_mt_altitude\",\
          \"label\": \"Series - Avg\",\
          \"transforms\": [\
            {\
              \"name\": \"partition\",\
              \"arg\": {\
                \"aggregator\": \"AVG\",\
                \"window\": \"PT5M\"\
              }\
            },
            {\
              \"name\": \"avg\"\
            }\
          ]\
        },
        {\
          \"metric\": \"mb_demo_mt_altitude\",\
          \"groupBy\": \"fleet\",\
          \"label\": \"Fleet - AVG\",\
          \"transforms\": [\
            {\
              \"name\": \"partition\",\
              \"arg\": {\
                \"aggregator\": \"AVG\",\
                \"window\": \"PT5M\"\
              }\
            },
            {\
              \"name\": \"avg\"\
            }\
          ]\
        }\
      ]\
    }"

    Resposta:

    [
      {
        "label": "Series - Avg",
        "tags": [
          "#4fb1114f-2426-4acb-8e3e-6435dd62134c"
        ],
        "species": "DOUBLE_SIGNAL",
        "range": [
          "2022-06-16T17:50:00Z",
          "2022-06-16T17:50:00Z"
        ],
        "values": [
          132.86805196126303
        ],
        "period": 300
      },
      {
        "label": "Fleet - AVG",
        "tags": [
          ":fleet:86fac11787333200a328c5b836cb0b4e:Bantams",
          "#6641aab4-c55f-4d11-8846-26b0b706ec1c"
        ],
        "species": "DOUBLE_SIGNAL",
        "range": [
          "2022-06-16T17:50:00Z",
          "2022-06-16T17:50:00Z"
        ],
        "values": [
          134.3775875908988
        ],
        "period": 300
      },
      {
        "label": "Fleet - AVG",
        "tags": [
          "#6641aab4-c55f-4d11-8846-26b0b706ec1c",
          ":fleet:4afac11787333200a328c5b836cb0b4e:Bumble Untd"
        ],
        "species": "DOUBLE_SIGNAL",
        "range": [
          "2022-06-16T17:50:00Z",
          "2022-06-16T17:50:00Z"
        ],
        "values": [
          129.02530271356756
        ],
        "period": 300
      }
    ]

    O exemplo de cURL a seguir usa a opção de formato CSV para transmitir de volta os valores de altitude (armazenados no banco de dados como "mb_demo_mt_altitude") do último dia para cada drone armazenado na tabela mb_demo_drone [Drones] do plug-in Metricbase Demo. No exemplo, os dados são retornados em um formato de tabela estreito com três colunas: o Sys_id do assunto que identifica o drone, o carimbo de data/hora do valor e o valor da altitude.

    curl "https://instance.servicenow.com/api/now/v1/clotho/transform/stream" \
    --request POST \
    --header "Accept:text/csv;format=narrow" \
    --header "Content-Type:application/json" \
    --user "user name":"password" \
    -d "{\
      \"start\": \"P1D\",\
      \"end\": \"\",\
      \"table\": \"mb_demo_drone\",\
      \"metrics\": [\
        {\
          \"metric\": \"mb_demo_mt_altitude\",\
          \"transforms\": []\
        }]\
    }"

    Saída:

    Subject, Timestamp,"mb_demo_drone|mb_demo_mt_altitude"
    "a66b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,92.84400939941406
    "a66b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,92.2428970336914
    "6a6b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,92.0076904296875
    "ea6b051787333200a328c5b836cb0b92",2022-11-07T22:35:00Z,97.3113021850586
    "a66b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,108.49791717529297
    "6a6b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,109.04239654541016
    "6a6b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,93.72159576416016
    "ee6b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,107.69989776611328
    "ee6b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,100.86473083496094
    "ee6b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,95.77774047851562
    "666b051787333200a328c5b836cb0b92",2022-11-07T22:35:00Z,105.19712829589844
    "666b051787333200a328c5b836cb0b95",2022-11-07T22:35:00Z,105.92308807373047
    "6e6b051787333200a328c5b836cb0b99",2022-11-07T22:35:00Z,93.59339141845703
    "666b051787333200a328c5b836cb0b98",2022-11-07T22:35:00Z,94.51266479492188
    "e26b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,105.4367904663086
    "6e6b051787333200a328c5b836cb0b96",2022-11-07T22:35:00Z,94.64836883544922
    "6e6b051787333200a328c5b836cb0b93",2022-11-07T22:35:00Z,94.78523254394531
    "e26b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,96.99283599853516
    "aa6b051787333200a328c5b836cb0b96",2022-11-07T22:35:00Z,106.67017364501953
    "e26b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,94.2446517944336
    "aa6b051787333200a328c5b836cb0b93",2022-11-07T22:35:00Z,91.659912109375
    "226b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,99.5401840209961
    "226b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,98.13501739501953
    "226b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,92.2428970336914
    "226b051787333200a328c5b836cb0b90",2022-11-07T22:35:00Z,106.41876983642578
    "aa6b051787333200a328c5b836cb0b99",2022-11-07T22:35:00Z,107.69989776611328
    "626b051787333200a328c5b836cb0b93",2022-11-07T22:35:00Z,92.96666717529297
    "e66b051787333200a328c5b836cb0b99",2022-11-07T22:35:00Z,93.85079193115234
    "e66b051787333200a328c5b836cb0b93",2022-11-07T22:35:00Z,96.07303619384766
    "e66b051787333200a328c5b836cb0b96",2022-11-07T22:35:00Z,98.47595977783203
    "2a6b051787333200a328c5b836cb0b92",2022-11-07T22:35:00Z,95.9247055053711
    "226b051787333200a328c5b836cb0b9a",2022-11-07T22:35:00Z,99.5401840209961
    "2a6b051787333200a328c5b836cb0b98",2022-11-07T22:35:00Z,103.1417465209961
    "2a6b051787333200a328c5b836cb0b95",2022-11-07T22:35:00Z,96.99283599853516
    "ae6b051787333200a328c5b836cb0b95",2022-11-07T22:35:00Z,94.64836883544922
    "ae6b051787333200a328c5b836cb0b98",2022-11-07T22:35:00Z,101.8689956665039
    "ae6b051787333200a328c5b836cb0b92",2022-11-07T22:35:00Z,107.4388198852539
    "a26b051787333200a328c5b836cb0b98",2022-11-07T22:35:00Z,94.78523254394531
    "266b051787333200a328c5b836cb0b93",2022-11-07T22:35:00Z,94.51266479492188
    "2e6b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,108.49791717529297
    "2e6b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,97.15129852294922
    "2e6b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,103.36128997802734
    "a26b051787333200a328c5b836cb0b92",2022-11-07T22:35:00Z,100.47681427001953
    "266b051787333200a328c5b836cb0b96",2022-11-07T22:35:00Z,103.5830078125
    "266b051787333200a328c5b836cb0b99",2022-11-07T22:35:00Z,97.3113021850586
    "a26b051787333200a328c5b836cb0b95",2022-11-07T22:35:00Z,105.92308807373047
    "ea6b051787333200a328c5b836cb0b98",2022-11-07T22:35:00Z,95.34477996826172
    "ea6b051787333200a328c5b836cb0b95",2022-11-07T22:35:00Z,100.47681427001953
    "626b051787333200a328c5b836cb0b99",2022-11-07T22:35:00Z,100.86473083496094
    "626b051787333200a328c5b836cb0b96",2022-11-07T22:35:00Z,106.9239730834961

    Série temporal de MetricBase - POST /now/clotho/put

    Adiciona dados de série temporal ao banco de dados MetricBase.

    Formato da URL

    URL com controle de versão: /api/now/{api_version}/clotho/put

    Parâmetros de solicitação compatíveis

    Tabela 33. Parâmetros de caminho
    Nome Descrição
    api_version Versão do endpoint a ser acessada. Por exemplo, v1 ou v2. Somente especifique este valor para usar uma versão de endpoint diferente da mais recente.

    Tipo de dados: cadeia de caracteres

    Tabela 34. Parâmetros de consulta
    Nome Descrição
    sysparm_ignore_unknown_series Sinalizador que indica se as séries desconhecidas devem ser ignoradas e continuar a transação sem retornar um erro.
    Valores válidos:
    • verdadeiro: ignora séries desconhecidas.
    • falso: não ignore séries desconhecidas.

    Padrão: verdadeiro

    Tabela 35. Parâmetros do corpo da solicitação (XML ou JSON)
    Nome Descrição
    refsérie Obrigatório. Informações a serem atualizadas.

    Tipo de dados: matriz de objetos

    "seriesRef": [
      {
        "metric": "String",
        "subject": "String",
        "table": "String"
      }
    ]
    ref.série.métrica Obrigatório. Nome da métrica a ser atualizada.

    Tipo de dados: cadeia de caracteres

    ref.série.assunto Obrigatório. Sys_id do registro no qual os dados serão atualizados.

    Tipo de dados: cadeia de caracteres

    Tabela: especificada no parâmetro seriesRef.table.

    ref.série.tabela Obrigatório. Nome da tabela na qual os dados serão salvos.

    Tipo de dados: cadeia de caracteres

    valores Obrigatório. Valores de série a serem armazenados.

    Tipo de dados: matriz

    "values": [
      {
        "timestamp": "String",
        "value": Number
      }
    ]
    valores.carimbo de data/hora Obrigatório. Carimbo de data/hora ISO 8601 do valor.

    Tipo de dados: cadeia de caracteres

    Formato: AAAA-MM-ddTHH:mm:ddZ

    O "Z" final, que denota o fuso horário UTC em um carimbo de data/hora no formato ISO, é opcional.

    valores.valor Obrigatório. Valor da métrica.

    Tipo de dados: número

    Cabeçalhos

    Os cabeçalhos de solicitação e resposta a seguir se aplicam somente a esta ação HTTP ou se aplicam a esta ação de maneira distinta. Para obter uma lista de cabeçalhos gerais usados na REST API, consulte Cabeçalhos de REST API compatíveis.

    Tabela 36. Cabeçalhos da solicitação
    Cabeçalho Descrição
    Aceitar Formato de dados do corpo da resposta. Oferece suporte somente a application/json.
    Tipo de conteúdo Formato de dados do corpo da solicitação. Oferece suporte somente a application/json.
    Tabela 37. Cabeçalhos de resposta
    Cabeçalho Descrição
    Nenhum(a)

    Códigos de status

    Os seguintes códigos de status se aplicam a esta ação HTTP. Para obter uma lista de códigos de status possíveis usados na REST API, consulte Códigos de resposta HTTP de REST API.

    Tabela 38. Códigos de status
    Código do status Descrição
    200 Bem-sucedido. A solicitação foi processada com sucesso.
    401 Não autorizado. As credenciais do usuário estão incorretas ou não foram aprovadas.
    500 Erro interno do servidor. Ocorreu um erro inesperado ao processar a solicitação. A resposta contém informações adicionais sobre o erro.

    Parâmetros do corpo da resposta (JSON ou XML)

    Nome Descrição
    mensagem Mensagem que indica o status da solicitação, como ok se a solicitação foi processada com sucesso.

    Solicitação de cURL

    curl "https://instance.servicenow.com/api/now/v1/clotho/put" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
      \"seriesRef\": {
        \"subject\": \"3D666b051787333200a328c5b836cb0b92\",
        \"table\": \"mb_demo_drone\",
        \"metric\": \"mb_demo_mt_altitude\"
      },
      \"values\": [
        {
          \"timestamp\": \"2019-03-21T17:05:00Z\",
          \"value\": 0.150185
        },
        {
          \"timestamp\": \"2019-03-21T17:06:00Z\",
          \"value\": 0.46074
        },
        {
          \"timestamp\": \"2019-03-21T17:07:00Z\",
          \"value\": 0.83104
        },
        {
          \"timestamp\": \"2019-03-21T17:08:00Z\",
          \"value\": 1.260635
        },
        {
          \"timestamp\": \"2019-03-21T17:09:00Z\",
          \"value\": 1.749
        }
      ]
    }" \
    --user "username":"password"
    {
        "result": {
            "message": "ok"
        }
    }