REST Resource: anomalies

Recurso: Anomalia

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 pioram inesperadamente worse, o que geralmente corresponde ao caso em que a métrica ultrapassa 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 um 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) para o app.

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 de 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, juntamente 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 é implícita no AggregationPeriod.

Os períodos de agregação por hora, quando aceitos por um conjunto de métricas, são sempre especificados em UTC para evitar ambiguidades em torno das transições de 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 determinará os instantes precisos do início e do fim do dia. Nem todos os conjuntos de métricas aceitam todos os fusos horários. Por isso, verifique quais fusos horários são aceitos pelo conjunto de métricas que você quer consultar.

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

enum (AggregationPeriod)

Opcional. 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 do intervalo.

startTime

object (DateTime)

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

  • HOURLY: os campos "minutes", "seconds" e "nanos" precisam ser desmarcados. O timeZone pode ser deixado desmarcado (padrão para UTC) ou definido explicitamente como "UTC". A definição de qualquer outro utcOffset ou ID de fuso horário resultará em um erro de validação.
  • DAILY: os campos "hours", "minutes", "seconds" e "nanos" precisam ser desmarcados. Diferentes conjuntos de métricas aceitam fusos horários diferentes. Ele pode ser deixado desmarcado para usar o fuso horário padrão especificado pelo conjunto de métricas.

O fuso horário do destino precisa corresponder ao fuso horário do ponto inicial.

endTime

object (DateTime)

Opcional. Ponto de dados final da linha do tempo (exclusivo). Consulte startTime para restrições. O fuso horário do destino precisa corresponder ao fuso horário 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 amigável para o valor, sempre em inglês. Por exemplo, "Spain" para o código do país "ES".

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

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.