Package google.devtools.cloudprofiler.v2

Index

ExportService

Mit dem Dienst können Cloud Profiler-Kunden ihre Profildaten aus Google Cloud exportieren.

ListProfiles

rpc ListProfiles(ListProfilesRequest) returns (ListProfilesResponse)

Listet Profile auf, die bisher erfasst wurden und für die der Aufrufer eine Anzeigeberechtigung hat.

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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

Weitere Informationen finden Sie in der Authentifizierungsübersicht.

ProfilerService

Verwalten Sie die Erhebung von Daten zur kontinuierlichen Profilerstellung, die von Profiler-Agents, die in der Cloud ausgeführt werden, oder von einem Offlineanbieter von Profildaten bereitgestellt werden.

Die in diesem Dienst aufgeführten APIs sind nur für die Verwendung durch unsere Profiler-Agents vorgesehen.

CreateOfflineProfile

rpc CreateOfflineProfile(CreateOfflineProfileRequest) returns (Profile)

CreateOfflineProfile erstellt eine neue Profilressource im Offlinemodus. Der Client stellt das zu erstellende Profil zusammen mit den Profilbyte bereit, die vom Server aufgezeichnet werden.

Von der direkten Verwendung dieser API wird abgeraten. Verwenden Sie stattdessen einen unterstützten Profiler-Agent für die Profilerfassung.

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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

Weitere Informationen finden Sie in der Authentifizierungsübersicht.

CreateProfile

rpc CreateProfile(CreateProfileRequest) returns (Profile)

CreateProfile erstellt eine neue Profilressource im Onlinemodus.

Von der direkten Verwendung dieser API wird abgeraten. Verwenden Sie stattdessen einen unterstützten Profiler-Agent für die Profilerfassung.

Der Server stellt sicher, dass die neuen Profile mit einer konstanten Rate pro Bereitstellung erstellt werden. Daher kann die Erstellungsanfrage einige Zeit lang warten, bis die nächste Profilsitzung verfügbar ist.

Die Anfrage kann mit dem Fehler ABORTED fehlschlagen, wenn die Erstellung nicht innerhalb von 1 Minute verfügbar ist. In der Antwort wird die Dauer des Backoffs angegeben, die der Client ausführen soll, bevor er erneut ein Profil erstellen möchte. Die Backoff-Dauer wird in der Erweiterung google.RPC.RepeatInfo für den Antwortstatus zurückgegeben. Für einen gRPC-Client wird die Erweiterung als binär-serialisierte Proto-Datei im nachgestellten Metadatenelement mit dem Namen "google.RPC.retryinfo-bin" zurückgegeben.

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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

Weitere Informationen finden Sie in der Authentifizierungsübersicht.

UpdateProfile

rpc UpdateProfile(UpdateProfileRequest) returns (Profile)

UpdateProfile aktualisiert die Profilbyte und -labels für die Profilressource, die im Online-Modus erstellt wurde. Das Aktualisieren der Byte für Profile, die im Offlinemodus erstellt wurden, wird derzeit nicht unterstützt: Der Profilinhalt muss bei der Profilerstellung angegeben werden.

Von der direkten Verwendung dieser API wird abgeraten. Verwenden Sie stattdessen einen unterstützten Profiler-Agent für die Profilerfassung.

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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

Weitere Informationen finden Sie in der Authentifizierungsübersicht.

CreateOfflineProfileRequest

CreateOfflineProfileRequest beschreibt eine Anfrage zur Offlineerstellung einer Profilressource.

Felder
parent

string

Übergeordnetes Projekt, in dem das Profil erstellt werden soll.

Für die Autorisierung ist die folgende IAM-Berechtigung für die angegebene Ressource parent erforderlich:

  • cloudprofiler.profiles.create
profile

Profile

Inhalt des zu erstellenden Profils.

CreateProfileRequest

„CreateProfileRequest“ beschreibt eine Anfrage zur Onlineerstellung einer Profilressource. Das Bereitstellungsfeld muss ausgefüllt werden. Der Parameter „profile_type“ gibt die Liste der vom Agent unterstützten Profiltypen an. Der Erstellungsaufruf bleibt hängen, bis ein Profil eines dieser Typen erfasst werden muss.

Felder
parent

string

Übergeordnetes Projekt, in dem das Profil erstellt werden soll.

Für die Autorisierung ist die folgende IAM-Berechtigung für die angegebene Ressource parent erforderlich:

  • cloudprofiler.profiles.create
deployment

Deployment

Bereitstellungsdetails

Für die Autorisierung ist die folgende IAM-Berechtigung für die angegebene Ressource deployment erforderlich:

  • cloudprofiler.profiles.create
profile_type[]

ProfileType

Ein oder mehrere Profiltypen, die der Agent bereitstellen kann.

Bereitstellung

Das Deployment enthält die Identifizierungsdaten des Deployments.

Felder
project_id

string

Die Projekt-ID ist die ID eines Cloud-Projekts. Validierungs-Regex: ^[a-z][-a-z0-9:.]{4,61}[a-z0-9]$.

target

string

Ziel ist der Dienstname, der zum Gruppieren verwandter Bereitstellungen verwendet wird: * Dienstname für App Engine Flex / Standard. * Cluster- und Containername für GKE. * Vom Nutzer angegebener String für die direkte Compute Engine-Profilerstellung (z.B. Java). * Jobname für Dataflow. Validierungs-Regex: ^[a-z0-9]([-a-z0-9_.]{0,253}[a-z0-9])?$.

labels

map<string, string>

Labels identifizieren die Bereitstellung innerhalb des Nutzerunivers und desselben Ziels. Validierungs-Regex für Labelnamen: ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$. Der Wert für ein einzelnes Label muss kleiner als 512 Byte sein. Die Gesamtgröße aller Labelnamen und -werte muss kleiner als 1.024 Byte sein.

Das Label „language“ kann verwendet werden, um die Programmiersprache der Bereitstellung, für die ein Profil erstellt wurde, aufzuzeichnen. Zu den Standardoptionen für den Wert gehören „java“, „go“, „Python“, „ruby“, „nodejs“, „php“ und „dotnet“.

Bei Bereitstellungen, die auf der Google Cloud Platform ausgeführt werden, sollte das Label „Zone“ oder „Region“ vorhanden sein, das den Bereitstellungsort beschreibt. Ein Beispiel für eine Zone ist „us-central1-a“, ein Beispiel für eine Region ist „us-central1“ oder „us-central“.

ListProfilesRequest

ListProfilesRequest enthält Anfrageparameter zum Auflisten von Profilen für Bereitstellungen in Projekten, für die der Nutzer über Berechtigungen zum Ansehen verfügt.

Felder
parent

string

Erforderlich. Das übergeordnete Element, das Inhaber dieser Profilsammlung ist. Format: projects/{user_project_id}

Für die Autorisierung ist die folgende IAM-Berechtigung für die angegebene Ressource parent erforderlich:

  • cloudprofiler.profiles.list
page_size

int32

Optional. Die maximale Anzahl der Elemente, die zurückzugeben sind. Die Standardgröße für page_size ist 1.000. Das Limit beträgt 1.000.

page_token

string

Optional. Das Token, mit dem die Paginierung fortgesetzt und Profile von einer bestimmten Seite abgerufen werden kann. Beim Paginieren müssen alle anderen für ListProfiles bereitgestellten Parameter mit dem Aufruf übereinstimmen, der das Seitentoken bereitgestellt hat.

ListProfilesResponse

ListProfileResponse enthält die Liste der gesammelten Profile für Bereitstellungen in Projekten, für die der Nutzer über Berechtigungen zum Ansehen verfügt.

Felder
profiles[]

Profile

Liste der Profile abgerufen.

next_page_token

string

Token zum Abrufen der nächsten Ergebnisseite. Dieses Feld kann leer sein, wenn keine weiteren Profile zum Abrufen vorhanden sind.

skipped_profiles

int32

Anzahl der Profile, die auf der aktuellen Seite übersprungen wurden, weil sie nicht abgerufen werden konnten. Dieser sollte normalerweise null sein. Ein Wert ungleich null kann auf einen vorübergehenden Fehler hinweisen. Wenn die Zahl für Ihren Anwendungsfall zu hoch ist, kann der Aufruf wiederholt werden.

Profil

Profilressource.

Felder
name

string

Nur Ausgabe. Intransparente, vom Server zugewiesene, eindeutige ID für dieses Profil.

profile_type

ProfileType

Profiltyp. Für den Offlinemodus muss er beim Erstellen des Profils angegeben werden. Im Onlinemodus wird er vom Server zugewiesen und zurückgegeben.

deployment

Deployment

Bereitstellung, der dieses Profil entspricht.

duration

Duration

Dauer der Profilerstellungssitzung. Eingabe (für den Offline-Modus) oder Ausgabe (für den Online-Modus). Das Feld gibt die angeforderte Dauer der Profilerstellung an. Sie kann sich geringfügig von der effektiven Dauer der Profilerstellung unterscheiden, die in den Profildaten aufgezeichnet wird, falls die Profilerstellung nicht sofort beendet werden kann (z.B. wenn das Anhalten der Profilerstellung asynchron erfolgt).

profile_bytes

bytes

Nur Eingabe Profilbyte als mit gzip komprimierte, serielle Proto-Datei haben das Format https://github.com/google/pprof/blob/master/proto/profile.proto.

labels

map<string, string>

Nur Eingabe Labels, die mit diesem bestimmten Profil verknüpft sind. Diese Labels werden mit den Bereitstellungslabels für das endgültige Dataset zusammengeführt. Informationen zu Validierungsregeln und -limits finden Sie in der Dokumentation zu Bereitstellungslabels.

start_time

Timestamp

Nur Ausgabe. Beginn für das Profil. Diese Ausgabe ist nur als Antwort der ListProfiles-Methode vorhanden.

ProfileType

ProfileType ist der Typ der Profildaten. HINWEIS: Die Namen der Aufzählungsmitglieder werden (in Kleinbuchstaben) als eindeutige Zeichenfolgenkennungen der Profiltypen verwendet und dürfen daher nicht umbenannt werden.

Enums
PROFILE_TYPE_UNSPECIFIED Nicht angegebener Profiltyp.
CPU Thread-CPU-Zeitabtastung.
WALL Stichprobenerhebung für Echtzeitdaten. Teurer, da alle Threads gestoppt werden.
HEAP Verwendetes Heap-Profil. Stellt einen Snapshot der Zuweisungen dar, die zum Zeitpunkt der Profilerstellung aktiv sind.
THREADS Eine Sammlung aller Thread-Stacks in einer einzigen Aufnahme.
CONTENTION Konfliktprofil für die Synchronisierung.
PEAK_HEAP Spitzen-Heap-Profil.
HEAP_ALLOC Heap-Zuweisungsprofil. Sie stellt die Zusammenfassung aller Zuweisungen dar, die während der Dauer des Profils vorgenommen wurden. Alle Zuweisungen sind enthalten, einschließlich der Zuweisungen, die bis zum Ende des Profilerstellungsintervalls möglicherweise freigegeben wurden. Das Profil ist besonders nützlich für Sprachen für die automatische Speicherbereinigung, um zu verstehen, welche Teile des Codes den größten Druck auf die automatische Speicherbereinigung ausmachen, um festzustellen, ob diese optimiert werden können.

UpdateProfileRequest

UpdateProfileRequest enthält das zu aktualisierende Profil.

Felder
profile

Profile

Zu aktualisierendes Profil.

Für die Autorisierung ist die folgende IAM-Berechtigung für die angegebene Ressource profile erforderlich:

  • cloudprofiler.profiles.update
update_mask

FieldMask

Feldmaske zur Angabe der zu überschreibenden Felder. Derzeit werden nur die Felder „profile_bytes“ und „labels“ von „UpdateProfile“ unterstützt. Daher können nur diese Felder in der Maske angegeben werden. Wenn keine Maske angegeben ist, werden alle Felder überschrieben.