Package google.devtools.cloudprofiler.v2

Index

ExportService

Ce service permet aux clients Cloud Profiler existants d'exporter leurs données de profil depuis Google Cloud.

ListProfiles

rpc ListProfiles(ListProfilesRequest) returns (ListProfilesResponse)

Liste les profils qui ont été collectés jusqu'à présent et que l'appelant est autorisé à afficher.

Champs d'application des autorisations

Nécessite l'un des champs d'application OAuth suivants :

  • https://www.googleapis.com/auth/monitoring
  • https://www.googleapis.com/auth/monitoring.write
  • https://www.googleapis.com/auth/cloud-platform

Pour en savoir plus, consultez la page Présentation de l'authentification.

ProfilerService

Gérez la collecte des données de profilage continu fournies par les agents de profilage exécutés dans le cloud ou par un fournisseur hors connexion de données de profilage.

Les API listées dans ce service sont destinées à être utilisées uniquement par nos agents de profileur.

CreateOfflineProfile

rpc CreateOfflineProfile(CreateOfflineProfileRequest) returns (Profile)

CreateHors connexion crée une ressource de profil en mode hors connexion. Le client fournit le profil à créer ainsi que les octets de profil, le serveur l'enregistre.

Nous vous déconseillons d'utiliser directement cette API. Veuillez plutôt utiliser un agent Profiler compatible pour collecter les profils.

Champs d'application des autorisations

Nécessite l'un des champs d'application OAuth suivants :

  • https://www.googleapis.com/auth/monitoring
  • https://www.googleapis.com/auth/monitoring.write
  • https://www.googleapis.com/auth/cloud-platform

Pour en savoir plus, consultez la page Présentation de l'authentification.

CreateProfile

rpc CreateProfile(CreateProfileRequest) returns (Profile)

CreateProfile crée une ressource de profil en mode en ligne.

Nous vous déconseillons d'utiliser directement cette API. Veuillez plutôt utiliser un agent Profiler compatible pour collecter les profils.

Le serveur s'assure que les nouveaux profils sont créés à un taux constant par déploiement. Par conséquent, la demande de création peut se figer pendant un certain temps jusqu'à ce que la session de profil suivante soit disponible.

La requête peut échouer et renvoyer une erreur ABORTED si la création n'est pas disponible dans un délai d'environ 1 min. La réponse indique la durée de l'intervalle entre les tentatives que le client doit prendre avant de tenter à nouveau de créer un profil. L'intervalle entre les tentatives est renvoyé dans l'extension google.rpc.RéessayerInfo au niveau de l'état de la réponse. Pour un client gRPC, l'extension sera renvoyée sous forme de proto sérialisé binaire dans l'élément de métadonnées de fin nommé "google.rpc.retryinfo-bin".

Champs d'application des autorisations

Nécessite l'un des champs d'application OAuth suivants :

  • https://www.googleapis.com/auth/monitoring
  • https://www.googleapis.com/auth/monitoring.write
  • https://www.googleapis.com/auth/cloud-platform

Pour en savoir plus, consultez la page Présentation de l'authentification.

UpdateProfile

rpc UpdateProfile(UpdateProfileRequest) returns (Profile)

UpdateProfile met à jour les octets et les étiquettes de profil sur la ressource de profil créée en mode en ligne. Pour le moment, il n'est pas possible de mettre à jour les octets des profils créés en mode hors connexion: le contenu du profil doit être fourni au moment de la création du profil.

Nous vous déconseillons d'utiliser directement cette API. Veuillez plutôt utiliser un agent Profiler compatible pour collecter les profils.

Champs d'application des autorisations

Nécessite l'un des champs d'application OAuth suivants :

  • https://www.googleapis.com/auth/monitoring
  • https://www.googleapis.com/auth/monitoring.write
  • https://www.googleapis.com/auth/cloud-platform

Pour en savoir plus, consultez la page Présentation de l'authentification.

CreateOfflineProfileRequest

CreateOFFProfileRequest décrit une demande de création hors connexion d'une ressource de profil.

Champs
parent

string

Projet parent dans lequel créer le profil.

L'autorisation IAM suivante est requise pour la ressource parent indiquée :

  • cloudprofiler.profiles.create
profile

Profile

Contenu du profil à créer.

CreateProfileRequest

CreateProfileRequest décrit une requête de création en ligne d'une ressource de profil. Le champ "Déploiement" doit être renseigné. profile_type spécifie la liste des types de profils pris en charge par l'agent. L'appel de création se fige jusqu'à ce qu'un profil de l'un de ces types doive être collecté.

Champs
parent

string

Projet parent dans lequel créer le profil.

L'autorisation IAM suivante est requise pour la ressource parent indiquée :

  • cloudprofiler.profiles.create
deployment

Deployment

Détails du déploiement

L'autorisation IAM suivante est requise pour la ressource deployment indiquée :

  • cloudprofiler.profiles.create
profile_type[]

ProfileType

Un ou plusieurs types de profils que l'agent est capable de fournir.

Déploiement

Le déploiement contient les informations d'identification du déploiement.

Champs
project_id

string

L'ID du projet correspond à l'ID d'un projet Cloud. Expression régulière de validation: ^[a-z][-a-z0-9:.]{4,61}[a-z0-9]$.

target

string

"target" correspond au nom du service utilisé pour regrouper les déploiements associés: * Nom du service pour l'environnement flexible / standard App Engine. * Nom du cluster et du conteneur pour GKE * Chaîne spécifiée par l'utilisateur pour le profilage Compute Engine direct (par exemple, Java). * Nom de la tâche pour Dataflow Expression régulière de validation: ^[a-z0-9]([-a-z0-9_.]{0,253}[a-z0-9])?$.

labels

map<string, string>

Les libellés identifient le déploiement dans l'univers des utilisateurs et sur la même cible. Expression régulière de validation pour les noms de libellés: ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$. La valeur d'une étiquette individuelle doit être inférieure ou égale à 512 octets. La taille totale de tous les noms et valeurs d'étiquette doit être inférieure ou égale à 1 024 octets.

Le libellé "language" peut être utilisé pour enregistrer le langage de programmation du déploiement profilé. Les options standards pour la valeur sont "java", "go", "python", "ruby", "nodejs", "php" et "dotnet".

Pour les déploiements exécutés sur Google Cloud Platform, le libellé "zone" ou "région" doit décrire l'emplacement du déploiement. "us-central1-a" est un exemple de zone, et une région "us-central1" ou "us-central".

ListProfilesRequest

ListProfilesRequest contient des paramètres de requête permettant de répertorier les profils des déploiements dans les projets que l'utilisateur est autorisé à afficher.

Champs
parent

string

Obligatoire. Le parent, qui possède cette collection de profils. Format: projects/{user_project_id}

L'autorisation IAM suivante est requise pour la ressource parent indiquée :

  • cloudprofiler.profiles.list
page_size

int32

Facultatif. Le nombre maximum d'éléments à renvoyer. La valeur par défaut "page_size" est 1 000. La limite maximale est de 1 000.

page_token

string

Facultatif. Jeton permettant de poursuivre la pagination et d'obtenir des profils à partir d'une page spécifique. Lors de la pagination, tous les autres paramètres fournis à ListProfiles doivent correspondre à l'appel ayant fourni le jeton de page.

ListProfilesResponse

ListProfileResponse contient la liste des profils collectés pour les déploiements dans les projets que l'utilisateur est autorisé à afficher.

Champs
profiles[]

Profile

Liste des profils récupérée.

next_page_token

string

Jeton permettant de recevoir la page de résultats suivante. Ce champ peut être vide s'il n'y a plus de profils à extraire.

skipped_profiles

int32

Nombre de profils ignorés sur la page actuelle, car leur récupération a échoué. Elle doit généralement être égale à zéro. Une valeur non nulle peut indiquer un échec temporaire. Si le nombre est trop élevé pour votre cas d'utilisation, l'appel peut être relancé.

Profile

Ressource de profil.

Champs
name

string

Uniquement en sortie. Identifiant unique opaque attribué par le serveur pour ce profil.

profile_type

ProfileType

Type de profil. Pour le mode hors connexion, vous devez le spécifier lors de la création du profil. Pour le mode en ligne, il est attribué et renvoyé par le serveur.

deployment

Deployment

Déploiement auquel ce profil correspond.

duration

Duration

Durée de la session de profilage. Entrée (pour le mode hors connexion) ou sortie (pour le mode en ligne). Le champ représente la durée de profilage demandée. Elle peut être légèrement différente de la durée effective du profilage, qui est enregistrée dans les données de profil, si le profilage ne peut pas être arrêté immédiatement (par exemple, si l'arrêt du profilage est géré de manière asynchrone).

profile_bytes

bytes

Uniquement en entrée. Octets de profil, en tant que proto sérialisé compressé gzip, le format est https://github.com/google/pprof/blob/master/proto/profile.proto.

labels

map<string, string>

Uniquement en entrée. Libellés associés à ce profil spécifique. Ces étiquettes seront fusionnées avec les étiquettes de déploiement pour l'ensemble de données final. Consultez la documentation sur les étiquettes de déploiement pour connaître les règles et les limites de validation.

start_time

Timestamp

Uniquement en sortie. Heure de début du profil. Cette sortie n'est présente que dans la réponse de la méthode ListProfiles.

ProfileType

ProfileType est le type de données de profilage. REMARQUE: Les noms des membres d'énumération sont utilisés (en minuscules) comme identifiants de chaîne uniques des types de profil. Ils ne doivent donc pas être renommés.

Enums
PROFILE_TYPE_UNSPECIFIED Type de profil non spécifié.
CPU Échantillonnage de temps CPU des threads
WALL Échantillonnage de la durée d'exécution Plus coûteux, car arrête tous les threads.
HEAP Profil de tas de mémoire en cours d'utilisation. Représente un instantané des allocations actives au moment du profilage.
THREADS Collecte unique de toutes les piles de threads.
CONTENTION Profil de conflit de synchronisation.
PEAK_HEAP Profil de tas de mémoire de pointe.
HEAP_ALLOC Profil d'allocation de segments de mémoire. Il représente l'agrégation de toutes les allocations effectuées pendant la durée du profil. Toutes les allocations sont incluses, y compris celles qui ont pu être libérées à la fin de l'intervalle de profilage. Le profil est particulièrement utile pour les langages de récupération de mémoire, qui permettent d'identifier les parties du code qui génèrent le plus de pression et de déterminer si elles peuvent être optimisées.

UpdateProfileRequest

UpdateProfileRequest contient le profil à mettre à jour.

Champs
profile

Profile

Profil à mettre à jour.

L'autorisation IAM suivante est requise pour la ressource profile indiquée :

  • cloudprofiler.profiles.update
update_mask

FieldMask

Masque de champ permettant de spécifier les champs à remplacer. Actuellement, seuls les champs profile_bytes et étiquettes sont compatibles avec UpdateProfile. Par conséquent, seuls ces champs peuvent être spécifiés dans le masque. Si aucun masque n'est fourni, tous les champs sont écrasés.