MetricBase Time Series API

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

    Esta API só pode ser usada quando MetricBase o plug-in (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).

    MetricBase Time Series - OBTER /now/clotho/table/

    Recupera dados da série temporal especificada do MetricBase banco de dados.

    Formato de URL

    URL com controle de versão: /api/now/

    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 em subjectparâmetro a ser usado 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 rotular os dados do resultado com o valor de exibição do registro do 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), seja:
    • Formato de data absoluta [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_start Obrigatório. Hora de início do período de avaliação. O valor especial todos 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 implícito todos . Os valores de tempo incluem esta hora de início.

    Tipo de dados: Cadeia de caracteres

    Formato: ISO 8601 (UTC), seja:
    • Formato de data absoluta [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. Solicitar parâmetros do corpo (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 possíveis códigos de status usados na REST API, consulte Códigos de resposta HTTP da 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

    SeriesRef Resultados da série de dados.

    Tipo de dados: Matriz de objetos

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

    Tipo de dados: Cadeia de caracteres

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

    Tipo de dados: Cadeia de caracteres

    SeriesRef.table Nome da tabela da qual 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
      }
    ]
    values.carimbo de data/hora Carimbo de data/hora do valor.

    Tipo de dados: Cadeia de caracteres

    Formato: ISO 8601

    values.value 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
        }
      ]
    }
    

    MetricBase Time Series - OBTER /now/clotho/transform/

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

    Formato de URL

    URL com controle de versão: /api/now/

    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 em subjectparâmetro a ser usado 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 rotular os dados do resultado com o valor de exibição do registro do 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), seja:
    • Formato de data absoluta [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_query Cadeia de caracteres de consulta codificada para encontrar os registros de assunto.

    Tipo de dados: Cadeia de caracteres

    Padrão: Nenhum

    sysparm_start Obrigatório. Hora de início do período de avaliação. O valor especial todos 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 implícito todos . Os valores de tempo incluem esta hora de início.

    Tipo de dados: Cadeia de caracteres

    Formato: ISO 8601 (UTC), seja:
    • Formato de data absoluta [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 Limitar o tamanho do resultado da consulta de assunto.

    Tipo de dados: Número

    Padrão: 10.000

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

    Tipo de dados: Cadeia de caracteres

    Padrão: Nenhum

    Tabela 9. Solicitar parâmetros do corpo (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/jsonou 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 possíveis códigos de status usados na REST API, consulte Códigos de resposta HTTP da 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

    SeriesRef Resultados da série de dados.

    Tipo de dados: Matriz de objetos

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

    Tipo de dados: Cadeia de caracteres

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

    Tipo de dados: Cadeia de caracteres

    SeriesRef.table Nome da tabela da qual 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
      }
    ]
    values.carimbo de data/hora Carimbo de data/hora do valor.

    Tipo de dados: Cadeia de caracteres

    Formato: ISO 8601

    values.value 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
          }
        ]
      }
    ]
    

    MetricBase Time Series - 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.

    Use esta API Para lidar com métricas que podem ser somadas para uma acumulação, como quilowatts-hora (kWhs) de eletricidade. Acumular faz uma chamada para cada métrica no carimbo de data/hora fornecido. Por exemplo, os quilowatts coletados para um aquecedor, chaleira elétrica e máquina de lavar roupa resultariam em três chamadas para acumular.

    Formato de URL

    URL com controle de versão: /api/now//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 acessado. Por exemplo, v1 ou v2 . Especifique este valor somente 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 conetado 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 da constante como valor padrão para acumular total_power. Por exemplo, você usaria 20 se o roteador estiver conectado constantemente e consumir 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. Solicitar parâmetros do corpo (XML ou JSON)
    Nome Descrição
    SeriesRef 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"
      }
    ]
    SeriesRef.métrica Obrigatório. Nome da métrica de acúmulo a ser atualizada.

    Tipo de dados: Cadeia de caracteres

    SeriesRef.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

    SeriesRef.table 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. Os valores com o mesmo carimbo de data/hora são somados com default_valueparâmetro de consulta.

    Tipo de dados: Matriz

    "values": [
      {
        "timestamp": "String",
        "value": Number
      }
    ]
    values.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" indica o fuso horário UTC em um carimbo de data/hora formatado ISO. Esta parte do formato de carimbo de data/hora é opcional.

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

    values.value 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 possíveis códigos de status usados na REST API, consulte Códigos de resposta HTTP da 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"
        }
    }

    MetricBase Time Series - POST /now/clotho/transform

    Recupera e agrupa opcionalmente 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 de URL

    URL com controle de versão: /api/now//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 acessado. Por exemplo, v1 ou v2 . Especifique este valor somente 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 rotular os dados do resultado com o valor de exibição do registro do 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. Solicitar parâmetros do corpo (XML ou JSON)
    Nome Descrição
    término 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), seja:
    • Formato de data absoluta [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 .
    limite Número máximo de registros a serem retornados. Valores excepcionalmente grandes podem afetar o desempenho do sistema.

    Tipo de dados: Número

    Padrão: 10.000

    métricas Lista de objetos de métrica 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]
      }
    ]
    metrics.groupBy Lista separada por vírgulas de campos, contida na tabela especificada em tableparâmetro, para agrupar a série antes de coletar ou aplicar transformações agregadas.

    A ordem dos itens na lista é a ordem pela 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 no estado.

    Tipo de dados: Cadeia de caracteres

    Padrão: Os dados não estão agrupados.

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

    Tipo de dados: Cadeia de caracteres

    Rótulo padrão: Rótulo padrão gerado.

    metrics.metric Necessário se metricso objeto foi aprovado. Campo de métrica a ser usado na transformação. Este campo deve estar na tabela especificada em tableparâmetro.

    Tipo de dados: Cadeia de caracteres

    metrics.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"
      }
    ]
    metrics.transformações.arg Dependente da transformação. Parâmetro ou parâmetros a serem passados para a transformação.
    Diretrizes gerais:
    • Não use argparâmetro ao especificar transformações que não aceitam 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 nome-valor apropriados, para transformações que usam mais de um parâmetro.

    Tipo de dados: Número, cadeia de caracteres, booliano ou objeto 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 Necessário se for um transformso objeto foi 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 filtros 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

    início Obrigatório. Hora de início do período de avaliação. O valor especial todos 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 implícito todos . Os valores de tempo incluem esta hora de início.

    Tipo de dados: Cadeia de caracteres

    Formato: ISO 8601 (UTC), seja:
    • Formato de data absoluta [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 possíveis códigos de status usados na REST API, consulte Códigos de resposta HTTP da 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. Um tipo de solicitação incorreto ou uma solicitação malformada foi detectada.
    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 objetos de resultado retornam que atendem à consulta. Contém um seriesmatriz ou um groupedmatriz.

    Tipo de dados: Matriz

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

    Tipo de dados: Matriz

    "grouped": [
      {
        "groupingBy": "String",
        "groups": [Array]
      }
    ]
    results.grouped.groupingBy Valor passado em metrics.groupByparâmetro na solicitação.

    Tipo de dados: Cadeia de caracteres

    results.grouped.groups Lista de grupos gerados com base no conteúdo do metrics.groupByparâmetro 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

    results.grouped.groups.label Rótulo do grupo.

    Tipo de dados: Cadeia de caracteres

    results.grouped.groups.series Valores transformados para o resultado do grupo.

    Tipo de dados: Matriz

    "series": [
      {
        "label": "String",
        "seriesRef": {Object},
        "values": [Array]
      }
    ]
    results.grouped.groups.series.label Rótulo da série.

    Tipo de dados: Cadeia de caracteres

    results.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"
    }
    results.grouped.groups.series.seriesRef.metric Nome da métrica da qual a série de dados foi obtida. Aparece somente se metricso objeto foi passado na solicitação.

    Tipo de dados: Cadeia de caracteres

    results.grouped.groups.series.seriesRef.subject Sys_id do registro da série de dados.

    Tipo de dados: Cadeia de caracteres

    Tabela: A tabela especificada em results.series.seriesRef.tableparâmetro.

    results.grouped.groups.series.seriesRef.table Nome da tabela da qual a série de dados foi obtida.

    Tipo de dados: Cadeia de caracteres

    results.grouped.groups.series.values Lista de valores de resultado do grupo.

    Tipo de dados: Matriz

    "values": [
      {
        "timestamp": "String",
        "value": Number
      }
    ]
    results.grouped.groups.series.values.timestamp Carimbo de data/hora ISO 8601 do valor.

    Tipo de dados: Cadeia de caracteres

    results.grouped.groups.series.values.value Valor transformado.

    Tipo de dados: Número

    results.marker Identificador exclusivo para os resultados correspondentes.

    Tipo de dados: Cadeia de caracteres

    results.series Série desagrupada de objetos de resultado.

    Tipo de dados: Matriz de objetos

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

    Tipo de dados: Cadeia de caracteres

    results.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"
    }
    results.series.seriesRef.metric Nome da métrica da qual a série de dados foi obtida. Aparece somente se metricso objeto foi passado na solicitação.

    Tipo de dados: Cadeia de caracteres

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

    Tipo de dados: Cadeia de caracteres

    Tabela: Especificada em results.series.seriesRef.tableparâmetro.

    results.series.seriesRef.table Nome da tabela da qual a série de dados foi obtida.

    Tipo de dados: Cadeia de caracteres

    results.series.values Valores de série transformados.

    Tipo de dados: Matriz de objetos

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

    Tipo de dados: Cadeia de caracteres

    results.series.values.value 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 decimal) - 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édia 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 mais baixos de valores.
    "transforms": [
      {
         "name": "bottom",
         "arg": 2
      }
    ]
    ceil Arredonda o valor em cada carimbo de data/hora para a precisão especificada: ceil(value / <arg>) * <arg>)

    Argumento: Arg (tipo de dados decimal) - precisão decimal para arredondar para.

    coletar Exibe os resultados de transformação da cadeia de transformação até o ponto da chamada de transformação Coletar. Coletar 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"
            }
          ]
        }
      ]
    }
    Restringir Valores 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 decimal): Valor mínimo ou máximo.
    • Val2 (tipo de dados decimal): 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 para o poder do valor em cada carimbo de data/hora.

    Argumento: Arg (tipo de dados decimal) - o valor base.

    filtros Aplica um agregador ao conteúdo de uma janela deslizante, como produzir 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 a precisão especificada: andar (valor / <arg>) * <arg>

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

    fractis Retorna uma série temporal para cada fração na matriz especificada. Cada valor de carimbo de data/hora é o valor no qual a fração de valores especificada, para o carimbo de data/hora correspondente na série de entrada, está abaixo da porcentagem especificada. Por exemplo, se a fraçã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 decimal) - 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 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 ser usada 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 por seu período.
    interpolar Cria um valor de dados para um item de dados NaN interpolando 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, 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 (1,5 * IQR) .
    2. P1: A mediana da menor metade das entradas.
    3. T3: A mediana da maior metade das entradas.
    4. IQR: A mediana de todas as entradas acima T3 E (1,5 * IQR) .
    Nota:
    Q3 - Q1
    rótulo Rotula 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 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 Nome do registro. Se vários grupos forem especificados em groupByos rótulos são separados por vírgulas.
    • %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 ser limitada a cada série temporal.
    log Executa um logaritmo no valor em cada carimbo de data/hora em que o resultado é o log da base especificada para o valor de carimbo de data/hora.

    Argumento: Arg (tipo de dados decimal) - Base para o cálculo do logaritmo.

    MapValues Substitui todos os valores dentro do intervalo especificado (inclusive) pelo valor especificado. Se ambos lowerBounde. upperBoundSão especificados como NaN e, em seguida, substituem qualquer valor NaN pelo targetValue.
    Argumentos:
    • Limite inferior (tipo de dados decimal): O menor valor 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 a 1:
    "transforms": [
      {
        "name": "mapValues",
        "lowerBound": .1,
        "upperBound": .9,
        "targetValue": 1
      }
    ]
    máx. Retorna uma série que contém o valor máximo para cada carimbo de data/hora correspondente na entrada.
    mediana 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érie:
    • Se n é ímpar, a mediana é (n / 2 e 1) valor de um carimbo de data/hora.
    • Se n é par, a mediana é a média de (n / 2) e. (n / 2 e 1) valores para um carimbo de data/hora.
    mín Retorna uma série que contém o valor mínimo para cada carimbo de data/hora correspondente na entrada.
    mul Multiplica o valor em cada carimbo de data/hora pelo número especificado.

    Argumento: Arg (tipo de dados decimal) - número pelo qual multiplicar o valor de cada carimbo de data/hora.

    partição

    Produz uma nova série com valores filtrados aplicando 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 DateTime): 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.

      Início da ÉPOCA.

    • Janela (tipo de dados de duração): A duração da janela não sobreposta para aplicar o agregador.
    pow Aumenta cada valor de carimbo de data/hora para a energia especificada.

    Argumento: Arg (tipo de dados decimal) - Potência para a qual aumentar 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 de cada carimbo de data/hora. Nans são excluídos. Se todos os números da 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 seguintes grupos de argumentos são delineados por E/OU. E significa que o argumento faz parte do grupo atual; OU 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á a interpolação para criar amostras adicionais. Se houver mais amostras do que este número, elas serão reduzidas pela média delas.

      OU

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

      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á a interpolação para criar amostras adicionais.

      E

    • Valores máximos (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 delas.

      OU

    • Agregador (tipo de dados do agregador): O agregador a ser usado ao reamostrar.

      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á a interpolação para criar amostras adicionais. Se houver mais amostras do que este número, elas serão reduzidas aplicando o especificado aggregatorpara eles.

      OU

    • Agregador (tipo de dados do agregador): O agregador a ser usado ao reamostrar.

      E

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

      OU

    • Agregador (tipo de dados do agregador): O agregador a ser usado ao reamostrar.

      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á a interpolação para criar amostras adicionais.

      E

    • Valores máximos (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 delas.
    arredondar Arredonda o valor em cada carimbo de data/hora para a precisão especificada: (value / <arg>) * <arg>

    Argumento: Arg (tipo de dados decimal) - A precisão decimal para arredondar para.

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

    Argumento: Arg (tipo de dados decimal) - o índice da raiz.

    Por exemplo, o seguinte retorna a raiz quadrada de cada carimbo de data/hora:
    "transforms": [
      {
        "name": "root",
        "arg": "2"
      },
    ]
    desv. 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 quaisquer Nans. Se todos os números da série forem NaN, a saída será NaN.
    timeshift Muda 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 carimbos de data/hora para outro fuso horário.

    Argumento: Arg (tipo de dados de duração) - a quantidade de tempo para mudar.

    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 mais altos de valores.
    "transforms": [
      {
         "name": "top",
         "arg": 2
      }
    ]
    Tipo de dados Descrição
    Agregador Agregadores disponíveis para usar 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.
    • MÁXIMO: Mostra o maior valor do conjunto de dados de métrica, em cada ponto no tempo.
    • MEDIANA: 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.
    • MÍNIMO: 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 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 de quatro dígitos.
    • [MM]: Mês sem preenchimento entre 01 e 12.
    • [DD]: Dia sem preenchimento entre 01 e 31.
    • T: Representa o tempo e é obrigatório antes que qualquer um dos componentes de tempo seja especificado.
    • [hh]: Hora sem preenchimento entre 00 e 23.
    • [Mm]: Minutos sem preenchimento entre 00 e 59.
    • [ss]: Segundos sem preenchimento entre 00 e 59. Observe que os segundos bissados são distribuídos uniformemente nos 1 000 segundos anteriores.

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

    Por exemplo: P7D: Sete dias atrás.

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

      Como:

      • 2
      • 1,7
      • -3.47
      • 1.0E E 2
    • Uma representação de cadeia de caracteres de:
      • Um número decimal assinado que pode usar notação exponencial e é garantido como um número de ponto flutuante IEEE 754 de 64 bits de 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[n]S.
    Em que:
    • P: Designador de duração, conhecido como "período", e sempre é colocado no início da duração.
    • : Número de anos.
    • M: Número de meses.
    • D: Número de dias.
    • T: Designador de tempo e é obrigatório antes de qualquer um dos componentes de tempo ser especificado.
    • [n]H: Número de horas.
    • M: Número de minutos.
    • 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
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    ]

    MetricBase Time Series - POST /now/clotho/transform/stream

    Retorna um fluxo de dados de série temporal transformados para uma ou mais métricas depois de aplicar a lista especificada de transformações.

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

    Ao definir o valor do cabeçalho Aceitar correspondente em sua solicitação, você pode:
    • Especificar os dados transmitidos a serem codificados em um formato binário,
    • Serialize dados transmitidos em uma matriz JSON ou
    • Transmitir 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 MetricBase servidor, sem agrupamentos ou uma ordenação predeterminada. Os dados transmitidos em formato binário são menores em tamanho do que a representação JSON retornada pelo MetricBase Time Series - POST /now/clotho/transform endpoint.

    Formato de URL

    URL com controle de versão: /api/now//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 acessado. Por exemplo, v1 ou v2 . Especifique este valor somente 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 rotular os dados do resultado com o valor de exibição do registro do 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. Solicitar parâmetros do corpo (XML ou JSON)
    Nome Descrição
    término 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), seja:
    • Formato de data absoluta [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 .
    limite Número máximo de registros a serem retornados. Valores excepcionalmente grandes podem afetar o desempenho do sistema.

    Tipo de dados: Número

    Padrão: 10.000

    métricas Lista de objetos de métrica 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]
      }
    ]
    metrics.label Rótulo a ser usado para o conjunto de resultados desta métrica. Substitui todos os rótulos gerados pela cadeia de transformação.

    Tipo de dados: Cadeia de caracteres

    Rótulo padrão: Rótulo padrão gerado.

    metrics.metric Necessário se metricso objeto foi aprovado. Campo de métrica a ser usado na transformação. Este campo deve estar na tabela especificada em tableparâmetro.

    Tipo de dados: Cadeia de caracteres

    metrics.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"
      }
    ]
    metrics.transformações.arg Dependente da transformação. Parâmetro ou parâmetros a serem passados para a transformação.
    Diretrizes gerais:
    • Não use argparâmetro ao especificar transformações que não aceitam 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 nome-valor apropriados, para transformações que usam mais de um parâmetro.

    Tipo de dados: Número, cadeia de caracteres, booliano ou objeto 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 Necessário se for um transformso objeto foi 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 filtros 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

    início Obrigatório. Hora de início do período de avaliação. O valor especial todos 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 implícito todos . Os valores de tempo incluem esta hora de início.

    Tipo de dados: Cadeia de caracteres

    Formato: ISO 8601 (UTC), seja:
    • Formato de data absoluta [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. O oferece suporte ao seguinte:
    • application/json
    • application/octet-stream ou
    • text/csv
    Para especificar o formato CSV, use texto/csv; formato estreito ou texto/csv; formato largo .
    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 possíveis códigos de status usados na REST API, consulte Códigos de resposta HTTP da 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á a transmissão.
    Nota:
    Uma resposta 200 ainda pode incorrer em um erro de processamento de midstream conforme as transformações são calculadas.
    400 Solicitação Incorreta. Um tipo de solicitação incorreto ou uma solicitação malformada foi detectada.
    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 (octeto-Stream) Se o cabeçalho Aceitar solicitação estiver definido como application/octet-stream, Os dados do MetricBase correspondentes são retornados como um fluxo binário serializado. O Clotho-Util para aplicações Java fornece um desserializador que permite analisar esses dados.

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

    Fluxo CSV (fluxo UTF-8) Se o cabeçalho Aceitar solicitação estiver definido como text/csv, Os dados do MetricBase correspondentes são retornados como dados CSV codificados em UTF-8 em formatos amplos ou estreitos.

    Um formato estreito 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 dos 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: Mais de 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: Mais de 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: Mais de 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 Codificado serializeFlagsvariável. Se serializeTagse os dados contêm marcadores, o valor é 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é verdadeiro, então este é o número de marcadores armazenados nos dados.

    Tipo de dados: Número (inteiro)

    Tamanho: 4 bytes

    Marcadores Se serializeTagsé verdadeiro, cada marcador é armazenado nos dados.

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

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

    Époch 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 nesses dados.

    Tipo de dados: Número (inteiro)

    Tamanho: 4 bytes

    Valores Se Type. Sinal flutuante , em seguida, o restante consiste em valores flutuantes.

    Tamanho: Number of Values* 4

    Tipo de dados: Número (flutuante)

    Valores Se Type. Sinal duplo , em seguida, o restante consiste em valores duplos.

    Tipo de dados: Número (duplo)

    Tamanho: Number of Values* 4 bytes

    Modelo JSON (Modelo) Se Type. Modelo flutuante ou Modelo duplo , O restante é 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: Mais de 2 bytes

    Marcador de modelo grande (modelo grande) Se o tamanho 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 (modelo grande) Tamanho da representação JSON do modelo grande.

    Tipo de dados: Número (inteiro)

    Tamanho: 4 bytes

    JSON de modelo grande (modelo grande) Representação JSON do modelo como uma série de caracteres UTF, o tamanho é ditado pelo Big Model Sizecampo.

    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 correspondentes do MetricBase são retornados como um fluxo de novos objetos JSON separados por linha. As entradas a seguir descrevem os elementos possíveis em cada objeto retornado.
    rótulo Rótulo dos dados. Este valor é gerado pelo endpoint ou é o valor passado no metrics.labelparâmetro.

    Tipo de dados: Cadeia de caracteres

    período Tempo entre cada valor. Por exemplo, um período de 60 significaria 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, normalmente está na forma de [id do registro do glide]:[métrica] . Isso pode não estar presente ao usar transformações.

    Tipo de dados: Cadeia de caracteres

    espécie Tipo de dados de retorno. Para uma série de valores flutuantes ou duplos, isso é FLOAT_SIGNAL ou DOUBLE_SIGNAL. Para um modelo destinado a analisar dados flutuantes ou duplos, isso é 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 decimal) - 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édia 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 mais baixos de valores.
    "transforms": [
      {
         "name": "bottom",
         "arg": 2
      }
    ]
    ceil Arredonda o valor em cada carimbo de data/hora para a precisão especificada: ceil(value / <arg>) * <arg>)

    Argumento: Arg (tipo de dados decimal) - precisão decimal para arredondar para.

    coletar Exibe os resultados de transformação da cadeia de transformação até o ponto da chamada de transformação Coletar. Coletar 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"
            }
          ]
        }
      ]
    }
    Restringir Valores 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 decimal): Valor mínimo ou máximo.
    • Val2 (tipo de dados decimal): 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 para o poder do valor em cada carimbo de data/hora.

    Argumento: Arg (tipo de dados decimal) - o valor base.

    filtros Aplica um agregador ao conteúdo de uma janela deslizante, como produzir 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 a precisão especificada: andar (valor / <arg>) * <arg>

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

    fractis Retorna uma série temporal para cada fração na matriz especificada. Cada valor de carimbo de data/hora é o valor no qual a fração de valores especificada, para o carimbo de data/hora correspondente na série de entrada, está abaixo da porcentagem especificada. Por exemplo, se a fraçã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 decimal) - 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 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 ser usada 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 por seu período.
    interpolar Cria um valor de dados para um item de dados NaN interpolando 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, 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 (1,5 * IQR) .
    2. P1: A mediana da menor metade das entradas.
    3. T3: A mediana da maior metade das entradas.
    4. IQR: A mediana de todas as entradas acima T3 E (1,5 * IQR) .
    Nota:
    Q3 - Q1
    rótulo Rotula 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 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 Nome do registro. Se vários grupos forem especificados em groupByos rótulos são separados por vírgulas.
    • %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 ser limitada a cada série temporal.
    log Executa um logaritmo no valor em cada carimbo de data/hora em que o resultado é o log da base especificada para o valor de carimbo de data/hora.

    Argumento: Arg (tipo de dados decimal) - Base para o cálculo do logaritmo.

    MapValues Substitui todos os valores dentro do intervalo especificado (inclusive) pelo valor especificado. Se ambos lowerBounde. upperBoundSão especificados como NaN e, em seguida, substituem qualquer valor NaN pelo targetValue.
    Argumentos:
    • Limite inferior (tipo de dados decimal): O menor valor 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 a 1:
    "transforms": [
      {
        "name": "mapValues",
        "lowerBound": .1,
        "upperBound": .9,
        "targetValue": 1
      }
    ]
    máx. Retorna uma série que contém o valor máximo para cada carimbo de data/hora correspondente na entrada.
    mediana 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érie:
    • Se n é ímpar, a mediana é (n / 2 e 1) valor de um carimbo de data/hora.
    • Se n é par, a mediana é a média de (n / 2) e. (n / 2 e 1) valores para um carimbo de data/hora.
    mín Retorna uma série que contém o valor mínimo para cada carimbo de data/hora correspondente na entrada.
    mul Multiplica o valor em cada carimbo de data/hora pelo número especificado.

    Argumento: Arg (tipo de dados decimal) - número pelo qual multiplicar o valor de cada carimbo de data/hora.

    partição

    Produz uma nova série com valores filtrados aplicando 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 DateTime): 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.

      Início da ÉPOCA.

    • Janela (tipo de dados de duração): A duração da janela não sobreposta para aplicar o agregador.
    pow Aumenta cada valor de carimbo de data/hora para a energia especificada.

    Argumento: Arg (tipo de dados decimal) - Potência para a qual aumentar 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 de cada carimbo de data/hora. Nans são excluídos. Se todos os números da 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 seguintes grupos de argumentos são delineados por E/OU. E significa que o argumento faz parte do grupo atual; OU 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á a interpolação para criar amostras adicionais. Se houver mais amostras do que este número, elas serão reduzidas pela média delas.

      OU

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

      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á a interpolação para criar amostras adicionais.

      E

    • Valores máximos (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 delas.

      OU

    • Agregador (tipo de dados do agregador): O agregador a ser usado ao reamostrar.

      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á a interpolação para criar amostras adicionais. Se houver mais amostras do que este número, elas serão reduzidas aplicando o especificado aggregatorpara eles.

      OU

    • Agregador (tipo de dados do agregador): O agregador a ser usado ao reamostrar.

      E

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

      OU

    • Agregador (tipo de dados do agregador): O agregador a ser usado ao reamostrar.

      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á a interpolação para criar amostras adicionais.

      E

    • Valores máximos (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 delas.
    arredondar Arredonda o valor em cada carimbo de data/hora para a precisão especificada: (value / <arg>) * <arg>

    Argumento: Arg (tipo de dados decimal) - A precisão decimal para arredondar para.

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

    Argumento: Arg (tipo de dados decimal) - o índice da raiz.

    Por exemplo, o seguinte retorna a raiz quadrada de cada carimbo de data/hora:
    "transforms": [
      {
        "name": "root",
        "arg": "2"
      },
    ]
    desv. 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 quaisquer Nans. Se todos os números da série forem NaN, a saída será NaN.
    timeshift Muda 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 carimbos de data/hora para outro fuso horário.

    Argumento: Arg (tipo de dados de duração) - a quantidade de tempo para mudar.

    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 mais altos de valores.
    "transforms": [
      {
         "name": "top",
         "arg": 2
      }
    ]
    Tipo de dados Descrição
    Agregador Agregadores disponíveis para usar 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.
    • MÁXIMO: Mostra o maior valor do conjunto de dados de métrica, em cada ponto no tempo.
    • MEDIANA: 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.
    • MÍNIMO: 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 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 de quatro dígitos.
    • [MM]: Mês sem preenchimento entre 01 e 12.
    • [DD]: Dia sem preenchimento entre 01 e 31.
    • T: Representa o tempo e é obrigatório antes que qualquer um dos componentes de tempo seja especificado.
    • [hh]: Hora sem preenchimento entre 00 e 23.
    • [Mm]: Minutos sem preenchimento entre 00 e 59.
    • [ss]: Segundos sem preenchimento entre 00 e 59. Observe que os segundos bissados são distribuídos uniformemente nos 1 000 segundos anteriores.

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

    Por exemplo: P7D: Sete dias atrás.

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

      Como:

      • 2
      • 1,7
      • -3.47
      • 1.0E E 2
    • Uma representação de cadeia de caracteres de:
      • Um número decimal assinado que pode usar notação exponencial e é garantido como um número de ponto flutuante IEEE 754 de 64 bits de 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[n]S.
    Em que:
    • P: Designador de duração, conhecido como "período", e sempre é colocado no início da duração.
    • : Número de anos.
    • M: Número de meses.
    • D: Número de dias.
    • T: Designador de tempo e é obrigatório antes de qualquer um dos componentes de tempo ser especificado.
    • [n]H: Número de horas.
    • M: Número de minutos.
    • 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 esse 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 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

    MetricBase Time Series - POST /now/clotho/put

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

    Formato de URL

    URL com controle de versão: /api/now//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 acessado. Por exemplo, v1 ou v2 . Especifique este valor somente 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 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 35. Solicitar parâmetros do corpo (XML ou JSON)
    Nome Descrição
    SeriesRef Obrigatório. Informações a serem atualizadas.

    Tipo de dados: Matriz de objetos

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

    Tipo de dados: Cadeia de caracteres

    SeriesRef.Assunto Obrigatório. Sys_id do registro no qual os dados serão atualizados.

    Tipo de dados: Cadeia de caracteres

    Tabela: Especificada em seriesRef.tableparâmetro.

    SeriesRef.table 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
      }
    ]
    values.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 final "Z", que indica o fuso horário UTC em um carimbo de data/hora no formato ISO, é opcional.

    values.value 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 possíveis códigos de status usados na REST API, consulte Códigos de resposta HTTP da 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"
        }
    }