Variables
ProfileType_name, ProfileType_value
var (
ProfileType_name = map[int32]string{
0: "PROFILE_TYPE_UNSPECIFIED",
1: "CPU",
2: "WALL",
3: "HEAP",
4: "THREADS",
5: "CONTENTION",
6: "PEAK_HEAP",
7: "HEAP_ALLOC",
}
ProfileType_value = map[string]int32{
"PROFILE_TYPE_UNSPECIFIED": 0,
"CPU": 1,
"WALL": 2,
"HEAP": 3,
"THREADS": 4,
"CONTENTION": 5,
"PEAK_HEAP": 6,
"HEAP_ALLOC": 7,
}
)
Enum value maps for ProfileType.
File_google_devtools_cloudprofiler_v2_profiler_proto
var File_google_devtools_cloudprofiler_v2_profiler_proto protoreflect.FileDescriptor
Functions
func RegisterExportServiceServer
func RegisterExportServiceServer(s *grpc.Server, srv ExportServiceServer)
func RegisterProfilerServiceServer
func RegisterProfilerServiceServer(s *grpc.Server, srv ProfilerServiceServer)
CreateOfflineProfileRequest
type CreateOfflineProfileRequest struct {
// Parent project to create the profile in.
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// Contents of the profile to create.
Profile *Profile `protobuf:"bytes,2,opt,name=profile,proto3" json:"profile,omitempty"`
// contains filtered or unexported fields
}
CreateOfflineProfileRequest describes a profile resource offline creation request.
func (*CreateOfflineProfileRequest) Descriptor
func (*CreateOfflineProfileRequest) Descriptor() ([]byte, []int)
Deprecated: Use CreateOfflineProfileRequest.ProtoReflect.Descriptor instead.
func (*CreateOfflineProfileRequest) GetParent
func (x *CreateOfflineProfileRequest) GetParent() string
func (*CreateOfflineProfileRequest) GetProfile
func (x *CreateOfflineProfileRequest) GetProfile() *Profile
func (*CreateOfflineProfileRequest) ProtoMessage
func (*CreateOfflineProfileRequest) ProtoMessage()
func (*CreateOfflineProfileRequest) ProtoReflect
func (x *CreateOfflineProfileRequest) ProtoReflect() protoreflect.Message
func (*CreateOfflineProfileRequest) Reset
func (x *CreateOfflineProfileRequest) Reset()
func (*CreateOfflineProfileRequest) String
func (x *CreateOfflineProfileRequest) String() string
CreateProfileRequest
type CreateProfileRequest struct {
Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"`
Deployment *Deployment `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"`
ProfileType []ProfileType "" /* 152 byte string literal not displayed */
}
CreateProfileRequest describes a profile resource online creation request. The deployment field must be populated. The profile_type specifies the list of profile types supported by the agent. The creation call will hang until a profile of one of these types needs to be collected.
func (*CreateProfileRequest) Descriptor
func (*CreateProfileRequest) Descriptor() ([]byte, []int)
Deprecated: Use CreateProfileRequest.ProtoReflect.Descriptor instead.
func (*CreateProfileRequest) GetDeployment
func (x *CreateProfileRequest) GetDeployment() *Deployment
func (*CreateProfileRequest) GetParent
func (x *CreateProfileRequest) GetParent() string
func (*CreateProfileRequest) GetProfileType
func (x *CreateProfileRequest) GetProfileType() []ProfileType
func (*CreateProfileRequest) ProtoMessage
func (*CreateProfileRequest) ProtoMessage()
func (*CreateProfileRequest) ProtoReflect
func (x *CreateProfileRequest) ProtoReflect() protoreflect.Message
func (*CreateProfileRequest) Reset
func (x *CreateProfileRequest) Reset()
func (*CreateProfileRequest) String
func (x *CreateProfileRequest) String() string
Deployment
type Deployment struct {
ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
Target string `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
Labels map[string]string "" /* 153 byte string literal not displayed */
}
Deployment contains the deployment identification information.
func (*Deployment) Descriptor
func (*Deployment) Descriptor() ([]byte, []int)
Deprecated: Use Deployment.ProtoReflect.Descriptor instead.
func (*Deployment) GetLabels
func (x *Deployment) GetLabels() map[string]string
func (*Deployment) GetProjectId
func (x *Deployment) GetProjectId() string
func (*Deployment) GetTarget
func (x *Deployment) GetTarget() string
func (*Deployment) ProtoMessage
func (*Deployment) ProtoMessage()
func (*Deployment) ProtoReflect
func (x *Deployment) ProtoReflect() protoreflect.Message
func (*Deployment) Reset
func (x *Deployment) Reset()
func (*Deployment) String
func (x *Deployment) String() string
ExportServiceClient
type ExportServiceClient interface {
// Lists profiles which have been collected so far and for which the caller
// has permission to view.
ListProfiles(ctx context.Context, in *ListProfilesRequest, opts ...grpc.CallOption) (*ListProfilesResponse, error)
}
ExportServiceClient is the client API for ExportService service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
func NewExportServiceClient
func NewExportServiceClient(cc grpc.ClientConnInterface) ExportServiceClient
ExportServiceServer
type ExportServiceServer interface {
// Lists profiles which have been collected so far and for which the caller
// has permission to view.
ListProfiles(context.Context, *ListProfilesRequest) (*ListProfilesResponse, error)
}
ExportServiceServer is the server API for ExportService service.
ListProfilesRequest
type ListProfilesRequest struct {
// Required. The parent, which owns this collection of profiles.
// Format: projects/{user_project_id}
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// The maximum number of items to return.
// Default page_size is 1000.
// Max limit is 1000.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// The token to continue pagination and get profiles from a particular page.
// When paginating, all other parameters provided to `ListProfiles` must match
// the call that provided the page token.
PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
// contains filtered or unexported fields
}
ListProfilesRequest contains request parameters for listing profiles for deployments in projects which the user has permissions to view.
func (*ListProfilesRequest) Descriptor
func (*ListProfilesRequest) Descriptor() ([]byte, []int)
Deprecated: Use ListProfilesRequest.ProtoReflect.Descriptor instead.
func (*ListProfilesRequest) GetPageSize
func (x *ListProfilesRequest) GetPageSize() int32
func (*ListProfilesRequest) GetPageToken
func (x *ListProfilesRequest) GetPageToken() string
func (*ListProfilesRequest) GetParent
func (x *ListProfilesRequest) GetParent() string
func (*ListProfilesRequest) ProtoMessage
func (*ListProfilesRequest) ProtoMessage()
func (*ListProfilesRequest) ProtoReflect
func (x *ListProfilesRequest) ProtoReflect() protoreflect.Message
func (*ListProfilesRequest) Reset
func (x *ListProfilesRequest) Reset()
func (*ListProfilesRequest) String
func (x *ListProfilesRequest) String() string
ListProfilesResponse
type ListProfilesResponse struct {
// List of profiles fetched.
Profiles []*Profile `protobuf:"bytes,1,rep,name=profiles,proto3" json:"profiles,omitempty"`
// Token to receive the next page of results.
// This field maybe empty if there are no more profiles to fetch.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
// Number of profiles that were skipped in the current page since they were
// not able to be fetched successfully. This should typically be zero. A
// non-zero value may indicate a transient failure, in which case if the
// number is too high for your use case, the call may be retried.
SkippedProfiles int32 `protobuf:"varint,3,opt,name=skipped_profiles,json=skippedProfiles,proto3" json:"skipped_profiles,omitempty"`
// contains filtered or unexported fields
}
ListProfileResponse contains the list of collected profiles for deployments in projects which the user has permissions to view.
func (*ListProfilesResponse) Descriptor
func (*ListProfilesResponse) Descriptor() ([]byte, []int)
Deprecated: Use ListProfilesResponse.ProtoReflect.Descriptor instead.
func (*ListProfilesResponse) GetNextPageToken
func (x *ListProfilesResponse) GetNextPageToken() string
func (*ListProfilesResponse) GetProfiles
func (x *ListProfilesResponse) GetProfiles() []*Profile
func (*ListProfilesResponse) GetSkippedProfiles
func (x *ListProfilesResponse) GetSkippedProfiles() int32
func (*ListProfilesResponse) ProtoMessage
func (*ListProfilesResponse) ProtoMessage()
func (*ListProfilesResponse) ProtoReflect
func (x *ListProfilesResponse) ProtoReflect() protoreflect.Message
func (*ListProfilesResponse) Reset
func (x *ListProfilesResponse) Reset()
func (*ListProfilesResponse) String
func (x *ListProfilesResponse) String() string
Profile
type Profile struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
ProfileType ProfileType "" /* 145 byte string literal not displayed */
Deployment *Deployment `protobuf:"bytes,3,opt,name=deployment,proto3" json:"deployment,omitempty"`
Duration *durationpb.Duration `protobuf:"bytes,4,opt,name=duration,proto3" json:"duration,omitempty"`
ProfileBytes []byte `protobuf:"bytes,5,opt,name=profile_bytes,json=profileBytes,proto3" json:"profile_bytes,omitempty"`
Labels map[string]string "" /* 153 byte string literal not displayed */
StartTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
}
Profile resource.
func (*Profile) Descriptor
Deprecated: Use Profile.ProtoReflect.Descriptor instead.
func (*Profile) GetDeployment
func (x *Profile) GetDeployment() *Deployment
func (*Profile) GetDuration
func (x *Profile) GetDuration() *durationpb.Duration
func (*Profile) GetLabels
func (*Profile) GetName
func (*Profile) GetProfileBytes
func (*Profile) GetProfileType
func (x *Profile) GetProfileType() ProfileType
func (*Profile) GetStartTime
func (x *Profile) GetStartTime() *timestamppb.Timestamp
func (*Profile) ProtoMessage
func (*Profile) ProtoMessage()
func (*Profile) ProtoReflect
func (x *Profile) ProtoReflect() protoreflect.Message
func (*Profile) Reset
func (x *Profile) Reset()
func (*Profile) String
ProfileType
type ProfileType int32
ProfileType is type of profiling data. NOTE: the enumeration member names are used (in lowercase) as unique string identifiers of profile types, so they must not be renamed.
ProfileType_PROFILE_TYPE_UNSPECIFIED, ProfileType_CPU, ProfileType_WALL, ProfileType_HEAP, ProfileType_THREADS, ProfileType_CONTENTION, ProfileType_PEAK_HEAP, ProfileType_HEAP_ALLOC
const (
// Unspecified profile type.
ProfileType_PROFILE_TYPE_UNSPECIFIED ProfileType = 0
// Thread CPU time sampling.
ProfileType_CPU ProfileType = 1
// Wallclock time sampling. More expensive as stops all threads.
ProfileType_WALL ProfileType = 2
// In-use heap profile. Represents a snapshot of the allocations that are
// live at the time of the profiling.
ProfileType_HEAP ProfileType = 3
// Single-shot collection of all thread stacks.
ProfileType_THREADS ProfileType = 4
// Synchronization contention profile.
ProfileType_CONTENTION ProfileType = 5
// Peak heap profile.
ProfileType_PEAK_HEAP ProfileType = 6
// Heap allocation profile. It represents the aggregation of all allocations
// made over the duration of the profile. All allocations are included,
// including those that might have been freed by the end of the profiling
// interval. The profile is in particular useful for garbage collecting
// languages to understand which parts of the code create most of the garbage
// collection pressure to see if those can be optimized.
ProfileType_HEAP_ALLOC ProfileType = 7
)
func (ProfileType) Descriptor
func (ProfileType) Descriptor() protoreflect.EnumDescriptor
func (ProfileType) Enum
func (x ProfileType) Enum() *ProfileType
func (ProfileType) EnumDescriptor
func (ProfileType) EnumDescriptor() ([]byte, []int)
Deprecated: Use ProfileType.Descriptor instead.
func (ProfileType) Number
func (x ProfileType) Number() protoreflect.EnumNumber
func (ProfileType) String
func (x ProfileType) String() string
func (ProfileType) Type
func (ProfileType) Type() protoreflect.EnumType
ProfilerServiceClient
type ProfilerServiceClient interface {
// CreateProfile creates a new profile resource in the online mode.
//
// _Direct use of this API is discouraged, please use a [supported
// profiler
// agent](https://cloud.google.com/profiler/docs/about-profiler#profiling_agent)
// instead for profile collection._
//
// The server ensures that the new profiles are created at a constant rate per
// deployment, so the creation request may hang for some time until the next
// profile session is available.
//
// The request may fail with ABORTED error if the creation is not available
// within ~1m, the response will indicate the duration of the backoff the
// client should take before attempting creating a profile again. The backoff
// duration is returned in google.rpc.RetryInfo extension on the response
// status. To a gRPC client, the extension will be return as a
// binary-serialized proto in the trailing metadata item named
// "google.rpc.retryinfo-bin".
CreateProfile(ctx context.Context, in *CreateProfileRequest, opts ...grpc.CallOption) (*Profile, error)
// CreateOfflineProfile creates a new profile resource in the offline
// mode. The client provides the profile to create along with the profile
// bytes, the server records it.
//
// _Direct use of this API is discouraged, please use a [supported
// profiler
// agent](https://cloud.google.com/profiler/docs/about-profiler#profiling_agent)
// instead for profile collection._
CreateOfflineProfile(ctx context.Context, in *CreateOfflineProfileRequest, opts ...grpc.CallOption) (*Profile, error)
// UpdateProfile updates the profile bytes and labels on the profile resource
// created in the online mode. Updating the bytes for profiles created in the
// offline mode is currently not supported: the profile content must be
// provided at the time of the profile creation.
//
// _Direct use of this API is discouraged, please use a [supported
// profiler
// agent](https://cloud.google.com/profiler/docs/about-profiler#profiling_agent)
// instead for profile collection._
UpdateProfile(ctx context.Context, in *UpdateProfileRequest, opts ...grpc.CallOption) (*Profile, error)
}
ProfilerServiceClient is the client API for ProfilerService service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
func NewProfilerServiceClient
func NewProfilerServiceClient(cc grpc.ClientConnInterface) ProfilerServiceClient
ProfilerServiceServer
type ProfilerServiceServer interface {
// CreateProfile creates a new profile resource in the online mode.
//
// _Direct use of this API is discouraged, please use a [supported
// profiler
// agent](https://cloud.google.com/profiler/docs/about-profiler#profiling_agent)
// instead for profile collection._
//
// The server ensures that the new profiles are created at a constant rate per
// deployment, so the creation request may hang for some time until the next
// profile session is available.
//
// The request may fail with ABORTED error if the creation is not available
// within ~1m, the response will indicate the duration of the backoff the
// client should take before attempting creating a profile again. The backoff
// duration is returned in google.rpc.RetryInfo extension on the response
// status. To a gRPC client, the extension will be return as a
// binary-serialized proto in the trailing metadata item named
// "google.rpc.retryinfo-bin".
CreateProfile(context.Context, *CreateProfileRequest) (*Profile, error)
// CreateOfflineProfile creates a new profile resource in the offline
// mode. The client provides the profile to create along with the profile
// bytes, the server records it.
//
// _Direct use of this API is discouraged, please use a [supported
// profiler
// agent](https://cloud.google.com/profiler/docs/about-profiler#profiling_agent)
// instead for profile collection._
CreateOfflineProfile(context.Context, *CreateOfflineProfileRequest) (*Profile, error)
// UpdateProfile updates the profile bytes and labels on the profile resource
// created in the online mode. Updating the bytes for profiles created in the
// offline mode is currently not supported: the profile content must be
// provided at the time of the profile creation.
//
// _Direct use of this API is discouraged, please use a [supported
// profiler
// agent](https://cloud.google.com/profiler/docs/about-profiler#profiling_agent)
// instead for profile collection._
UpdateProfile(context.Context, *UpdateProfileRequest) (*Profile, error)
}
ProfilerServiceServer is the server API for ProfilerService service.
UnimplementedExportServiceServer
type UnimplementedExportServiceServer struct {
}
UnimplementedExportServiceServer can be embedded to have forward compatible implementations.
func (*UnimplementedExportServiceServer) ListProfiles
func (*UnimplementedExportServiceServer) ListProfiles(context.Context, *ListProfilesRequest) (*ListProfilesResponse, error)
UnimplementedProfilerServiceServer
type UnimplementedProfilerServiceServer struct {
}
UnimplementedProfilerServiceServer can be embedded to have forward compatible implementations.
func (*UnimplementedProfilerServiceServer) CreateOfflineProfile
func (*UnimplementedProfilerServiceServer) CreateOfflineProfile(context.Context, *CreateOfflineProfileRequest) (*Profile, error)
func (*UnimplementedProfilerServiceServer) CreateProfile
func (*UnimplementedProfilerServiceServer) CreateProfile(context.Context, *CreateProfileRequest) (*Profile, error)
func (*UnimplementedProfilerServiceServer) UpdateProfile
func (*UnimplementedProfilerServiceServer) UpdateProfile(context.Context, *UpdateProfileRequest) (*Profile, error)
UpdateProfileRequest
type UpdateProfileRequest struct {
// Profile to update.
Profile *Profile `protobuf:"bytes,1,opt,name=profile,proto3" json:"profile,omitempty"`
// Field mask used to specify the fields to be overwritten. Currently only
// profile_bytes and labels fields are supported by UpdateProfile, so only
// those fields can be specified in the mask. When no mask is provided, all
// fields are overwritten.
UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
// contains filtered or unexported fields
}
UpdateProfileRequest contains the profile to update.
func (*UpdateProfileRequest) Descriptor
func (*UpdateProfileRequest) Descriptor() ([]byte, []int)
Deprecated: Use UpdateProfileRequest.ProtoReflect.Descriptor instead.
func (*UpdateProfileRequest) GetProfile
func (x *UpdateProfileRequest) GetProfile() *Profile
func (*UpdateProfileRequest) GetUpdateMask
func (x *UpdateProfileRequest) GetUpdateMask() *fieldmaskpb.FieldMask
func (*UpdateProfileRequest) ProtoMessage
func (*UpdateProfileRequest) ProtoMessage()
func (*UpdateProfileRequest) ProtoReflect
func (x *UpdateProfileRequest) ProtoReflect() protoreflect.Message
func (*UpdateProfileRequest) Reset
func (x *UpdateProfileRequest) Reset()
func (*UpdateProfileRequest) String
func (x *UpdateProfileRequest) String() string