Tipos de valores e tipos de métricas

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

  • Tipo de valor
  • Tipo de métrica

Tipo de valor

O tipo de valor é o tipo de dados das medições. Cada série cronológica regista o tipo de valor (tipo ValueType) para os respetivos pontos de dados.

  • Para medições que consistam num único valor de cada vez, como valores booleanos e dados numéricos, o tipo de valor indica-lhe como os dados são armazenados:

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

    Uma distribuição contém estatísticas que resumem um grupo de valores. Os valores numa 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 a forma como os valores são distribuídos por um conjunto de intervalos.

Normalmente, as métricas de latência capturam dados como distribuições. Para mais informações acerca das distribuições, consulte a página de referência Distribution. Para obter informações sobre a criação de gráficos destas métricas, consulte o artigo Métricas de distribuição.

Tipo de métrica

Cada série cronológica inclui o tipo de métrica (tipo MetricKind) para os respetivos pontos de dados. O tipo de dados de métricas indica como interpretar os valores relativos entre si. As métricas do Cloud Monitoring são de um de três tipos:

  • Uma métrica de indicador, 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 indicador; cada ponto regista a utilização da CPU no momento da medição. Outro exemplo de uma métrica de indicador é a temperatura atual.

  • Uma métrica delta, em que o valor mede a alteração num intervalo de tempo. Para leituras, o intervalo de tempo é semiaberto, excluindo a hora de início, mas incluindo a hora de fim: (startTime, endTime]. Por exemplo, as métricas que medem as contagens de pedidos são métricas delta. Cada valor regista quantos pedidos foram recebidos após a hora de início, até à hora de fim, inclusive.

  • Uma métrica cumulativa, em que o valor aumenta constantemente ao longo do tempo. Por exemplo, uma métrica para "bytes enviados" pode ser cumulativa; cada valor regista o número total de bytes enviados por um serviço nesse momento.

Combinações suportadas

Nem todas as combinações de tipo de métrica e tipo de valor fazem sentido. Por exemplo, nunca vê uma métrica delta com dados booleanos. Existem determinadas combinações que fazem sentido em conjunto.

A tabela seguinte lista os tipos de métricas e os tipos de valores suportados:

Tipo de valor GAUGE DELTA CUMULATIVO4
BOOL sim não não
INT64 sim sim1 sim
DOUBLE sim sim1 sim
STRING sim1 não não
DISTRIBUTION sim2 Sim1, 3 sim

1 Esta combinação não é permitida em métricas personalizadas, custom.googleapis.com.
2 Esta combinação não é permitida para métricas baseadas em registos. Para mais informações, consulte o artigo Configure métricas baseadas em registos do tipo distribuição.
3 Esta é a única combinação permitida para métricas baseadas em registos, logging.googleapis.com/user, com o tipo de valor DISTRIBUTION; para mais informações, consulte o campo metricDescriptor na referência da API Logging LogMetric.
4 Não é possível usar diretamente métricas cumulativas para criar gráficos ou alertas na monitorização, mas podem ser agregadas em métricas não cumulativas que podem ser usadas destas formas. Consulte Tipos, tipos e conversões para mais informações.

Além disso, se estiver a criar as suas próprias métricas, tem de usar apenas combinações válidas de tipos de valores e tipos de métricas.

Emular métricas personalizadas com valores de string

Os valores de string nas métricas personalizadas não são suportados, mas pode replicar a funcionalidade de métricas com valores de string das seguintes formas:

  • Crie uma métrica GAUGE com um valor INT64 como uma enumeração que é mapeada para um valor de string. Traduza externamente a enumeração para um valor de string quando consultar a métrica.
  • Crie uma métrica GAUGE com um valor BOOL e uma etiqueta cujo valor seja uma das strings que quer monitorizar. Use o valor booleano para indicar se o valor é o valor ativo.

Por exemplo, suponhamos que quer criar uma métrica com valor de string denominada "status" com as opções possíveis OK, OFFLINE ou PENDING. Pode criar uma métrica GAUGE com uma etiqueta denominada status_value. Cada atualização escreveria três séries cronológicas, uma para cada status_value (OK, OFFLINE ou PENDING), com um valor de 1 para "verdadeiro" ou 0 para "falso".