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 Menge der Werte der Population. Das Histogramm basiert auf einer Reihe 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.
Es ist zwar nicht verboten, nicht endliche Werte (Unendlich oder NaN) in die Grundgesamtheit der Werte aufzunehmen, aber es ist im Allgemeinen keine gute Idee, 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 |
Der arithmetische Mittelwert der Werte in der Population. Wenn |
sumOfSquaredDeviation |
Die Summe der quadratischen Abweichungen vom Mittelwert der Werte in der Population. Für Werte x_i gilt: Knuth, „The Art of Computer Programming“, Band 2, Seite 232, 3. Auflage, beschreibt die Methode von Welford zum Erfassen dieser Summe in einem Durchgang. Wenn |
range |
Falls angegeben, enthält der Parameter den Bereich der Populationswerte. Das Feld darf nicht vorhanden sein, wenn |
bucketOptions |
Definiert die Grenzen der 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 Felds |
Bereich
Der Bereich der Populationswerte.
| JSON-Darstellung |
|---|
{ "min": number, "max": number } |
| Felder | |
|---|---|
min |
Der Mindestwert der Populationswerte. |
max |
Der Maximalwert der Populationswerte. |
BucketOptions
BucketOptions beschreibt die Bucket-Grenzen, die zum Erstellen eines Histogramms für die Verteilung verwendet werden. Die Buckets können in einer linearen oder exponentiellen Reihenfolge angeordnet sein. Alternativ können Sie jeden Bucket explizit angeben. BucketOptions enthält nicht die Anzahl der Werte in den einzelnen Buckets.
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 Bucket muss strikt größer als die Untergrenze sein. Die Sequenz 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 dieselbe wie die Obergrenze von Bucket i – 1. Die Buckets decken den gesamten Bereich endlicher Werte ab: Die Untergrenze des Unterlauf-Buckets ist „-unendlich“ und die Obergrenze des Überlauf-Buckets ist „+unendlich“. Die endlichen Buckets heißen so, 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 Sequenz von Buckets an, die alle dieselbe Breite haben (außer Überlauf und Unterlauf). Jeder Bucket steht für eine konstante absolute Unsicherheit für den jeweiligen Wert im Bucket.
Es gibt numFiniteBuckets + 2 (= N) Buckets. Der Bucket i hat die folgenden Grenzwerte:
Obergrenze (0 <= i < N-1): „offset“ + („width“ * i).
Untergrenze (1 <= i < N): „offset“ + („width“ * (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 Sequenz von Klassen an, deren Breite proportional zum Wert der Untergrenze ist. Jeder Bucket steht für eine konstante relative Unsicherheit für einen bestimmten Wert im Bucket.
Es gibt numFiniteBuckets + 2 (= N) Buckets. Der Bucket i hat die folgenden Grenzwerte:
Obergrenze (0 <= i < N-1): scale * (growthFactor ^ i).
Untergrenze (1 <= i < N): scale * (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 beliebigen Breiten an.
Es gibt size(bounds) + 1 (= N) Buckets. Der Bucket i hat 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 und dieses einzelne Element ist die gemeinsame Grenze der Überlauf- und Unterlauf-Buckets.
| JSON-Darstellung |
|---|
{ "bounds": [ number ] } |
| Felder | |
|---|---|
bounds[] |
Die Werte müssen monoton steigend sein. |
Exemplar
Exemplare 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 (Stichprobenerhebung) des oben genannten Werts. Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: |
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 In einem einzelnen Beispiel darf es nur einen Anhang eines bestimmten Nachrichtentyps geben. Dies wird vom System erzwungen. Ein Objekt, das Felder eines beliebigen Typs enthält. Ein zusätzliches Feld |