REST Resource: anomalies

Recurso: Anomaly

Representa uma anomalia detectada em um conjunto de dados.

Nossos sistemas de detecção de anomalias sinalizam pontos de dados em uma série temporal que estão fora de um intervalo esperado derivado de dados históricos. Embora esses intervalos esperados tenham um limite superior e um inferior, só sinalizamos anomalias quando os dados ficam inesperadamente piores, o que geralmente corresponde ao caso em que a métrica cruza o limite superior.

Vários pontos de dados contíguos em uma linha do tempo fora do intervalo esperado serão agrupados em uma única anomalia. Portanto, uma anomalia representa efetivamente um segmento da linha do tempo de uma métrica. As informações armazenadas em timelineSpec, dimensions e metric podem ser usadas para buscar uma linha do tempo completa com intervalo estendido para contexto.

Permissões necessárias: para acessar esse recurso, o usuário que faz a chamada precisa da permissão Ver informações do app (somente leitura).

Representação JSON
{
  "name": string,
  "metricSet": string,
  "timelineSpec": {
    object (TimelineSpec)
  },
  "dimensions": [
    {
      object (DimensionValue)
    }
  ],
  "metric": {
    object (MetricValue)
  }
}
Campos
name

string

Identificador. Nome da anomalia.

Formato: apps/{app}/anomalies/{anomaly}

metricSet

string

Recurso do conjunto de métricas em que a anomalia foi detectada.

timelineSpec

object (TimelineSpec)

Especificação da linha do tempo que abrange o período da anomalia.

dimensions[]

object (DimensionValue)

Combinação de dimensões em que a anomalia foi detectada.

metric

object (MetricValue)

Métrica em que a anomalia foi detectada, junto com o valor anômalo.

TimelineSpec

Especificação dos parâmetros de agregação relacionados ao tempo de uma linha do tempo.

As linhas do tempo têm um período de agregação (DAILY, HOURLY etc.) que define como os eventos são agregados nas métricas.

Os pontos em uma linha do tempo são definidos pela data e hora de início do período de agregação. A duração está implícita no AggregationPeriod.

Os períodos de agregação por hora, quando compatíveis com um conjunto de métricas, são sempre especificados em UTC para evitar ambiguidades nas transições do horário de verão, em que uma hora é ignorada ao adotar o horário de verão e repetida ao abandonar o horário de verão. Por exemplo, o carimbo de data/hora "2021-11-07 01:00:00 America/Los_Angeles" é ambíguo, já que pode corresponder a "2021-11-07 08:00:00 UTC" ou "2021-11-07 09:00:00 UTC".

Os períodos de agregação diária exigem a especificação de um fuso horário, que vai determinar os momentos exatos do início e do fim do dia. Nem todos os conjuntos de métricas são compatíveis com todos os fusos horários. Por isso, verifique quais fusos são aceitos pelo conjunto que você quer consultar.

Representação JSON
{
  "aggregationPeriod": enum (AggregationPeriod),
  "startTime": {
    object (DateTime)
  },
  "endTime": {
    object (DateTime)
  }
}
Campos
aggregationPeriod

enum (AggregationPeriod)

Tipo do período de agregação dos pontos de dados na linha do tempo.

Os intervalos são identificados pela data e hora no início deles.

startTime

object (DateTime)

Ponto de dados inicial da linha do tempo (inclusivo). Precisa estar alinhado ao período de agregação da seguinte forma:

  • HOURLY: os campos "minutes", "seconds" e "nanos" não podem ser definidos. O timeZone pode ser deixado sem definição (o padrão é UTC) ou definido explicitamente como "UTC". Definir qualquer outro utcOffset ou ID de fuso horário vai resultar em um erro de validação.
  • DIÁRIO: os campos "hours", "minutes", "seconds" e "nanos" precisam estar vazios. Cada conjunto de métricas é compatível com um fuso horário diferente. Ele pode ser deixado sem definição para usar o fuso horário padrão especificado pelo conjunto de métricas.

O fuso horário do ponto final precisa ser igual ao do ponto inicial.

endTime

object (DateTime)

Ponto de dados final da linha do tempo (exclusivo). Consulte "startTime" para restrições. O fuso horário do ponto final precisa ser igual ao do ponto inicial.

DimensionValue

Representa o valor de uma única dimensão.

Representação JSON
{
  "dimension": string,
  "valueLabel": string,

  // Union field value can be only one of the following:
  "stringValue": string,
  "int64Value": string
  // End of list of possible types for union field value.
}
Campos
dimension

string

Nome da dimensão.

valueLabel

string

Opcional. Rótulo legível para o valor, sempre em inglês. Por exemplo, "Espanha" para o código do país "ES".

Enquanto o valor da dimensão é estável, o rótulo está sujeito a mudanças. Não suponha que a relação (valor, valueLabel) seja estável. Por exemplo, o código ISO do país "MK" mudou recentemente para "Macedônia do Norte".

Campo de união value. Valor real da dimensão. Dependente do tipo. value pode ser apenas de um dos tipos a seguir:
stringValue

string

Valor real, representado como uma string.

int64Value

string (int64 format)

Valor real, representado como um int64.

MetricValue

Representa o valor de uma métrica.

Representação JSON
{
  "metric": string,

  // Union field value can be only one of the following:
  "decimalValue": {
    object (Decimal)
  }
  // End of list of possible types for union field value.

  // Union field confidence_interval can be only one of the following:
  "decimalValueConfidenceInterval": {
    object (DecimalConfidenceInterval)
  }
  // End of list of possible types for union field confidence_interval.
}
Campos
metric

string

Nome da métrica.

Campo de união value. Valor real da métrica. Dependente do tipo. value pode ser apenas de um dos tipos a seguir:
decimalValue

object (Decimal)

Valor real, representado como um número decimal.

Campo de união confidence_interval. Se fornecido, representa um intervalo de confiança para o valor. confidence_interval pode ser apenas de um dos tipos a seguir:
decimalValueConfidenceInterval

object (DecimalConfidenceInterval)

Intervalo de confiança de um valor do tipo type.Decimal.

DecimalConfidenceInterval

Representa o intervalo de confiança de uma métrica.

Representação JSON
{
  "lowerBound": {
    object (Decimal)
  },
  "upperBound": {
    object (Decimal)
  }
}
Campos
lowerBound

object (Decimal)

O limite inferior do intervalo de confiança.

upperBound

object (Decimal)

O limite superior do intervalo de confiança.

Métodos

list

Lista anomalias em qualquer um dos conjuntos de dados.