Distribution
enthält zusammenfassende Statistiken für eine Population von Werten. Optional enthält es ein Histogramm, das die Verteilung dieser Werte über eine Reihe von Buckets darstellt.
Die zusammenfassenden Statistiken sind die Anzahl, der Mittelwert, die Summe der quadratischen Abweichung vom Mittelwert, das Minimum und das Maximum der Population von Werten. Das Histogramm basiert auf einer Abfolge von Buckets und gibt die Anzahl der Werte an, die in jeden Bucket fallen. Die Grenzen der Buckets werden entweder explizit oder durch Formeln für Buckets mit fester oder exponentiell zunehmender Breite angegeben.
Obwohl es nicht verboten ist, ist es im Allgemeinen keine gute Idee, nicht endliche Werte (Unendlich oder NaNs) in die Wertepopulation aufzunehmen, da die Felder mean
und sumOfSquaredDeviation
dadurch bedeutungslos werden.
JSON-Darstellung |
---|
{ "count": string, "mean": number, "sumOfSquaredDeviation": number, "range": { object ( |
Felder | |
---|---|
count |
Die Anzahl der Werte in der Population Darf nicht negativ sein. Dieser Wert muss der Summe der Werte in |
mean |
Das arithmetische Mittel der Werte in der Population Wenn |
sumOfSquaredDeviation |
Die Summe der quadratischen Abweichungen vom Mittelwert der Werte in der Population Für die Werte x_i lautet dies:
Knuth, "The Art of Computer Programming", Vol. 2, Seite 232, 3. Ausgabe beschreibt die Welford-Methode, um diese Summe in einem Durchlauf zu akkumulieren. Wenn |
range |
Enthält den Bereich der Populationswerte, falls angegeben. Das Feld darf nicht vorhanden sein, wenn |
bucketOptions |
Definiert die Grenzen des Histogramm-Buckets. Wenn die Verteilung kein Histogramm enthält, lassen Sie dieses Feld weg. |
bucketCounts[] |
Die Anzahl der Werte in jedem Bucket des Histogramms, wie in Falls vorhanden, sollte Die Reihenfolge der Werte in |
exemplars[] |
Muss in aufsteigender Reihenfolge des Feldes |
Bereich
Der Bereich der Populationswerte.
JSON-Darstellung |
---|
{ "min": number, "max": number } |
Felder | |
---|---|
min |
Das Minimum der Populationswerte. |
max |
Das Maximum der Populationswerte. |
BucketOptions
BucketOptions
beschreibt die Bucket-Grenzen, die zum Erstellen eines Histogramms für die Verteilung verwendet werden. Die Buckets können eine lineare oder exponentielle Abfolge haben oder jeder Bucket kann explizit angegeben werden. BucketOptions
enthält nicht die Anzahl der Werte in jedem Bucket.
Ein Bucket hat eine inklusive Untergrenze und eine exklusive Obergrenze für die Werte, die für diesen Bucket gezählt werden. Die Obergrenze eines Buckets muss strikt größer als die Untergrenze sein. Die Abfolge von N Buckets für eine Verteilung besteht aus einem Unterlauf-Bucket (Nummer 0), null oder mehr endlichen Buckets (Nummer 1 bis N – 2) und einem Überlauf-Bucket (Nummer N – 1). Die Buckets sind zusammenhängend: Die Untergrenze von Bucket i (i > 0) ist mit der Obergrenze von Bucket i – 1 identisch. Die Buckets erstrecken sich über den gesamten Bereich der endlichen Werte: Die Untergrenze des Unterlauf-Buckets ist "-unendlich" und die Obergrenze des Überlauf-Buckets ist +unendlich. Die endlichen Buckets heißen die, weil beide Grenzen endlich sind.
JSON-Darstellung |
---|
{ // Union field |
Felder | |
---|---|
Union-Feld options . Genau eines dieser drei Felder muss festgelegt werden. Für options ist nur einer der folgenden Werte zulässig: |
|
linearBuckets |
Der lineare Bucket. |
exponentialBuckets |
Die exponentiellen Buckets. |
explicitBuckets |
Die expliziten Buckets |
Linear
Gibt eine lineare Abfolge von Buckets an, die alle dieselbe Breite haben (außer Überlauf und Unterlauf). Jedes Bucket stellt eine konstante absolute Unsicherheit in Bezug auf den spezifischen Wert im Bucket dar.
Es gibt numFiniteBuckets + 2
(= N) Buckets. Für den Bucket i
gelten die folgenden Grenzwerte:
Obergrenze (0 <= i < N-1): offset + (Breite * i).
Untergrenze (1 <= i < N): Offset + (Breite * (i - 1)).
JSON-Darstellung |
---|
{ "numFiniteBuckets": integer, "width": number, "offset": number } |
Felder | |
---|---|
numFiniteBuckets |
Muss größer als 0 sein. |
width |
Muss größer als 0 sein. |
offset |
Untergrenze des ersten Buckets. |
Exponentiell
Gibt eine exponentielle Abfolge von Buckets an, deren Breite proportional zum Wert der Untergrenze ist. Jeder Bucket stellt eine konstante relative Unsicherheit bei einem bestimmten Wert im Bucket dar.
Es gibt numFiniteBuckets + 2
(= N) Buckets. Für den Bucket i
gelten die folgenden Grenzwerte:
Obergrenze (0 <= i < N-1): Skalierung * (Wachstumsfaktor ^ i).
Untergrenze (1 <= i < N): Skalierung * (growthFactor ^ (i - 1)).
JSON-Darstellung |
---|
{ "numFiniteBuckets": integer, "growthFactor": number, "scale": number } |
Felder | |
---|---|
numFiniteBuckets |
Muss größer als 0 sein. |
growthFactor |
Muss größer als 1 sein. |
scale |
Muss größer als 0 sein. |
Explizit
Gibt eine Reihe von Buckets mit beliebiger Breite an.
Es gibt size(bounds) + 1
(= N) Buckets. Für den Bucket i
gelten die folgenden Grenzwerte:
Obergrenze (0 <= i < N-1): bounds[i] Untergrenze (1 <= i < N); bounds[i – 1]
Das Feld bounds
muss mindestens ein Element enthalten. Wenn bounds
nur ein Element hat, gibt es keine endlichen Buckets. Dieses einzelne Element bildet dann die gemeinsame Grenze der Überlauf- und Unterlauf-Buckets.
JSON-Darstellung |
---|
{ "bounds": [ number ] } |
Felder | |
---|---|
bounds[] |
Die Werte müssen kontinuierlich ansteigen. |
Exemplar
Beispiele sind Beispielpunkte, mit denen aggregierte Verteilungswerte annotiert werden können. Sie sind Metadaten, die Informationen zu einem bestimmten Wert enthalten, der einem Verteilungs-Bucket hinzugefügt wurde, z. B. eine Trace-ID, die beim Hinzufügen eines Werts aktiv war. Sie können weitere Informationen enthalten, wie z. B. Beispielwerte und Zeitstempel, den Ursprung usw.
JSON-Darstellung |
---|
{ "value": number, "timestamp": string, "attachments": [ { "@type": string, field1: ..., ... } ] } |
Felder | |
---|---|
value |
Wert des Beispielpunkts. Dieser Wert bestimmt, zu welchem Bucket das Beispiel gehört. |
timestamp |
Die Beobachtungszeit (Stichprobenzeit) des obigen Werts. |
attachments[] |
Kontextbezogene Informationen zum Beispielwert. Beispiele: Trace: type.googleapis.com/google.monitoring.v3.SpanContext Literalstring: type.googleapis.com/google.protobuf.StringValue Bei der Aggregation verworfene Labels: type.googleapis.com/google.monitoring.v3.DroppedLabels Es kann nur einen Anhang eines beliebigen Nachrichtentyps in einem einzelnen Beispiel geben, was vom System durchgesetzt wird. |