REST Resource: anomalies

Recurso: Anomaly

Representa una anomalía detectada en un conjunto de datos.

Nuestros sistemas de detección de anomalías marcan los puntos de datos de una serie temporal que se encuentran fuera de un rango esperado derivado de los datos históricos. Si bien esos rangos esperados tienen un límite superior y uno inferior, solo marcamos anomalías cuando los datos empeoran de forma inesperada, lo que suele corresponder al caso en que la métrica cruza el límite superior.

Varios puntos de datos contiguos en una línea de tiempo fuera del rango esperado se agruparán en una sola anomalía. Por lo tanto, una anomalía representa de manera efectiva un segmento de la línea de tiempo de una métrica. La información almacenada en timelineSpec, dimensions y metric se puede usar para recuperar un cronograma completo con un rango extendido para el contexto.

Permisos obligatorios: Para acceder a este recurso, el usuario que realiza la llamada necesita el permiso Ver información de la app (solo lectura) para la app.

Representación JSON
{
  "name": string,
  "metricSet": string,
  "timelineSpec": {
    object (TimelineSpec)
  },
  "dimensions": [
    {
      object (DimensionValue)
    }
  ],
  "metric": {
    object (MetricValue)
  }
}
Campos
name

string

Identificador. Nombre de la anomalía.

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

metricSet

string

Es el recurso del conjunto de métricas en el que se detectó la anomalía.

timelineSpec

object (TimelineSpec)

Es la especificación del período que abarca la anomalía.

dimensions[]

object (DimensionValue)

Es la combinación de dimensiones en la que se detectó la anomalía.

metric

object (MetricValue)

Es la métrica en la que se detectó la anomalía, junto con el valor anómalo.

TimelineSpec

Es la especificación de los parámetros de agregación relacionados con el tiempo de una línea de tiempo.

Las líneas de tiempo tienen un período de agregación (DAILY, HOURLY, etc.) que define cómo se agregan los eventos en las métricas.

Los puntos de una línea de tiempo se definen según la fecha y hora de inicio del período de agregación. La duración está implícita en AggregationPeriod.

Los períodos de agregación por hora, cuando los admite un conjunto de métricas, siempre se especifican en UTC para evitar ambigüedades en torno a las transiciones del horario de verano, en las que se omite una hora cuando se adopta el horario de verano y se repite cuando se abandona. Por ejemplo, la marca de tiempo "2021-11-07 01:00:00 America/Los_Angeles" es ambigua, ya que puede corresponder a "2021-11-07 08:00:00 UTC" o "2021-11-07 09:00:00 UTC".

Los períodos de agregación diarios requieren que se especifique una zona horaria que determinará los instantes precisos del inicio y el final del día. No todos los conjuntos de métricas admiten todas las zonas horarias, por lo que debes asegurarte de verificar qué zonas horarias admite el conjunto de métricas que deseas consultar.

Representación JSON
{
  "aggregationPeriod": enum (AggregationPeriod),
  "startTime": {
    object (DateTime)
  },
  "endTime": {
    object (DateTime)
  }
}
Campos
aggregationPeriod

enum (AggregationPeriod)

Es el tipo de período de agregación de los datos en la línea de tiempo.

Los intervalos se identifican por la fecha y la hora al inicio del intervalo.

startTime

object (DateTime)

Es el punto de datos inicial del cronograma (inclusive). Debe alinearse con el período de agregación de la siguiente manera:

  • HOURLY: Los campos "minutes", "seconds" y "nanos" deben estar sin configurar. El parámetro timeZone se puede dejar sin configurar (se establece de forma predeterminada en UTC) o se puede establecer de forma explícita en "UTC". Si se configura cualquier otro valor de utcOffset o ID de zona horaria, se generará un error de validación.
  • DAILY: Los campos "hours", "minutes", "seconds" y "nanos" deben estar sin configurar. Los diferentes conjuntos de métricas admiten diferentes zonas horarias. Se puede dejar sin configurar para usar la zona horaria predeterminada especificada por el conjunto de métricas.

La zona horaria del punto final debe coincidir con la del punto de partida.

endTime

object (DateTime)

Es el punto de datos final de la línea de tiempo (exclusivo). Consulta startTime para conocer las restricciones. La zona horaria del punto final debe coincidir con la del punto de partida.

DimensionValue

Representa el valor de una sola dimensión.

Representación 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

Es el nombre de la dimensión.

valueLabel

string

Opcional. Es la etiqueta legible para personas del valor, siempre en inglés. Por ejemplo, "España" para el código de país "ES".

Mientras que el valor de la dimensión es estable, esta etiqueta de valor está sujeta a cambios. No supongas que la relación (valor, etiqueta de valor) es estable. Por ejemplo, el código de país ISO "MK" cambió su nombre recientemente a "Macedonia del Norte".

Campo de unión value. Es el valor real de la dimensión. Depende del tipo. Las direcciones (value) solo pueden ser una de las siguientes opciones:
stringValue

string

Es el valor real, representado como una cadena.

int64Value

string (int64 format)

Es el valor real, representado como un int64.

MetricValue

Representa el valor de una métrica.

Representación 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

Es el nombre de la métrica.

Campo de unión value. Es el valor real de la métrica. Depende del tipo. Las direcciones (value) solo pueden ser una de las siguientes opciones:
decimalValue

object (Decimal)

Valor real, representado como un número decimal.

Campo de unión confidence_interval. Si se proporciona, representa un intervalo de confianza para el valor. Las direcciones (confidence_interval) solo pueden ser una de las siguientes opciones:
decimalValueConfidenceInterval

object (DecimalConfidenceInterval)

Es el intervalo de confianza de un valor que es del tipo type.Decimal.

DecimalConfidenceInterval

Representa el intervalo de confianza de una métrica.

Representación JSON
{
  "lowerBound": {
    object (Decimal)
  },
  "upperBound": {
    object (Decimal)
  }
}
Campos
lowerBound

object (Decimal)

Es el límite inferior del intervalo de confianza.

upperBound

object (Decimal)

Es el límite superior del intervalo de confianza.

Métodos

list

Enumera las anomalías en cualquiera de los conjuntos de datos.