Tipos de valor e tipos de métrica

Na discussão do modelo de métrica, a seção Tipos de métricas fornece uma discussão geral dos atributos que descrevem um tipo de métrica. Esta seção fornece uma discussão mais detalhada de dois desses atributos:

  • Tipo de valor
  • Classe da métrica

Tipo de valor

O tipo de valor é o tipo de dados das medições. Cada série temporal registra o tipo de valor (tipo ValueType) dos pontos de dados.

  • Para medições que consistem em um único valor por vez, como valores booleanos e dados numéricos, o tipo de valor informa como os dados são armazenados:

    • BOOL, um boleano
    • INT64, um número inteiro de 64 bits
    • DOUBLE, um ponto flutuante de dupla precisão
    • STRING, uma string
  • Para medições de distribuição, o valor não é um único valor, mas um grupo de valores. O tipo de valor para medições de distribuição é DISTRIBUTION.

    Uma distribuição contém estatísticas que resumem um grupo de valores. Os valores em uma distribuição incluem a média, a contagem, o máximo e outras estatísticas, calculadas para um grupo de valores. Uma distribuição também pode incluir um histograma que representa como os valores são distribuídos em um conjunto de intervalos.

As métricas de latência geralmente capturam dados como distribuições. Para mais informações sobre distribuições, consulte a referência Distribution página. Para informações sobre como criar gráficos com essas métricas, consulte Métricas de distribuição.

Classe da métrica

Cada série temporal inclui o tipo de métrica (tipo MetricKind) dos pontos de dados. O tipo de dados de métrica informa como interpretar os valores em relação um ao outro. As métricas do Cloud Monitoring são de três tipos:

  • Uma métrica de medidor, em que o valor mede um instante específico no tempo. Por exemplo, as métricas que medem a utilização da CPU são métricas de medidor. Cada ponto registra a utilização da CPU no momento da medição. Outro exemplo de métrica de medidor é a temperatura atual.

  • Uma métrica delta, em que o valor mede a mudança em um intervalo de tempo. Para leituras, o intervalo de tempo é meio aberto, exclui o horário de início, mas inclui o horário de término: (startTime, endTime]. Por exemplo, as que medem contagens de solicitações são métricas delta. Cada valor registra quantas solicitações foram recebidas após o horário de início e até o horário de término (inclusive).

  • Uma métrica cumulativa, na qual o valor aumenta constantemente ao longo do tempo. Por exemplo, uma métrica para "bytes enviados" pode ser cumulativa. Cada valor registra o número total de bytes enviados por um serviço naquele momento.

Combinações compatíveis

Nem todas as combinações de tipo de métrica e tipo de valor fazem sentido. Por exemplo, você nunca verá uma métrica delta com dados booleanos. Há algumas combinações que fazem sentido juntas.

A tabela a seguir lista os tipos de métricas e tipos de valor compatíveis:

Tipo de valor MEDIDOR DELTA CUMULATIVO4
BOOL yes não no
INT64 yes sim1 yes
DOUBLE yes sim1 yes
STRING sim1 no no
DISTRIBUIÇÃO sim2 sim1, 3 sim

1 Essa combinação não é permitida em métricas personalizadas. custom.googleapis.com
2 Essa combinação não é permitida para métricas com base em registros. Para mais informações, consulte Configurar métricas com base em registros do tipo de distribuição.
3 Essa é a única combinação permitida para métricas com base em registros, logging.googleapis.com/user, com tipo de valor DISTRIBUTION; Para mais informações, consulte o campo metricDescriptor. na referência LogMetric da API Logging.
4 Não é possível usar as métricas cumulativas diretamente no gráfico ou nos alertas no Monitoring. No entanto, elas podem ser agregadas em métricas não cumulativas que podem ser usadas das seguintes formas. Consulte Tipos e conversões para mais informações.

Além disso, se você estiver criando suas próprias métricas, precisará usar apenas combinações válidas de tipos de valor e tipos de métricas.

Como emular métricas personalizadas com valor de string

Os valores de string em métricas personalizadas não são compatíveis, mas é possível replicar a funcionalidade da métrica com valor de string das seguintes maneiras:

  • Crie uma métrica GAUGE usando um valor INT64 como uma enumeração que mapeia para um valor de string. Traduza externamente o enum para um valor de string quando você consultar a métrica.
  • Crie uma métrica GAUGE com um valor BOOL e um rótulo cujo valor seja uma das strings que você quer monitorar. Use o booleano para indicar se o valor é o ativo.

Por exemplo, suponha que você queira criar uma métrica com valor de string chamada "status" com as possíveis opções OK, OFF-LINE ou PENDENTE. É possível criar uma métrica de GAUGE com um rótulo chamado status_value. Cada atualização gravaria três séries temporais, uma para cada status_value (OK, OFFLINE ou PENDING), com um valor de 1 para "verdadeiro" ou 0 para "falso".