Package google.api

Index

Distribution

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 l'écart 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 explicitement 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 sum_of_squared_deviation inutiles.

Champs
count

int64

Nombre de valeurs dans la population. Cette valeur ne doit pas être négative Cette valeur doit être égale à la somme des valeurs dans bucket_counts si un histogramme est fourni.

mean

double

Moyenne arithmétique des valeurs de la population. Si count est nul, ce champ doit être nul.

sum_of_squared_deviation

double

la somme des écarts au carré par rapport à la moyenne des valeurs de la population ; Pour les valeurs x_i, cela donne :

Sum[i=1..n]((x_i - mean)^2)

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 count est nul, ce champ doit être nul.

range

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 count est nul.

bucket_options

BucketOptions

Définit les limites des buckets d'histogramme. Si la distribution ne contient pas d'histogramme, omettez ce champ.

bucket_counts[]

int64

Nombre de valeurs dans chaque bucket de l'histogramme, comme décrit dans bucket_options. Si la distribution ne comporte pas d'histogramme, omettez ce champ. S'il existe un histogramme, la somme des valeurs dans bucket_counts doit être égale à la valeur du champ count de la distribution.

Si elle est présente, bucket_counts doit contenir N valeurs, où N est le nombre de buckets spécifié dans bucket_options. Si vous fournissez moins de N valeurs, les valeurs restantes sont considérées comme nulles.

L'ordre des valeurs dans bucket_counts suit les schémas de numérotation des buckets décrits pour les trois types de buckets. La première valeur doit correspondre au nombre du bucket de dépassement de capacité négatif (numéro 0). Les N-2 valeurs suivantes correspondent aux nombres de buckets finis (de 1 à N-2). La Nième valeur de bucket_counts correspond au nombre du bucket de dépassement (nombre N-1).

exemplars[]

Exemplar

Doit être dans l'ordre croissant du champ value.

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 appelés ainsi, car leurs deux limites sont finies.

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 :
linear_buckets

Linear

Bucket linéaire.

exponential_buckets

Exponential

Buckets exponentiels.

explicit_buckets

Explicit

Buckets explicites.

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) : limites[i] Limite inférieure (1 <= i < N) : limites[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.

Champs
bounds[]

double

Les valeurs doivent être croissantes de manière monotone.

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 num_finite_buckets + 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)).

Champs
num_finite_buckets

int32

Cette valeur doit être supérieure à 0.

growth_factor

double

La valeur doit être supérieure à 1.

scale

double

Cette valeur doit être supérieure à 0.

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 num_finite_buckets + 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) : décalage + (largeur * (i - 1)).

Champs
num_finite_buckets

int32

Cette valeur doit être supérieure à 0.

width

double

Cette valeur doit être supérieure à 0.

offset

double

Limite inférieure du premier bucket.

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 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.

Champs
value

double

Valeur du point exemplaire. Cette valeur détermine le bucket auquel appartient l'exemplaire.

timestamp

Timestamp

Heure d'observation (échantillonnage) de la valeur ci-dessus.

attachments[]

Any

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

Il ne peut y avoir qu'une seule pièce jointe d'un type de message donné dans un seul exemple. Cette règle est appliquée par le système.

Plage

Plage des valeurs de la population.

Champs
min

double

Valeur minimale des valeurs de la population.

max

double

Valeur maximale des valeurs de la population.

HttpBody

Message qui représente un corps HTTP arbitraire. Il ne doit être utilisé que pour les formats de charge utile ne pouvant pas être représentés sous la forme JSON, tels que les données binaires brutes ou les pages HTML.

Ce message peut aussi bien être utilisé dans les méthodes d'API de streaming que dans les autres, dans la requête comme dans la réponse.

Il peut être utilisé en tant que champ de requête de niveau supérieur, ce qui est pratique si vous souhaitez extraire des paramètres de l'URL ou du modèle HTTP dans les champs de requête, et si vous souhaitez également accéder au corps HTTP brut.

Exemple :

message GetResourceRequest {
  // A unique request id.
  string request_id = 1;

  // The raw HTTP body is bound to this field.
  google.api.HttpBody http_body = 2;

}

service ResourceService {
  rpc GetResource(GetResourceRequest)
    returns (google.api.HttpBody);
  rpc UpdateResource(google.api.HttpBody)
    returns (google.protobuf.Empty);

}

Exemple avec les méthodes de streaming :

service CaldavService {
  rpc GetCalendar(stream google.api.HttpBody)
    returns (stream google.api.HttpBody);
  rpc UpdateCalendar(stream google.api.HttpBody)
    returns (stream google.api.HttpBody);

}

L'utilisation de ce type de méthode modifie uniquement le traitement du corps des requêtes et des réponses. Toutes les autres fonctionnalités continuent à fonctionner de la même manière.

Champs
content_type

string

Valeur d'en-tête HTTP Content-Type spécifiant le type de contenu du corps de la requête.

data

bytes

Corps de la requête/réponse HTTP en tant que données binaires brutes.

extensions[]

Any

Métadonnées de réponse spécifiques à l'application. Doivent être définies dans la première réponse pour les API de streaming.

Métrique

Métrique spécifique, identifiée en spécifiant des valeurs pour tous les libellés d'un MetricDescriptor.

Champs
type

string

Type de métrique existant. Consultez google.api.MetricDescriptor. Exemple :custom.googleapis.com/invoice/paid/amount

labels

map<string, string>

Ensemble de valeurs de libellé qui identifient de manière unique cette métrique. Toutes les étiquettes listées dans MetricDescriptor doivent être associées à des valeurs.

MetricDescriptor

Ce type ne comporte aucun champ.

Définit un type de métrique et son schéma. Une fois qu'un descripteur de métrique est créé, sa suppression ou sa modification arrête la collecte de données et rend inutilisables les données existantes qui lui sont associées.

MetricKind

Le type de métrique. Il décrit comment les données sont enregistrées. Pour savoir comment définir l'heure de début et l'heure de fin en fonction de MetricKind, consultez TimeInterval.

Enums
METRIC_KIND_UNSPECIFIED N'utilisez pas cette valeur par défaut.
GAUGE Mesure instantanée d'une valeur.
DELTA Amplitude d'une valeur au cours d'un intervalle de temps.
CUMULATIVE Valeur cumulée sur un intervalle de temps. Les mesures cumulatives au sein d'une série temporelle doivent correspondre au même instant initial et voir les instants finaux s'accroître jusqu'à ce qu'un événement réinitialise la valeur cumulative à zéro et définisse un nouvel instant initial pour les points suivants.

ValueType

Le type de valeur d'une métrique.

Énumérations (Enums)
VALUE_TYPE_UNSPECIFIED N'utilisez pas cette valeur par défaut.
BOOL La valeur est de type booléen. Ce type de valeur ne peut être utilisé que si le type de métrique associé est GAUGE.
INT64 La valeur est un entier signé de 64 bits.
DOUBLE La valeur est un nombre à virgule flottante à double précision.
STRING La valeur est une chaîne de caractères. Ce type de valeur ne peut être utilisé que si le type de métrique associé est GAUGE.
DISTRIBUTION Sa valeur est un Distribution.
MONEY La valeur est de type monétaire.

MonitoredResource

Objet représentant une ressource pouvant être utilisée à des fins de surveillance, de journalisation, de facturation ou à d'autres fins. Les exemples incluent des instances de VM, des bases de données et des périphériques de stockage tels que des disques. Le champ type identifie un objet MonitoredResourceDescriptor qui décrit le schéma de la ressource. Les informations du champ labels identifient la ressource réelle et ses attributs selon le schéma. Par exemple, une instance de VM Compute Engine particulière peut être représentée par l'objet suivant, car le MonitoredResourceDescriptor pour "gce_instance" comporte les libellés "project_id", "instance_id" et "zone" :

{ "type": "gce_instance",
  "labels": { "project_id": "my-project",
              "instance_id": "12345678901234",
              "zone": "us-central1-a" }}
Champs
type

string

Obligatoire. Type de ressource surveillée. Ce champ doit correspondre au champ type d'un objet MonitoredResourceDescriptor. Par exemple, le type d'une instance de VM Compute Engine est gce_instance. Certains descripteurs incluent le nom du service dans le type. Par exemple, le type d'un flux Datastream est datastream.googleapis.com/Stream.

labels

map<string, string>

Obligatoire. Valeurs pour tous les libellés répertoriés dans le descripteur de la ressource surveillée associée. Par exemple, les instances de VM Compute Engine utilisent les libellés "project_id", "instance_id" et "zone".

MonitoredResourceMetadata

Métadonnées auxiliaires pour un objet MonitoredResource. Les objets MonitoredResource contiennent l'ensemble minimal d'informations permettant d'identifier de manière unique une instance de ressource surveillée. Il existe d'autres métadonnées auxiliaires utiles. La surveillance et la journalisation utilisent un pipeline d'ingestion pour extraire les métadonnées de tous les types de ressources cloud et les stocker dans ce message.

Champs
system_labels

Struct

Uniquement en sortie. Valeurs pour les libellés de métadonnées système prédéfinis. Les libellés système sont un type de métadonnées extraites par Google et incluent "machine_image", "vpc", "subnet_id", "security_group", "name", etc. Exemple :

{ "name": "my-test-instance",
  "security_group": ["a", "b", "c"],
  "spot_instance": false }
user_labels

map<string, string>

Uniquement en sortie. Carte de libellés de métadonnées définis par l'utilisateur.