Package google.devtools.cloudprofiler.v2

Índice

ExportService

O serviço permite que os clientes atuais do Cloud Profiler exportem os dados do perfil para fora do Google Cloud.

ListProfiles

rpc ListProfiles(ListProfilesRequest) returns (ListProfilesResponse)

Lista os perfis que foram coletados até o momento e para os quais o autor da chamada tem permissão de visualização.

Escopos de autorização

Requer um dos seguintes escopos de OAuth:

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

Para saber mais, consulte a Visão geral da autenticação.

ProfilerService

Gerencie a coleta de dados de criação contínua de perfil fornecida por agentes de criação de perfil em execução na nuvem ou por um provedor off-line de dados de criação de perfil.

As APIs listadas neste serviço devem ser usadas apenas nos nossos agentes de criação de perfil.

CreateOfflineProfile

rpc CreateOfflineProfile(CreateOfflineProfileRequest) returns (Profile)

CreateOnlineProfile cria um novo recurso de perfil no modo off-line. O cliente fornece o perfil a ser criado com os bytes do perfil, que o servidor o registra.

O uso direto dessa API não é recomendado. Use um agente de criação de perfil compatível para a coleta de perfis.

Escopos de autorização

Requer um dos seguintes escopos de OAuth:

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

Para saber mais, consulte a Visão geral da autenticação.

CreateProfile

rpc CreateProfile(CreateProfileRequest) returns (Profile)

CreateProfile cria um novo recurso de perfil no modo on-line.

O uso direto dessa API não é recomendado. Use um agente de criação de perfil compatível para a coleta de perfis.

O servidor garante que os novos perfis sejam criados a uma taxa constante por implantação, de modo que a solicitação de criação pode demorar um pouco até que a próxima sessão de perfil esteja disponível.

A solicitação pode falhar com o erro ABORTED se a criação não estiver disponível em cerca de 1 min. A resposta vai indicar a duração da espera que o cliente deve fazer antes de tentar criar um perfil novamente. A duração de espera é retornada na extensão google.rpc.RetryInfo no status da resposta. Para um cliente gRPC, a extensão será retornada como um proto serializado binário no item de metadados final chamado "google.rpc.retryinfo-bin".

Escopos de autorização

Requer um dos seguintes escopos de OAuth:

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

Para saber mais, consulte a Visão geral da autenticação.

UpdateProfile

rpc UpdateProfile(UpdateProfileRequest) returns (Profile)

UpdateProfile atualiza os bytes e rótulos do perfil no recurso de perfil criado no modo on-line. No momento, não é possível atualizar os bytes de perfis criados no modo off-line. O conteúdo do perfil precisa ser fornecido no momento da criação do perfil.

O uso direto dessa API não é recomendado. Use um agente de criação de perfil compatível para a coleta de perfis.

Escopos de autorização

Requer um dos seguintes escopos de OAuth:

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

Para saber mais, consulte a Visão geral da autenticação.

CreateOfflineProfileRequest

CreateOff-ProfileRequest descreve uma solicitação de criação off-line de recurso de perfil.

Campos
parent

string

Projeto pai em que o perfil será criado.

A autorização requer a seguinte permissão do IAM no recurso especificado parent:

  • cloudprofiler.profiles.create
profile

Profile

Conteúdo do perfil a ser criado.

CreateProfileRequest

CreateProfileRequest descreve uma solicitação de criação on-line de recurso de perfil. O campo de implantação precisa estar preenchido. O "profile_type" especifica a lista de tipos de perfil compatíveis com o agente. A chamada de criação ficará pendente até que seja necessário coletar um perfil de um desses tipos.

Campos
parent

string

Projeto pai em que o perfil será criado.

A autorização requer a seguinte permissão do IAM no recurso especificado parent:

  • cloudprofiler.profiles.create
deployment

Deployment

Detalhes da implantação.

A autorização requer a seguinte permissão do IAM no recurso especificado deployment:

  • cloudprofiler.profiles.create
profile_type[]

ProfileType

Um ou mais tipos de perfil que o agente pode fornecer.

Implantação

A implantação contém as informações de identificação da implantação.

Campos
project_id

string

O ID do projeto é o ID de um projeto na nuvem. Regex de validação: ^[a-z][-a-z0-9:.]{4,61}[a-z0-9]$.

target

string

"Target" é o nome do serviço usado para agrupar implantações relacionadas: * Nome do serviço do App Engine Flex / Standard. * Cluster e nome de contêiner para GKE. * String especificada pelo usuário para criação de perfil direto do Compute Engine (por exemplo, Java). * Nome do job do Dataflow. Regex de validação: ^[a-z0-9]([-a-z0-9_.]{0,253}[a-z0-9])?$.

labels

map<string, string>

Os identificadores identificam a implantação no universo de usuários e no mesmo destino. Regex de validação para nomes de rótulos: ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$. O valor de um rótulo individual deve ser <= 512 bytes, o tamanho total de todos os nomes e valores de rótulo deve ser <= 1.024 bytes.

O identificador "language" pode ser usado para registrar a linguagem de programação da implantação com perfil. As opções padrão para o valor incluem "java", "go", "python", "ruby", "nodejs", "php", "dotnet".

Para implantações em execução no Google Cloud Platform, o rótulo "zona" ou "região" precisa estar presente, descrevendo o local da implantação. Um exemplo de zona é "us-central1-a", e um exemplo de região é "us-central1" ou "us-central".

ListProfilesRequest

ListProfilesRequest contém parâmetros de solicitação para listar perfis de implantações em projetos que o usuário tem permissão para visualizar.

Campos
parent

string

Obrigatório. O pai, que é proprietário desse conjunto de perfis. Formato: projects/{user_project_id}

A autorização requer a seguinte permissão do IAM no recurso especificado parent:

  • cloudprofiler.profiles.list
page_size

int32

Opcional. O número máximo de itens para retornar. O page_size padrão é 1000. O limite máximo é 1.000.

page_token

string

Opcional. O token para continuar a paginação e acessar perfis de uma página específica. Ao paginar, todos os outros parâmetros fornecidos para ListProfiles precisam corresponder à chamada que forneceu o token da página.

ListProfilesResponse

ListProfileResponse contém a lista de perfis coletados para implantações em projetos que o usuário tem permissão para visualizar.

Campos
profiles[]

Profile

Lista de perfis buscados.

next_page_token

string

Token para receber a próxima página de resultados. Este campo poderá estar vazio se não houver mais perfis para buscar.

skipped_profiles

int32

Número de perfis que foram ignorados na página atual por não terem sido buscados. Normalmente, esse valor é zero. Um valor diferente de zero pode indicar uma falha temporária. Nesse caso, se o número for muito alto para seu caso de uso, a chamada poderá ser repetida.

Perfil

Recurso de perfil.

Campos
name

string

Apenas saída. ID exclusivo opaco atribuído pelo servidor para este perfil.

profile_type

ProfileType

Tipo de perfil. Para o modo off-line, é necessário especificar isso ao criar o perfil. No modo on-line, ele é atribuído e retornado pelo servidor.

deployment

Deployment

Implantação a que este perfil corresponde.

duration

Duration

Duração da sessão de criação de perfil. Entrada (para o modo off-line) ou saída (para o modo on-line). O campo representa a duração da criação de perfil solicitada. Ela pode ser um pouco diferente da duração efetiva da criação do perfil, que é registrada nos dados de perfil, caso a criação não possa ser interrompida imediatamente (por exemplo, se a interrupção da criação do perfil for feita de forma assíncrona).

profile_bytes

bytes

Apenas entrada. Bytes de perfil, como um .proto serializado compactado com gzip, tem o formato https://github.com/google/pprof/blob/master/proto/profile.proto.

labels

map<string, string>

Apenas entrada. Rótulos associados a este perfil específico. Esses rótulos serão mesclados com os de implantação do conjunto de dados final. Consulte a documentação sobre rótulos de implantação para conhecer as regras e os limites de validação.

start_time

Timestamp

Apenas saída. Horário de início do perfil. Essa saída só está presente em resposta do método ListProfiles.

ProfileType

ProfileType é o tipo de dados de criação de perfil. OBSERVAÇÃO: os nomes dos membros de enumeração são usados (em letras minúsculas) como identificadores de string exclusivos de tipos de perfil, portanto, não podem ser renomeados.

Tipos enumerados
PROFILE_TYPE_UNSPECIFIED Tipo de perfil não especificado.
CPU Amostragem de tempo de CPU da linha de execução.
WALL Amostragem de tempo decorrido. Mais caro porque interrompe todas as linhas de execução.
HEAP Perfil de alocação heap em uso. Representa um snapshot das alocações que estão ativas no momento da criação de perfil.
THREADS Coleção única de todas as pilhas de linhas de execução.
CONTENTION Perfil de contenção de sincronização.
PEAK_HEAP Perfil de heap de pico.
HEAP_ALLOC Perfil de alocação de heap. Ela representa a agregação de todas as alocações feitas ao longo da duração do perfil. Todas as alocações são incluídas, incluindo aquelas que podem ter sido liberadas ao final do intervalo de criação de perfil. O perfil é especialmente útil para linguagens de coleta de lixo para entender quais partes do código criam a maior parte da pressão de coleta de lixo para ver se elas podem ser otimizadas.

UpdateProfileRequest

UpdateProfileRequest contém o perfil a ser atualizado.

Campos
profile

Profile

Perfil a ser atualizado.

A autorização requer a seguinte permissão do IAM no recurso especificado profile:

  • cloudprofiler.profiles.update
update_mask

FieldMask

Máscara de campo usada para especificar os campos a serem substituídos. Atualmente, o UpdateProfile só oferece suporte aos campos "profile_bytes" e "labels". Portanto, apenas esses campos podem ser especificados na máscara. Quando nenhuma máscara é fornecida, todos os campos são substituídos.