Package google.devtools.cloudprofiler.v2

Índice

ExportService

Este servicio permite a los clientes existentes de Cloud Profiler exportar sus datos de perfil fuera de Google Cloud.

ListProfiles

rpc ListProfiles(ListProfilesRequest) returns (ListProfilesResponse)

Enumera los perfiles que se recopilaron hasta el momento y para los que el llamador tiene permiso de visualización.

Alcances de autorización

Se necesita uno de los siguientes alcances de OAuth:

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

Para obtener más información, consulta Descripción general de la autenticación.

ProfilerService

Administra la recopilación de datos de creación de perfiles continua que proporcionan los agentes de creación de perfiles que se ejecutan en la nube o un proveedor de datos de creación de perfiles sin conexión.

Las APIs que se mencionan en este servicio están diseñadas para usarse solo dentro de nuestros agentes de generación de perfiles.

CreateOfflineProfile

rpc CreateOfflineProfile(CreateOfflineProfileRequest) returns (Profile)

CreateOfflineProfile crea un recurso de perfil nuevo en el modo sin conexión. El cliente proporciona el perfil que se creará junto con los bytes del perfil; el servidor lo registra.

No se recomienda el uso directo de esta API. En su lugar, utiliza un agente de generador de perfiles compatible para la recopilación de perfiles.

Alcances de autorización

Se necesita uno de los siguientes alcances de OAuth:

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

Para obtener más información, consulta Descripción general de la autenticación.

CreateProfile

rpc CreateProfile(CreateProfileRequest) returns (Profile)

CreateProfile crea un recurso de perfil nuevo en el modo en línea.

No se recomienda el uso directo de esta API. En su lugar, utiliza un agente de generador de perfiles compatible para la recopilación de perfiles.

El servidor se asegura de que los perfiles nuevos se creen a una tasa constante por implementación, por lo que la solicitud de creación puede quedar en espera hasta que esté disponible la siguiente sesión de perfil.

La solicitud puede fallar con el error ABORTED si la creación no está disponible en un plazo aproximado de 1 min. La respuesta indicará la duración de la retirada que debe tomar el cliente antes de intentar crear un perfil nuevamente. La duración de la retirada se muestra en la extensión google.rpc.RetryInfo en el estado de la respuesta. Para un cliente de gRPC, la extensión se mostrará como un archivo proto serializado binario en el elemento de metadatos final llamado “google.rpc.retryinfo-bin”.

Alcances de autorización

Se necesita uno de los siguientes alcances de OAuth:

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

Para obtener más información, consulta Descripción general de la autenticación.

UpdateProfile

rpc UpdateProfile(UpdateProfileRequest) returns (Profile)

UpdateProfile actualiza los bytes y las etiquetas del perfil en el recurso de perfil creado en el modo en línea. Actualmente, no se admite la actualización de bytes para perfiles creados en el modo sin conexión: se debe proporcionar el contenido del perfil en el momento de la creación del perfil.

No se recomienda el uso directo de esta API. En su lugar, utiliza un agente de generador de perfiles compatible para la recopilación de perfiles.

Alcances de autorización

Se necesita uno de los siguientes alcances de OAuth:

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

Para obtener más información, consulta Descripción general de la autenticación.

CreateOfflineProfileRequest

CreateOfflineProfileRequest describe una solicitud de creación sin conexión de un recurso de perfil.

Campos
parent

string

Proyecto superior en el que se creará el perfil

La autorización requiere el siguiente permiso IAM en el recurso especificado parent:

  • cloudprofiler.profiles.create
profile

Profile

Contenido del perfil que se creará.

CreateProfileRequest

CreateProfileRequest describe una solicitud de creación en línea de recurso de perfil. El campo Deployment debe estar propagado. El profile_type especifica la lista de tipos de perfiles que admite el agente. La llamada de creación se bloqueará hasta que se deba recopilar un perfil de uno de estos tipos.

Campos
parent

string

Proyecto superior en el que se creará el perfil

La autorización requiere el siguiente permiso IAM en el recurso especificado parent:

  • cloudprofiler.profiles.create
deployment

Deployment

Detalles de la Deployment

La autorización requiere el siguiente permiso IAM en el recurso especificado deployment:

  • cloudprofiler.profiles.create
profile_type[]

ProfileType

Uno o más tipos de perfiles que el agente puede proporcionar.

Implementación

Un recurso Deployment contiene la información de identificación de la implementación.

Campos
project_id

string

El ID del proyecto es el ID de un proyecto de la nube. Regex de validación: ^[a-z][-a-z0-9:.]{4,61}[a-z0-9]$.

target

string

El destino es el nombre del servicio que se usa para agrupar las implementaciones relacionadas: * Nombre del servicio para el entorno flexible o estándar de App Engine. * Nombre del clúster y contenedor para GKE. * Es una cadena especificada por el usuario para la creación de perfiles directa de Compute Engine (p.ej., Java). * Nombre del trabajo de Dataflow. Regex de validación: ^[a-z0-9]([-a-z0-9_.]{0,253}[a-z0-9])?$.

labels

map<string, string>

Las etiquetas identifican la implementación dentro del universo de usuarios y el mismo objetivo. Regex de validación para nombres de etiquetas: ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$. El valor de una etiqueta individual debe ser menor o igual que 512 bytes, y el tamaño total de todos los valores y nombres de etiquetas debe ser de 1,024 bytes.

La etiqueta denominada “idioma” se puede usar para registrar el lenguaje de programación de la implementación perfilada. Las opciones estándar para el valor incluyen “java”, “go”, “python”, “ruby”, “nodejs”, “php”, “dotnet”.

Para las implementaciones que se ejecutan en Google Cloud Platform, debe estar presente la etiqueta “zona” o “región” que describa la ubicación de la implementación. Un ejemplo de zona es “us-central1-a” y un ejemplo de región es “us-central1” o “us-central”.

ListProfilesRequest

ListProfilesRequest contiene parámetros de solicitud que permiten mostrar una lista de perfiles para implementaciones en proyectos que el usuario puede ver.

Campos
parent

string

Obligatorio. El superior, propietario de esta colección de perfiles. Formato: projects/{user_project_id}

La autorización requiere el siguiente permiso IAM en el recurso especificado parent:

  • cloudprofiler.profiles.list
page_size

int32

Opcional. La cantidad máxima de elementos que se mostrarán. El valor predeterminado de page_size es 1,000. El límite máximo es de 1,000.

page_token

string

Opcional. El token para continuar con la paginación y obtener los perfiles de una página en particular. Cuando se pagina, todos los demás parámetros proporcionados a ListProfiles deben coincidir con la llamada que proporcionó el token de la página.

ListProfilesResponse

ListProfileResponse contiene la lista de perfiles recopilados para las implementaciones en proyectos que el usuario puede ver.

Campos
profiles[]

Profile

Lista de perfiles recuperados.

next_page_token

string

Es el token para recibir la siguiente página de resultados. Este campo puede estar vacío si no hay más perfiles para recuperar.

skipped_profiles

int32

Cantidad de perfiles que se omitieron en la página actual porque no se pudieron recuperar correctamente. Por lo general, debería ser cero. Un valor distinto de cero puede indicar una falla transitoria, en cuyo caso, si el número es demasiado alto para tu caso de uso, se puede reintentar la llamada.

Perfil

Recurso de perfil.

Campos
name

string

Solo salida. Opaco, asignado por el servidor, ID único para este perfil.

profile_type

ProfileType

Tipo de perfil. Para el modo sin conexión, esto debe especificarse cuando se crea el perfil. Para el modo en línea, el servidor lo asigna y lo muestra.

deployment

Deployment

Deployment a la que corresponde este perfil.

duration

Duration

Duración de la sesión de generación de perfiles. Entrada (para el modo sin conexión) o salida (para el modo en línea). El campo representa la duración solicitada de la generación de perfiles. Puede diferir ligeramente de la duración efectiva de la generación de perfiles, que se registra en los datos del perfil, en caso de que esta no se pueda detener de inmediato (p.ej., en caso de que la detención de la generación de perfiles se controle de forma asíncrona).

profile_bytes

bytes

Solo entrada. Bytes de perfil, como un proto serializado comprimido en gzip, el formato es https://github.com/google/pprof/blob/master/proto/profile.proto.

labels

map<string, string>

Solo entrada. Etiquetas asociadas a este perfil específico. Estas etiquetas se combinarán con las etiquetas de implementación para el conjunto de datos final. Consulta la documentación sobre etiquetas de implementación para conocer los límites y las reglas de validación.

start_time

Timestamp

Solo salida. Hora de inicio del perfil. Este resultado solo está presente en respuesta del método ListProfiles.

ProfileType

ProfileType es el tipo de datos de generación de perfiles. NOTA: Los nombres de los miembros de la enumeración se usan (en minúsculas) como identificadores de string únicos de los tipos de perfil, por lo que no se les debe cambiar el nombre.

Enums
PROFILE_TYPE_UNSPECIFIED No se especificó el tipo de perfil.
CPU Muestreo de tiempo de CPU de Thread.
WALL Muestreo de tiempo de reloj Es más costoso, ya que detiene todos los subprocesos.
HEAP Perfil del montón en uso. Representa una instantánea de las asignaciones activas en el momento de la generación de perfiles.
THREADS Es la recopilación de un solo ejemplo de todas las pilas de subprocesos.
CONTENTION Perfil de contención de sincronización.
PEAK_HEAP Perfil del montón máximo.
HEAP_ALLOC Perfil de asignación del montón. Representa la agregación de todas las asignaciones realizadas durante el perfil. Se incluyen todas las asignaciones, incluidas las que podrían haberse liberado al final del intervalo de generación de perfiles. El perfil es particularmente útil para lenguajes de recolección de elementos no utilizados, para comprender qué partes del código crean la mayor parte de la presión de recolección de elementos no utilizados para ver si se pueden optimizar.

UpdateProfileRequest

UpdateProfileRequest contiene el perfil que se actualizará.

Campos
profile

Profile

Perfil que se actualizará.

La autorización requiere el siguiente permiso IAM en el recurso especificado profile:

  • cloudprofiler.profiles.update
update_mask

FieldMask

Es la máscara de campo que se usa para especificar los campos que se reemplazarán. Actualmente, UpdateProfile solo admite los campos profile_bytes y labels, por lo que solo se pueden especificar esos campos en la máscara. Cuando no se proporciona una máscara, se reemplazan todos los campos.