Distribution contém estatísticas resumidas para uma população de valores. Opcionalmente, contém um histograma que representa a distribuição desses valores num conjunto de contentores.
As estatísticas de resumo são a contagem, a média, a soma do desvio ao quadrado da média, o mínimo e o máximo do conjunto de valores da população. O histograma baseia-se numa sequência de segmentos e apresenta uma contagem de valores que se enquadram em cada segmento. Os limites dos grupos são fornecidos de forma explícita ou através de fórmulas para grupos de larguras fixas ou exponencialmente crescentes.
Embora não seja proibido, geralmente, é uma má ideia incluir valores não finitos (infinitos ou NaNs) na população de valores, uma vez que isto torna os campos mean e sumOfSquaredDeviation sem significado.
| Representação JSON |
|---|
{ "count": string, "mean": number, "sumOfSquaredDeviation": number, "range": { object ( |
| Campos | |
|---|---|
count |
O número de valores na população. Tem de ser não negativo. Este valor tem de ser igual à soma dos valores em |
mean |
A média aritmética dos valores na população. Se |
sumOfSquaredDeviation |
A soma dos desvios quadrados da média dos valores na população. Para os valores x_i, isto é: Knuth, "The Art of Computer Programming", Vol. 2, página 232, 3.ª edição, descreve o método de Welford para acumular esta soma numa única passagem. Se |
range |
Se especificado, contém o intervalo dos valores da população. O campo não pode estar presente se o valor de |
bucketOptions |
Define os limites dos intervalos do histograma. Se a distribuição não contiver um histograma, omita este campo. |
bucketCounts[] |
O número de valores em cada segmento do histograma, conforme descrito em Se estiver presente, A ordem dos valores em |
exemplars[] |
Tem de estar por ordem crescente do campo |
Intervalo
O intervalo dos valores da população.
| Representação JSON |
|---|
{ "min": number, "max": number } |
| Campos | |
|---|---|
min |
O mínimo dos valores da população. |
max |
O máximo dos valores da população. |
BucketOptions
BucketOptions descreve os limites dos contentores usados para criar um histograma para a distribuição. Os intervalos podem estar numa sequência linear, numa sequência exponencial ou cada intervalo pode ser especificado explicitamente. BucketOptions não inclui o número de valores em cada segmento.
Um segmento tem um limite inferior inclusivo e um limite superior exclusivo para os valores que são contabilizados para esse segmento. O limite superior de um grupo tem de ser estritamente superior ao limite inferior. A sequência de N contentores para uma distribuição consiste num contentor de limite inferior (número 0), zero ou mais contentores finitos (número 1 a N - 2) e um contentor de limite superior (número N - 1). Os intervalos são contíguos: o limite inferior do intervalo i (i > 0) é igual ao limite superior do intervalo i - 1. Os segmentos abrangem todo o intervalo de valores finitos: o limite inferior do segmento de underflow é -infinito e o limite superior do segmento de overflow é +infinito. Os intervalos finitos são assim denominados porque ambos os limites são finitos.
| Representação JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de união options. Tem de definir exatamente um destes três campos. options só pode ser uma das seguintes opções: |
|
linearBuckets |
O intervalo linear. |
exponentialBuckets |
Os intervalos exponenciais. |
explicitBuckets |
Os contentores explícitos. |
Linear
Especifica uma sequência linear de grupos que têm todos a mesma largura (exceto o excesso e a falta). Cada contentor representa uma incerteza absoluta constante no valor específico no contentor.
Existem numFiniteBuckets + 2 (= N) contentores. O intervalo i tem os seguintes limites:
Limite superior (0 <= i < N-1): deslocamento + (largura * i).
Limite inferior (1 <= i < N): deslocamento + (largura * (i - 1)).
| Representação JSON |
|---|
{ "numFiniteBuckets": integer, "width": number, "offset": number } |
| Campos | |
|---|---|
numFiniteBuckets |
Tem de ser superior a 0. |
width |
Tem de ser superior a 0. |
offset |
Limite inferior do primeiro grupo. |
Exponencial
Especifica uma sequência exponencial de segmentos que têm uma largura proporcional ao valor do limite inferior. Cada contentor representa uma incerteza relativa constante num valor específico no contentor.
Existem numFiniteBuckets + 2 (= N) contentores. O intervalo i tem os seguintes limites:
Limite superior (0 <= i < N-1): scale * (growthFactor ^ i).
Limite inferior (1 <= i < N): scale * (growthFactor ^ (i - 1)).
| Representação JSON |
|---|
{ "numFiniteBuckets": integer, "growthFactor": number, "scale": number } |
| Campos | |
|---|---|
numFiniteBuckets |
Tem de ser superior a 0. |
growthFactor |
Tem de ser superior a 1. |
scale |
Tem de ser superior a 0. |
Explícito
Especifica um conjunto de intervalos com larguras arbitrárias.
Existem size(bounds) + 1 (= N) contentores. O intervalo i tem os seguintes limites:
Limite superior (0 <= i < N-1): bounds[i] Limite inferior (1 <= i < N); bounds[i - 1]
O campo bounds tem de conter, pelo menos, um elemento. Se bounds tiver apenas um elemento, não existem intervalos finitos e esse único elemento é o limite comum dos intervalos de excesso e de falta.
| Representação JSON |
|---|
{ "bounds": [ number ] } |
| Campos | |
|---|---|
bounds[] |
Os valores têm de aumentar monotonicamente. |
Exemplar
Os exemplares são pontos de exemplo que podem ser usados para anotar valores de distribuição agregados. São metadados que fornecem informações sobre um valor específico adicionado a um depósito de distribuição, como um ID de rastreio que estava ativo quando foi adicionado um valor. Podem conter mais informações, como valores de exemplo e datas/horas, origem, etc.
| Representação JSON |
|---|
{ "value": number, "timestamp": string, "attachments": [ { "@type": string, field1: ..., ... } ] } |
| Campos | |
|---|---|
value |
Valor do ponto exemplar. Este valor determina a que grupo pertence o exemplo. |
timestamp |
A hora de observação (amostragem) do valor acima. Usa RFC 3339, em que o resultado gerado é sempre normalizado em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Também são aceites desvios diferentes de "Z". Exemplos: |
attachments[] |
Informações contextuais sobre o valor de exemplo. Exemplos: Trace: type.googleapis.com/google.monitoring.v3.SpanContext String literal: type.googleapis.com/google.protobuf.StringValue Etiquetas ignoradas durante a agregação: type.googleapis.com/google.monitoring.v3.DroppedLabels Pode existir apenas um anexo de qualquer tipo de mensagem num único exemplo, e isto é aplicado pelo sistema. Um objeto que contém campos de um tipo arbitrário. Um campo adicional |