Package google.api

Índice

Distribuição

Distribution contém estatísticas resumidas de uma população de valores. Ele pode conter um histograma que representa a distribuição desses valores em um conjunto de buckets.

As estatísticas resumidas são a contagem, média, soma do desvio quadrático da média, o mínimo e o máximo do conjunto de população de valores. O histograma se baseia em uma sequência de buckets e fornece uma contagem dos valores que se enquadram em cada bucket. Os limites dos buckets são fornecidos explicitamente ou por fórmulas para buckets de larguras fixas ou exponencialmente crescentes.

Embora não seja proibido, geralmente é uma má ideia incluir valores não finitos (infinidades ou NaNs) na população de valores, já que isso vai tornar os campos mean e sum_of_squared_deviation sem significado.

Campos
count

int64

O número de valores na população. Não podem ser negativas. Esse valor precisará ser igual à soma dos valores em bucket_counts se um histograma for fornecido.

mean

double

A média aritmética dos valores na população. Se count for zero, esse campo precisará ser zero.

sum_of_squared_deviation

double

A soma dos desvios ao quadrado da média dos valores na população. Para os valores x_i, é:

Sum[i=1..n]((x_i - mean)^2)

Knuth, "The Art of Computer Programming", vol. 2, página 232, 3a edição descreve o método de Welford para acumular essa soma em uma passagem.

Se count for zero, esse campo precisará ser zero.

range

Range

Se especificado, contém o intervalo dos valores de população. O campo não poderá estar presente se count for zero.

bucket_options

BucketOptions

Define os limites do bucket do histograma. Se a distribuição não tiver um histograma, omita esse campo.

bucket_counts[]

int64

O número de valores em cada bucket do histograma, conforme descrito em bucket_options. Se a distribuição não tiver um histograma, omita esse campo. Se houver um histograma, a soma dos valores em bucket_counts precisará ser igual ao valor no campo count da distribuição.

Se presente, bucket_counts precisa conter N valores, em que N é o número de buckets especificados em bucket_options. Se você fornecer menos de N valores, os valores restantes serão presumidos como 0.

A ordem dos valores em bucket_counts segue os esquemas de numeração de bucket descritos para os três tipos de bucket. O primeiro valor precisa ser a contagem do bucket de subfluxo (número 0). Os próximos valores N-2 são as contagens para buckets finitos (de 1 a N-2). O valor N em bucket_counts é a contagem do bucket flutuante (número N-1).

exemplars[]

Exemplar

Precisa estar em ordem crescente do campo value.

BucketOptions

BucketOptions descreve os limites do bucket usados para criar um histograma para a distribuição. Os buckets podem estar em uma sequência linear, exponencial ou cada bucket pode ser especificado explicitamente. BucketOptions não inclui o número de valores em cada bucket.

Um bucket tem um limite inferior inclusivo e um limite superior exclusivo para os valores que são contados para aquele bucket. O limite superior de um bucket precisa ser estritamente maior que o limite inferior. A sequência de N buckets para uma distribuição consiste em um bucket de subfluxo (número 0), zero ou mais buckets finitos (de 1 a N - 2) e um bucket de sobrefluxo (número N - 1). Os buckets são contíguos: o limite inferior do bucket i (i > 0) é o mesmo que o limite superior do bucket i - 1. Os buckets abrangem toda a faixa de valores finitos: o limite inferior do bucket de subfluxo é -infinito e o limite superior do bucket de sobrefluxo é +infinito. Os buckets finitos são assim chamados porque ambos os limites são finitos.

Campos
Campo de união options. Exatamente um desses três campos deve ser definido. options pode ser apenas de um dos tipos a seguir:
linear_buckets

Linear

O bucket linear.

exponential_buckets

Exponential

Os buckets exponenciais.

explicit_buckets

Explicit

Os buckets explícitos.

Explícito

Especifica um conjunto de buckets com larguras arbitrárias.

size(bounds) + 1 (= N) buckets. O bucket i tem os seguintes limites:

Limite superior (0 <= i < N-1): limites[i] Limite inferior (1 <= i < N); limites[i - 1]

O campo bounds precisa conter pelo menos um elemento. Se bounds tiver apenas um elemento, não haverá buckets finitos, e esse único elemento será o limite comum dos buckets de sobrefluxo e subfluxo.

Campos
bounds[]

double

Os valores precisam aumentar monotonicamente.

Exponencial

Especifica uma sequência exponencial de buckets com largura proporcional ao valor do limite inferior. Cada bucket representa uma incerteza relativa constante sobre um valor específico no bucket.

num_finite_buckets + 2 (= N) buckets. O bucket i tem os seguintes limites:

Limite superior (0 <= i < N-1): escala * (fator_de_crescimento ^ i).

Limite inferior (1 <= i < N): escala * (fator_de_crescimento ^ (i - 1)).

Campos
num_finite_buckets

int32

Precisa ser maior que 0.

growth_factor

double

Precisa ser maior que 1.

scale

double

Precisa ser maior que 0.

Linear

Especifica uma sequência linear de buckets com a mesma largura (exceto transbordamento e subfluxo). Cada bucket representa uma incerteza absoluta e constante sobre o valor específico dele.

num_finite_buckets + 2 (= N) buckets. O bucket i tem os seguintes limites:

Limite superior (0 <= i < N-1): deslocamento + (largura * i).

Limite inferior (1 <= i < N): deslocamento + (largura * (i - 1)).

Campos
num_finite_buckets

int32

Precisa ser maior que 0.

width

double

Precisa ser maior que 0.

offset

double

Limite inferior do primeiro bucket.

Exemplar

Exemplos são pontos de exemplo que podem ser usados para anotar valores de distribuição agregados. Eles são metadados que fornecem informações sobre um valor específico adicionado a um bucket de distribuição, como um ID de trace ativo quando um valor foi adicionado. Eles podem conter mais informações, como valores de exemplo, carimbos de data/hora, origem etc.

Campos
value

double

Valor do ponto do exemplo. Esse valor determina a qual bucket o exemplo pertence.

timestamp

Timestamp

O horário de observação (amostragem) do valor acima.

attachments[]

Any

Informações contextuais sobre o valor de exemplo. Os exemplos são:

Rastreamento: type.googleapis.com/google.monitoring.v3.SpanContext

String literal: type.googleapis.com/google.protobuf.StringValue

Rótulos descartados durante a agregação: type.googleapis.com/google.monitoring.v3.DroppedLabels

Pode haver apenas um anexo de qualquer tipo de mensagem em um único exemplo, e isso é aplicado pelo sistema.

Intervalo

O intervalo dos valores da população.

Campos
min

double

O mínimo dos valores da população.

max

double

O máximo dos valores de população.

MetricDescriptor

Esse tipo não tem campos.

Define um tipo de métrica e seu esquema. Depois que um descritor de métrica é criado, sua exclusão ou alteração interrompe a coleta de dados e torna os dados existentes do tipo de métrica inutilizáveis.

MetricKind

Um tipo de medida. Descreve como os dados são reportados. Para informações sobre como definir o horário de início e de término com base no MetricKind, consulte [TimeInterval][google.monitoring.v3.TimeInterval].

Enums
METRIC_KIND_UNSPECIFIED Não use este valor padrão.
GAUGE Uma medida instantânea de um valor.
DELTA A alteração em um valor durante um intervalo de tempo.
CUMULATIVE Um valor acumulado ao longo de um intervalo de tempo. As medidas cumulativas em uma sequência temporal devem ter o mesmo horário de início e horários de término crescentes até que um evento redefina o valor cumulativo para zero e defina um novo horário de início para os pontos posteriores.

ValueType

O tipo de valor de uma métrica.

Enums
VALUE_TYPE_UNSPECIFIED Não use este valor padrão.
BOOL O valor é um booleano. Esse tipo de valor pode ser usado apenas se o tipo de métrica for GAUGE.
INT64 O valor é um número inteiro assinado de 64 bits.
DOUBLE O valor é um número de ponto flutuante de precisão dupla.
STRING O valor é uma string de texto. Esse tipo de valor pode ser usado apenas se o tipo de métrica for GAUGE.
DISTRIBUTION O valor é um Distribution.
MONEY O valor é em dinheiro.