Distribution contient des statistiques récapitulatives pour une population de valeurs. Il contient éventuellement un histogramme représentant la distribution de ces valeurs dans un ensemble de buckets.
Les statistiques récapitulatives sont le nombre, la moyenne, la somme de la déviation au carré par rapport à la moyenne, le minimum et le maximum de l'ensemble des valeurs de la population. L'histogramme est basé sur une séquence de buckets et indique le nombre de valeurs incluses dans chaque bucket. Les limites des buckets sont données de manière explicite ou par des formules pour les buckets de largeur fixe ou exponentielle.
Bien que cela ne soit pas interdit, il est généralement déconseillé d'inclure des valeurs non finies (infinis ou NaN) dans la population de valeurs, car cela rendra les champs mean et sumOfSquaredDeviation inutiles.
| Représentation JSON |
|---|
{ "count": string, "mean": number, "sumOfSquaredDeviation": number, "range": { object ( |
| Champs | |
|---|---|
count |
Nombre de valeurs dans la population. Cette valeur ne doit pas être négative Cette valeur doit être égale à la somme des valeurs dans |
mean |
la moyenne arithmétique des valeurs de la population ; Si |
sumOfSquaredDeviation |
la somme des écarts au carré par rapport à la moyenne des valeurs de la population ; Pour les valeurs x_i, cela donne : Knuth, "The Art of Computer Programming", Vol. 2, page 232, 3e édition décrit la méthode de Welford pour accumuler cette somme en une seule passe. Si |
range |
Si elle est spécifiée, elle contient la plage des valeurs de la population. Ce champ ne doit pas être présent si |
bucketOptions |
Définit les limites des buckets de l'histogramme. Si la distribution ne contient pas d'histogramme, omettez ce champ. |
bucketCounts[] |
Nombre de valeurs dans chaque bucket de l'histogramme, comme décrit dans Si elle est présente, L'ordre des valeurs dans |
exemplars[] |
Doit être dans l'ordre croissant du champ |
Plage
Plage des valeurs de la population.
| Représentation JSON |
|---|
{ "min": number, "max": number } |
| Champs | |
|---|---|
min |
Valeur minimale des valeurs de la population. |
max |
Valeur maximale des valeurs de la population. |
BucketOptions
BucketOptions décrit les limites des buckets utilisés pour créer un histogramme pour la distribution. Les buckets peuvent être dans une séquence linéaire ou exponentielle, ou chaque bucket peut être spécifié de manière explicite. BucketOptions n'inclut pas le nombre de valeurs dans chaque bucket.
Un bucket a une limite inférieure inclusive et une limite supérieure exclusive pour les valeurs comptabilisées dans ce bucket. La limite supérieure d'un bucket doit être strictement supérieure à la limite inférieure. La séquence de N buckets pour une distribution se compose d'un bucket de dépassement de capacité négatif (numéro 0), de zéro ou plusieurs buckets finis (numéros 1 à N-2) et d'un bucket de dépassement de capacité positif (numéro N-1). Les buckets sont contigus : la limite inférieure du bucket i (i > 0) est la même que la limite supérieure du bucket i-1. Les buckets couvrent toute la plage de valeurs finies : la limite inférieure du bucket de dépassement de capacité négatif est -infini et la limite supérieure du bucket de dépassement de capacité positif est +infini. Les buckets finis sont ainsi nommés, car leurs deux limites sont finies.
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union options. Un seul de ces trois champs doit être défini. options ne peut être qu'un des éléments suivants : |
|
linearBuckets |
Bucket linéaire. |
exponentialBuckets |
Buckets exponentiels. |
explicitBuckets |
Buckets explicites. |
Linéaire
Spécifie une séquence linéaire de buckets qui ont tous la même largeur (sauf les buckets de dépassement de capacité et de capacité insuffisante). Chaque bucket représente une incertitude absolue constante sur la valeur spécifique du bucket.
Il y a numFiniteBuckets + 2 buckets (= N). Le bucket i comporte les limites suivantes :
Limite supérieure (0 <= i < N-1) : offset + (width * i).
Limite inférieure (1 <= i < N) : offset + (width * (i - 1)).
| Représentation JSON |
|---|
{ "numFiniteBuckets": integer, "width": number, "offset": number } |
| Champs | |
|---|---|
numFiniteBuckets |
Cette valeur doit être supérieure à 0. |
width |
Cette valeur doit être supérieure à 0. |
offset |
Limite inférieure du premier bucket. |
Exponentiel
Spécifie une séquence exponentielle de buckets dont la largeur est proportionnelle à la valeur de la limite inférieure. Chaque bucket représente une incertitude relative constante sur une valeur spécifique du bucket.
Il y a numFiniteBuckets + 2 buckets (= N). Le bucket i comporte les limites suivantes :
Limite supérieure (0 <= i < N-1) : échelle * (facteur de croissance ^ i).
Limite inférieure (1 <= i < N) : échelle * (facteur de croissance ^ (i - 1)).
| Représentation JSON |
|---|
{ "numFiniteBuckets": integer, "growthFactor": number, "scale": number } |
| Champs | |
|---|---|
numFiniteBuckets |
Cette valeur doit être supérieure à 0. |
growthFactor |
La valeur doit être supérieure à 1. |
scale |
Cette valeur doit être supérieure à 0. |
Explicite
Spécifie un ensemble de buckets avec des largeurs arbitraires.
Il y a size(bounds) + 1 buckets (= N). Le bucket i comporte les limites suivantes :
Limite supérieure (0 <= i < N-1) : bounds[i] Limite inférieure (1 <= i < N) : bounds[i - 1]
Le champ bounds doit contenir au moins un élément. Si bounds ne comporte qu'un seul élément, il n'y a pas de buckets finis, et cet élément unique est la limite commune des buckets de dépassement de capacité positif et négatif.
| Représentation JSON |
|---|
{ "bounds": [ number ] } |
| Champs | |
|---|---|
bounds[] |
Les valeurs doivent être croissantes de manière monotone. |
Exemplar
Les exemples sont des points qui peuvent être utilisés pour annoter les valeurs de distribution agrégées. Il s'agit de métadonnées qui fournissent des informations sur une valeur spécifique ajoutée à un bucket de distribution, comme un ID de trace qui était actif lorsqu'une valeur a été ajoutée. Ils peuvent contenir des informations supplémentaires, telles que des exemples de valeurs et des codes temporels, l'origine, etc.
| Représentation JSON |
|---|
{ "value": number, "timestamp": string, "attachments": [ { "@type": string, field1: ..., ... } ] } |
| Champs | |
|---|---|
value |
Valeur du point exemplaire. Cette valeur détermine le bucket auquel appartient l'exemplaire. |
timestamp |
Heure d'observation (échantillonnage) de la valeur ci-dessus. Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
attachments[] |
Informations contextuelles sur la valeur de l'exemple. Exemples : Trace : type.googleapis.com/google.monitoring.v3.SpanContext Chaîne littérale : type.googleapis.com/google.protobuf.StringValue Libellés supprimés lors de l'agrégation : type.googleapis.com/google.monitoring.v3.DroppedLabels Un seul type de message peut être associé à un exemple. Le système applique cette règle. Objet contenant des champs d'un type arbitraire. Un champ supplémentaire |