Distribution
contiene statistiche di riepilogo relative a una popolazione di valori. Contiene facoltativamente un istogramma che rappresenta la distribuzione di questi valori in un insieme di bucket.
Le statistiche riepilogative sono il conteggio, la media e la somma delle deviazioni quadrate dalla media, dal valore minimo e massimo dell'insieme di valori della popolazione. L'istogramma si basa su una sequenza di bucket e fornisce il conteggio dei valori che rientrano in ciascun bucket. I limiti dei bucket sono indicati esplicitamente o da formule per i bucket di larghezze fisse o crescenti in modo esponenziale.
Sebbene non sia vietato, di solito è una cattiva idea includere valori non finiti (infiniti o NaN) nella popolazione di valori, poiché in questo modo i campi mean
e sumOfSquaredDeviation
saranno privi di significato.
Rappresentazione JSON |
---|
{ "count": string, "mean": number, "sumOfSquaredDeviation": number, "range": { object ( |
Campi | |
---|---|
count |
Il numero di valori nella popolazione. Non deve essere un valore negativo. Questo valore deve corrispondere alla somma dei valori in |
mean |
La media aritmetica dei valori nella popolazione. Se |
sumOfSquaredDeviation |
La somma delle deviazioni quadrate dalla media dei valori nella popolazione. Per i valori x_i è:
Knuth, "L'arte della programmazione informatica", Vol. 2, pagina 232, terza edizione descrive il metodo di Welford per accumulare questa somma in un solo passaggio. Se |
range |
Se specificato, contiene l'intervallo dei valori della popolazione. Il campo non deve essere presente se il valore di |
bucketOptions |
Definisce i limiti dei bucket dell'istogramma. Se la distribuzione non contiene un istogramma, ometti questo campo. |
bucketCounts[] |
Il numero di valori in ogni bucket dell'istogramma, come descritto in Se presente, L'ordine dei valori in |
exemplars[] |
Il campo deve essere in ordine crescente nel seguente modo: |
Intervallo
L'intervallo dei valori della popolazione.
Rappresentazione JSON |
---|
{ "min": number, "max": number } |
Campi | |
---|---|
min |
Il minimo dei valori della popolazione. |
max |
Il massimo dei valori della popolazione. |
BucketOptions
BucketOptions
descrive i limiti dei bucket utilizzati per creare un istogramma per la distribuzione. I bucket possono essere in sequenza lineare, esponenziale oppure ogni bucket può essere specificato in modo esplicito. BucketOptions
non include il numero di valori in ogni bucket.
Un bucket ha un limite inferiore inclusivo ed un limite superiore esclusivo per i valori conteggiati per quel bucket. Il limite superiore di un bucket deve essere strettamente maggiore del limite inferiore. La sequenza di N bucket per una distribuzione è composta da un bucket di underflow (numero 0), zero o più bucket finiti (numero da 1 a N-2) e un bucket di overflow (numero N - 1). I bucket sono contigui: il limite inferiore del bucket i (i > 0) è uguale al limite superiore del bucket i - 1. I bucket coprono l'intero intervallo di valori finiti: il limite inferiore del bucket di underflow è -infinito, e il limite superiore del bucket di overflow è +infinito. I bucket finiti vengono chiamati perché entrambi i limiti sono finiti.
Rappresentazione JSON |
---|
{ // Union field |
Campi | |
---|---|
Campo di unione options . Deve essere impostato esattamente uno di questi tre campi. options può essere solo uno dei seguenti: |
|
linearBuckets |
Il bucket lineare. |
exponentialBuckets |
I bucket esponenziali. |
explicitBuckets |
I bucket espliciti. |
Lineare
Specifica una sequenza lineare di bucket che hanno tutti la stessa larghezza (eccetto overflow e underflow). Ogni bucket rappresenta un'incertezza assoluta costante sul valore specifico del bucket.
Sono presenti numFiniteBuckets + 2
(= N) bucket. Il bucket i
ha i seguenti limiti:
Limite superiore (0 <= i < N-1): offset + (larghezza * i).
Limite inferiore (1 <= i < N): offset + (larghezza * (i - 1)).
Rappresentazione JSON |
---|
{ "numFiniteBuckets": integer, "width": number, "offset": number } |
Campi | |
---|---|
numFiniteBuckets |
Deve essere maggiore di 0. |
width |
Deve essere maggiore di 0. |
offset |
Limite inferiore del primo bucket. |
Esponenziale
Specifica una sequenza esponenziale di bucket con una larghezza proporzionale al valore del limite inferiore. Ogni bucket rappresenta un'incertezza relativa costante su un valore specifico del bucket.
Sono presenti numFiniteBuckets + 2
(= N) bucket. Il bucket i
ha i seguenti limiti:
Limite superiore (0 <= i < N-1): scala * (fattore di crescita ^ i).
Limite inferiore (1 <= i < N): scala * (growthFactor ^ (i - 1)).
Rappresentazione JSON |
---|
{ "numFiniteBuckets": integer, "growthFactor": number, "scale": number } |
Campi | |
---|---|
numFiniteBuckets |
Deve essere maggiore di 0. |
growthFactor |
Deve essere maggiore di 1. |
scale |
Deve essere maggiore di 0. |
Esplicito
Specifica un insieme di bucket con larghezze arbitrarie.
Sono presenti size(bounds) + 1
(= N) bucket. Il bucket i
ha i seguenti limiti:
Limite superiore (0 <= i < N-1): limiti[i] Limite inferiore (1 <= i < N); limiti[i - 1]
Il campo bounds
deve contenere almeno un elemento. Se bounds
ha un solo elemento, non esistono bucket limitati e quel singolo elemento rappresenta il limite comune dei bucket di overflow e underflow.
Rappresentazione JSON |
---|
{ "bounds": [ number ] } |
Campi | |
---|---|
bounds[] |
I valori devono essere crescenti monotonicamente. |
Esemplare
Gli esempi sono punti di esempio che possono essere utilizzati per annotare valori di distribuzione aggregati. Sono metadati che forniscono informazioni su un particolare valore aggiunto a un bucket di distribuzione, ad esempio un ID traccia che era attivo quando è stato aggiunto un valore. Potrebbero contenere ulteriori informazioni, ad esempio valori e timestamp di esempio, origine e così via.
Rappresentazione JSON |
---|
{ "value": number, "timestamp": string, "attachments": [ { "@type": string, field1: ..., ... } ] } |
Campi | |
---|---|
value |
Valore del punto esemplare. Questo valore determina a quale bucket appartiene l'esempio. |
timestamp |
Il tempo di osservazione (campionamento) del valore sopra indicato. |
attachments[] |
Informazioni contestuali sul valore di esempio. Ecco alcuni esempi: Trace: type.googleapis.com/google.monitoring.v3.SpanContext Stringa letterale: type.googleapis.com/google.protobuf.StringValue Etichette eliminate durante l'aggregazione: type.googleapis.com/google.monitoring.v3.DroppedLabels Può esserci un solo allegato di un determinato tipo di messaggio in un singolo esemplare, e questo viene applicato dal sistema. |