Files
monibuca/plugin/debug/pb/debug.pb.go
godkun 3ea37046ff feat(debug): 添加 CPU 分析图功能
- 实现了 GetCpuGraph 方法,用于生成 CPU profile 的 dot 图
- 该方法在后台收集 1 秒的 CPU 数据,然后生成对应的 dot 图
- 新增功能使得可以更直观地分析 CPU 使用情况
2024-12-21 23:38:46 +08:00

1193 lines
43 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.0
// protoc v5.29.1
// source: debug.proto
package pb
import (
_ "google.golang.org/genproto/googleapis/api/annotations"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
emptypb "google.golang.org/protobuf/types/known/emptypb"
_ "google.golang.org/protobuf/types/known/timestamppb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type HeapObject struct {
state protoimpl.MessageState `protogen:"open.v1"`
Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
Size int64 `protobuf:"varint,3,opt,name=size,proto3" json:"size,omitempty"`
SizePerc float64 `protobuf:"fixed64,4,opt,name=sizePerc,proto3" json:"sizePerc,omitempty"`
Address string `protobuf:"bytes,5,opt,name=address,proto3" json:"address,omitempty"`
Refs []string `protobuf:"bytes,6,rep,name=refs,proto3" json:"refs,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *HeapObject) Reset() {
*x = HeapObject{}
mi := &file_debug_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *HeapObject) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HeapObject) ProtoMessage() {}
func (x *HeapObject) ProtoReflect() protoreflect.Message {
mi := &file_debug_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use HeapObject.ProtoReflect.Descriptor instead.
func (*HeapObject) Descriptor() ([]byte, []int) {
return file_debug_proto_rawDescGZIP(), []int{0}
}
func (x *HeapObject) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *HeapObject) GetCount() int64 {
if x != nil {
return x.Count
}
return 0
}
func (x *HeapObject) GetSize() int64 {
if x != nil {
return x.Size
}
return 0
}
func (x *HeapObject) GetSizePerc() float64 {
if x != nil {
return x.SizePerc
}
return 0
}
func (x *HeapObject) GetAddress() string {
if x != nil {
return x.Address
}
return ""
}
func (x *HeapObject) GetRefs() []string {
if x != nil {
return x.Refs
}
return nil
}
type HeapStats struct {
state protoimpl.MessageState `protogen:"open.v1"`
Alloc uint64 `protobuf:"varint,1,opt,name=alloc,proto3" json:"alloc,omitempty"`
TotalAlloc uint64 `protobuf:"varint,2,opt,name=totalAlloc,proto3" json:"totalAlloc,omitempty"`
Sys uint64 `protobuf:"varint,3,opt,name=sys,proto3" json:"sys,omitempty"`
NumGC uint32 `protobuf:"varint,4,opt,name=numGC,proto3" json:"numGC,omitempty"`
HeapAlloc uint64 `protobuf:"varint,5,opt,name=heapAlloc,proto3" json:"heapAlloc,omitempty"`
HeapSys uint64 `protobuf:"varint,6,opt,name=heapSys,proto3" json:"heapSys,omitempty"`
HeapIdle uint64 `protobuf:"varint,7,opt,name=heapIdle,proto3" json:"heapIdle,omitempty"`
HeapInuse uint64 `protobuf:"varint,8,opt,name=heapInuse,proto3" json:"heapInuse,omitempty"`
HeapReleased uint64 `protobuf:"varint,9,opt,name=heapReleased,proto3" json:"heapReleased,omitempty"`
HeapObjects uint64 `protobuf:"varint,10,opt,name=heapObjects,proto3" json:"heapObjects,omitempty"`
GcCPUFraction float64 `protobuf:"fixed64,11,opt,name=gcCPUFraction,proto3" json:"gcCPUFraction,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *HeapStats) Reset() {
*x = HeapStats{}
mi := &file_debug_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *HeapStats) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HeapStats) ProtoMessage() {}
func (x *HeapStats) ProtoReflect() protoreflect.Message {
mi := &file_debug_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use HeapStats.ProtoReflect.Descriptor instead.
func (*HeapStats) Descriptor() ([]byte, []int) {
return file_debug_proto_rawDescGZIP(), []int{1}
}
func (x *HeapStats) GetAlloc() uint64 {
if x != nil {
return x.Alloc
}
return 0
}
func (x *HeapStats) GetTotalAlloc() uint64 {
if x != nil {
return x.TotalAlloc
}
return 0
}
func (x *HeapStats) GetSys() uint64 {
if x != nil {
return x.Sys
}
return 0
}
func (x *HeapStats) GetNumGC() uint32 {
if x != nil {
return x.NumGC
}
return 0
}
func (x *HeapStats) GetHeapAlloc() uint64 {
if x != nil {
return x.HeapAlloc
}
return 0
}
func (x *HeapStats) GetHeapSys() uint64 {
if x != nil {
return x.HeapSys
}
return 0
}
func (x *HeapStats) GetHeapIdle() uint64 {
if x != nil {
return x.HeapIdle
}
return 0
}
func (x *HeapStats) GetHeapInuse() uint64 {
if x != nil {
return x.HeapInuse
}
return 0
}
func (x *HeapStats) GetHeapReleased() uint64 {
if x != nil {
return x.HeapReleased
}
return 0
}
func (x *HeapStats) GetHeapObjects() uint64 {
if x != nil {
return x.HeapObjects
}
return 0
}
func (x *HeapStats) GetGcCPUFraction() float64 {
if x != nil {
return x.GcCPUFraction
}
return 0
}
type HeapData struct {
state protoimpl.MessageState `protogen:"open.v1"`
Stats *HeapStats `protobuf:"bytes,1,opt,name=stats,proto3" json:"stats,omitempty"`
Objects []*HeapObject `protobuf:"bytes,2,rep,name=objects,proto3" json:"objects,omitempty"`
Edges []*HeapEdge `protobuf:"bytes,3,rep,name=edges,proto3" json:"edges,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *HeapData) Reset() {
*x = HeapData{}
mi := &file_debug_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *HeapData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HeapData) ProtoMessage() {}
func (x *HeapData) ProtoReflect() protoreflect.Message {
mi := &file_debug_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use HeapData.ProtoReflect.Descriptor instead.
func (*HeapData) Descriptor() ([]byte, []int) {
return file_debug_proto_rawDescGZIP(), []int{2}
}
func (x *HeapData) GetStats() *HeapStats {
if x != nil {
return x.Stats
}
return nil
}
func (x *HeapData) GetObjects() []*HeapObject {
if x != nil {
return x.Objects
}
return nil
}
func (x *HeapData) GetEdges() []*HeapEdge {
if x != nil {
return x.Edges
}
return nil
}
type HeapEdge struct {
state protoimpl.MessageState `protogen:"open.v1"`
From string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
To string `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"`
FieldName string `protobuf:"bytes,3,opt,name=fieldName,proto3" json:"fieldName,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *HeapEdge) Reset() {
*x = HeapEdge{}
mi := &file_debug_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *HeapEdge) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HeapEdge) ProtoMessage() {}
func (x *HeapEdge) ProtoReflect() protoreflect.Message {
mi := &file_debug_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use HeapEdge.ProtoReflect.Descriptor instead.
func (*HeapEdge) Descriptor() ([]byte, []int) {
return file_debug_proto_rawDescGZIP(), []int{3}
}
func (x *HeapEdge) GetFrom() string {
if x != nil {
return x.From
}
return ""
}
func (x *HeapEdge) GetTo() string {
if x != nil {
return x.To
}
return ""
}
func (x *HeapEdge) GetFieldName() string {
if x != nil {
return x.FieldName
}
return ""
}
type HeapResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
Data *HeapData `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *HeapResponse) Reset() {
*x = HeapResponse{}
mi := &file_debug_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *HeapResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HeapResponse) ProtoMessage() {}
func (x *HeapResponse) ProtoReflect() protoreflect.Message {
mi := &file_debug_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use HeapResponse.ProtoReflect.Descriptor instead.
func (*HeapResponse) Descriptor() ([]byte, []int) {
return file_debug_proto_rawDescGZIP(), []int{4}
}
func (x *HeapResponse) GetCode() uint32 {
if x != nil {
return x.Code
}
return 0
}
func (x *HeapResponse) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
func (x *HeapResponse) GetData() *HeapData {
if x != nil {
return x.Data
}
return nil
}
type HeapGraphResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
Data string `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *HeapGraphResponse) Reset() {
*x = HeapGraphResponse{}
mi := &file_debug_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *HeapGraphResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HeapGraphResponse) ProtoMessage() {}
func (x *HeapGraphResponse) ProtoReflect() protoreflect.Message {
mi := &file_debug_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use HeapGraphResponse.ProtoReflect.Descriptor instead.
func (*HeapGraphResponse) Descriptor() ([]byte, []int) {
return file_debug_proto_rawDescGZIP(), []int{5}
}
func (x *HeapGraphResponse) GetCode() uint32 {
if x != nil {
return x.Code
}
return 0
}
func (x *HeapGraphResponse) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
func (x *HeapGraphResponse) GetData() string {
if x != nil {
return x.Data
}
return ""
}
type CpuGraphResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
Data string `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CpuGraphResponse) Reset() {
*x = CpuGraphResponse{}
mi := &file_debug_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CpuGraphResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CpuGraphResponse) ProtoMessage() {}
func (x *CpuGraphResponse) ProtoReflect() protoreflect.Message {
mi := &file_debug_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CpuGraphResponse.ProtoReflect.Descriptor instead.
func (*CpuGraphResponse) Descriptor() ([]byte, []int) {
return file_debug_proto_rawDescGZIP(), []int{6}
}
func (x *CpuGraphResponse) GetCode() uint32 {
if x != nil {
return x.Code
}
return 0
}
func (x *CpuGraphResponse) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
func (x *CpuGraphResponse) GetData() string {
if x != nil {
return x.Data
}
return ""
}
// CPU 采样响应数据
type CpuResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
Data *CpuData `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CpuResponse) Reset() {
*x = CpuResponse{}
mi := &file_debug_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CpuResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CpuResponse) ProtoMessage() {}
func (x *CpuResponse) ProtoReflect() protoreflect.Message {
mi := &file_debug_proto_msgTypes[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CpuResponse.ProtoReflect.Descriptor instead.
func (*CpuResponse) Descriptor() ([]byte, []int) {
return file_debug_proto_rawDescGZIP(), []int{7}
}
func (x *CpuResponse) GetCode() uint32 {
if x != nil {
return x.Code
}
return 0
}
func (x *CpuResponse) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
func (x *CpuResponse) GetData() *CpuData {
if x != nil {
return x.Data
}
return nil
}
type CpuData struct {
state protoimpl.MessageState `protogen:"open.v1"`
TotalCpuTimeNs uint64 `protobuf:"varint,1,opt,name=total_cpu_time_ns,json=totalCpuTimeNs,proto3" json:"total_cpu_time_ns,omitempty"` // 总 CPU 时间(纳秒)
SamplingIntervalNs uint64 `protobuf:"varint,2,opt,name=sampling_interval_ns,json=samplingIntervalNs,proto3" json:"sampling_interval_ns,omitempty"` // 采样间隔(纳秒)
Functions []*FunctionProfile `protobuf:"bytes,3,rep,name=functions,proto3" json:"functions,omitempty"` // 函数调用栈信息
Goroutines []*GoroutineProfile `protobuf:"bytes,4,rep,name=goroutines,proto3" json:"goroutines,omitempty"` // 协程信息
SystemCalls []*SystemCall `protobuf:"bytes,5,rep,name=system_calls,json=systemCalls,proto3" json:"system_calls,omitempty"` // 系统调用信息
RuntimeStats *RuntimeStats `protobuf:"bytes,6,opt,name=runtime_stats,json=runtimeStats,proto3" json:"runtime_stats,omitempty"` // 运行时统计信息
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CpuData) Reset() {
*x = CpuData{}
mi := &file_debug_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CpuData) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CpuData) ProtoMessage() {}
func (x *CpuData) ProtoReflect() protoreflect.Message {
mi := &file_debug_proto_msgTypes[8]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CpuData.ProtoReflect.Descriptor instead.
func (*CpuData) Descriptor() ([]byte, []int) {
return file_debug_proto_rawDescGZIP(), []int{8}
}
func (x *CpuData) GetTotalCpuTimeNs() uint64 {
if x != nil {
return x.TotalCpuTimeNs
}
return 0
}
func (x *CpuData) GetSamplingIntervalNs() uint64 {
if x != nil {
return x.SamplingIntervalNs
}
return 0
}
func (x *CpuData) GetFunctions() []*FunctionProfile {
if x != nil {
return x.Functions
}
return nil
}
func (x *CpuData) GetGoroutines() []*GoroutineProfile {
if x != nil {
return x.Goroutines
}
return nil
}
func (x *CpuData) GetSystemCalls() []*SystemCall {
if x != nil {
return x.SystemCalls
}
return nil
}
func (x *CpuData) GetRuntimeStats() *RuntimeStats {
if x != nil {
return x.RuntimeStats
}
return nil
}
// 函数调用栈信息
type FunctionProfile struct {
state protoimpl.MessageState `protogen:"open.v1"`
FunctionName string `protobuf:"bytes,1,opt,name=function_name,json=functionName,proto3" json:"function_name,omitempty"` // 函数名称
CpuTimeNs uint64 `protobuf:"varint,2,opt,name=cpu_time_ns,json=cpuTimeNs,proto3" json:"cpu_time_ns,omitempty"` // 函数消耗的 CPU 时间(纳秒)
InvocationCount uint64 `protobuf:"varint,3,opt,name=invocation_count,json=invocationCount,proto3" json:"invocation_count,omitempty"` // 函数调用次数
CallStack []string `protobuf:"bytes,4,rep,name=call_stack,json=callStack,proto3" json:"call_stack,omitempty"` // 调用栈(从调用者到被调用者)
IsInlined bool `protobuf:"varint,5,opt,name=is_inlined,json=isInlined,proto3" json:"is_inlined,omitempty"` // 是否是内联函数
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *FunctionProfile) Reset() {
*x = FunctionProfile{}
mi := &file_debug_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *FunctionProfile) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FunctionProfile) ProtoMessage() {}
func (x *FunctionProfile) ProtoReflect() protoreflect.Message {
mi := &file_debug_proto_msgTypes[9]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FunctionProfile.ProtoReflect.Descriptor instead.
func (*FunctionProfile) Descriptor() ([]byte, []int) {
return file_debug_proto_rawDescGZIP(), []int{9}
}
func (x *FunctionProfile) GetFunctionName() string {
if x != nil {
return x.FunctionName
}
return ""
}
func (x *FunctionProfile) GetCpuTimeNs() uint64 {
if x != nil {
return x.CpuTimeNs
}
return 0
}
func (x *FunctionProfile) GetInvocationCount() uint64 {
if x != nil {
return x.InvocationCount
}
return 0
}
func (x *FunctionProfile) GetCallStack() []string {
if x != nil {
return x.CallStack
}
return nil
}
func (x *FunctionProfile) GetIsInlined() bool {
if x != nil {
return x.IsInlined
}
return false
}
// 协程信息
type GoroutineProfile struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // 协程 ID
State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` // 协程状态(如 running, blocked 等)
CpuTimeNs uint64 `protobuf:"varint,3,opt,name=cpu_time_ns,json=cpuTimeNs,proto3" json:"cpu_time_ns,omitempty"` // 协程消耗的 CPU 时间(纳秒)
CallStack []string `protobuf:"bytes,4,rep,name=call_stack,json=callStack,proto3" json:"call_stack,omitempty"` // 协程的调用栈
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GoroutineProfile) Reset() {
*x = GoroutineProfile{}
mi := &file_debug_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GoroutineProfile) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GoroutineProfile) ProtoMessage() {}
func (x *GoroutineProfile) ProtoReflect() protoreflect.Message {
mi := &file_debug_proto_msgTypes[10]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GoroutineProfile.ProtoReflect.Descriptor instead.
func (*GoroutineProfile) Descriptor() ([]byte, []int) {
return file_debug_proto_rawDescGZIP(), []int{10}
}
func (x *GoroutineProfile) GetId() uint64 {
if x != nil {
return x.Id
}
return 0
}
func (x *GoroutineProfile) GetState() string {
if x != nil {
return x.State
}
return ""
}
func (x *GoroutineProfile) GetCpuTimeNs() uint64 {
if x != nil {
return x.CpuTimeNs
}
return 0
}
func (x *GoroutineProfile) GetCallStack() []string {
if x != nil {
return x.CallStack
}
return nil
}
// 系统调用信息
type SystemCall struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // 系统调用名称
CpuTimeNs uint64 `protobuf:"varint,2,opt,name=cpu_time_ns,json=cpuTimeNs,proto3" json:"cpu_time_ns,omitempty"` // 系统调用消耗的 CPU 时间(纳秒)
Count uint64 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty"` // 系统调用次数
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SystemCall) Reset() {
*x = SystemCall{}
mi := &file_debug_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SystemCall) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SystemCall) ProtoMessage() {}
func (x *SystemCall) ProtoReflect() protoreflect.Message {
mi := &file_debug_proto_msgTypes[11]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SystemCall.ProtoReflect.Descriptor instead.
func (*SystemCall) Descriptor() ([]byte, []int) {
return file_debug_proto_rawDescGZIP(), []int{11}
}
func (x *SystemCall) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *SystemCall) GetCpuTimeNs() uint64 {
if x != nil {
return x.CpuTimeNs
}
return 0
}
func (x *SystemCall) GetCount() uint64 {
if x != nil {
return x.Count
}
return 0
}
// 运行时统计信息
type RuntimeStats struct {
state protoimpl.MessageState `protogen:"open.v1"`
GcCpuFraction float64 `protobuf:"fixed64,1,opt,name=gc_cpu_fraction,json=gcCpuFraction,proto3" json:"gc_cpu_fraction,omitempty"` // 垃圾回收占用的 CPU 时间比例
GcCount uint64 `protobuf:"varint,2,opt,name=gc_count,json=gcCount,proto3" json:"gc_count,omitempty"` // 垃圾回收次数
GcPauseTimeNs uint64 `protobuf:"varint,3,opt,name=gc_pause_time_ns,json=gcPauseTimeNs,proto3" json:"gc_pause_time_ns,omitempty"` // 垃圾回收暂停时间(纳秒)
BlockingTimeNs uint64 `protobuf:"varint,4,opt,name=blocking_time_ns,json=blockingTimeNs,proto3" json:"blocking_time_ns,omitempty"` // 阻塞时间(纳秒)
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *RuntimeStats) Reset() {
*x = RuntimeStats{}
mi := &file_debug_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *RuntimeStats) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RuntimeStats) ProtoMessage() {}
func (x *RuntimeStats) ProtoReflect() protoreflect.Message {
mi := &file_debug_proto_msgTypes[12]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RuntimeStats.ProtoReflect.Descriptor instead.
func (*RuntimeStats) Descriptor() ([]byte, []int) {
return file_debug_proto_rawDescGZIP(), []int{12}
}
func (x *RuntimeStats) GetGcCpuFraction() float64 {
if x != nil {
return x.GcCpuFraction
}
return 0
}
func (x *RuntimeStats) GetGcCount() uint64 {
if x != nil {
return x.GcCount
}
return 0
}
func (x *RuntimeStats) GetGcPauseTimeNs() uint64 {
if x != nil {
return x.GcPauseTimeNs
}
return 0
}
func (x *RuntimeStats) GetBlockingTimeNs() uint64 {
if x != nil {
return x.BlockingTimeNs
}
return 0
}
var File_debug_proto protoreflect.FileDescriptor
var file_debug_proto_rawDesc = []byte{
0x0a, 0x0b, 0x64, 0x65, 0x62, 0x75, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x64,
0x65, 0x62, 0x75, 0x67, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x22, 0x94, 0x01, 0x0a, 0x0a, 0x48, 0x65, 0x61, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12,
0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74,
0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01,
0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a,
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a,
0x08, 0x73, 0x69, 0x7a, 0x65, 0x50, 0x65, 0x72, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52,
0x08, 0x73, 0x69, 0x7a, 0x65, 0x50, 0x65, 0x72, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64,
0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72,
0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x65, 0x66, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28,
0x09, 0x52, 0x04, 0x72, 0x65, 0x66, 0x73, 0x22, 0xc7, 0x02, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x70,
0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x18, 0x01,
0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x12, 0x1e, 0x0a, 0x0a, 0x74,
0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6c, 0x6c, 0x6f, 0x63, 0x12, 0x10, 0x0a, 0x03, 0x73,
0x79, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x73, 0x79, 0x73, 0x12, 0x14, 0x0a,
0x05, 0x6e, 0x75, 0x6d, 0x47, 0x43, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6e, 0x75,
0x6d, 0x47, 0x43, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x70, 0x41, 0x6c, 0x6c, 0x6f, 0x63,
0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x68, 0x65, 0x61, 0x70, 0x41, 0x6c, 0x6c, 0x6f,
0x63, 0x12, 0x18, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x70, 0x53, 0x79, 0x73, 0x18, 0x06, 0x20, 0x01,
0x28, 0x04, 0x52, 0x07, 0x68, 0x65, 0x61, 0x70, 0x53, 0x79, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x68,
0x65, 0x61, 0x70, 0x49, 0x64, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x68,
0x65, 0x61, 0x70, 0x49, 0x64, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x61, 0x70, 0x49,
0x6e, 0x75, 0x73, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x68, 0x65, 0x61, 0x70,
0x49, 0x6e, 0x75, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x70, 0x52, 0x65, 0x6c,
0x65, 0x61, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x68, 0x65, 0x61,
0x70, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x68, 0x65, 0x61,
0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b,
0x68, 0x65, 0x61, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x67,
0x63, 0x43, 0x50, 0x55, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01,
0x28, 0x01, 0x52, 0x0d, 0x67, 0x63, 0x43, 0x50, 0x55, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x22, 0x86, 0x01, 0x0a, 0x08, 0x48, 0x65, 0x61, 0x70, 0x44, 0x61, 0x74, 0x61, 0x12, 0x26,
0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e,
0x64, 0x65, 0x62, 0x75, 0x67, 0x2e, 0x48, 0x65, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52,
0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x64, 0x65, 0x62, 0x75, 0x67, 0x2e,
0x48, 0x65, 0x61, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x65,
0x63, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x05, 0x65, 0x64, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x64, 0x65, 0x62, 0x75, 0x67, 0x2e, 0x48, 0x65, 0x61, 0x70, 0x45,
0x64, 0x67, 0x65, 0x52, 0x05, 0x65, 0x64, 0x67, 0x65, 0x73, 0x22, 0x4c, 0x0a, 0x08, 0x48, 0x65,
0x61, 0x70, 0x45, 0x64, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x69,
0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66,
0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x61, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x70,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07,
0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x64, 0x65, 0x62, 0x75, 0x67, 0x2e, 0x48, 0x65, 0x61,
0x70, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x55, 0x0a, 0x11, 0x48,
0x65, 0x61, 0x70, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04,
0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12,
0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61,
0x74, 0x61, 0x22, 0x54, 0x0a, 0x10, 0x43, 0x70, 0x75, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73,
0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5f, 0x0a, 0x0b, 0x43, 0x70, 0x75, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65,
0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x64, 0x65, 0x62, 0x75, 0x67, 0x2e, 0x43, 0x70, 0x75, 0x44,
0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc5, 0x02, 0x0a, 0x07, 0x43, 0x70,
0x75, 0x44, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63,
0x70, 0x75, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x70, 0x75, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x73,
0x12, 0x30, 0x0a, 0x14, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x74,
0x65, 0x72, 0x76, 0x61, 0x6c, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12,
0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c,
0x4e, 0x73, 0x12, 0x34, 0x0a, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x64, 0x65, 0x62, 0x75, 0x67, 0x2e, 0x46, 0x75,
0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x09, 0x66,
0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x37, 0x0a, 0x0a, 0x67, 0x6f, 0x72, 0x6f,
0x75, 0x74, 0x69, 0x6e, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x64,
0x65, 0x62, 0x75, 0x67, 0x2e, 0x47, 0x6f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x50, 0x72,
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x0a, 0x67, 0x6f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65,
0x73, 0x12, 0x34, 0x0a, 0x0c, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x63, 0x61, 0x6c, 0x6c,
0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x64, 0x65, 0x62, 0x75, 0x67, 0x2e,
0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, 0x61, 0x6c, 0x6c, 0x52, 0x0b, 0x73, 0x79, 0x73, 0x74,
0x65, 0x6d, 0x43, 0x61, 0x6c, 0x6c, 0x73, 0x12, 0x38, 0x0a, 0x0d, 0x72, 0x75, 0x6e, 0x74, 0x69,
0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
0x2e, 0x64, 0x65, 0x62, 0x75, 0x67, 0x2e, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74,
0x61, 0x74, 0x73, 0x52, 0x0c, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x74,
0x73, 0x22, 0xbf, 0x01, 0x0a, 0x0f, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72,
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f,
0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x75,
0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x63, 0x70,
0x75, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
0x09, 0x63, 0x70, 0x75, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e,
0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03,
0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74,
0x61, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x53,
0x74, 0x61, 0x63, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x69, 0x6e, 0x6c, 0x69, 0x6e,
0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x49, 0x6e, 0x6c, 0x69,
0x6e, 0x65, 0x64, 0x22, 0x77, 0x0a, 0x10, 0x47, 0x6f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65,
0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a,
0x0b, 0x63, 0x70, 0x75, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01,
0x28, 0x04, 0x52, 0x09, 0x63, 0x70, 0x75, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x73, 0x12, 0x1d, 0x0a,
0x0a, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x03, 0x28,
0x09, 0x52, 0x09, 0x63, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x22, 0x56, 0x0a, 0x0a,
0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x43, 0x61, 0x6c, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e,
0x0a, 0x0b, 0x63, 0x70, 0x75, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x02, 0x20,
0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x70, 0x75, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x73, 0x12, 0x14,
0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63,
0x6f, 0x75, 0x6e, 0x74, 0x22, 0xa4, 0x01, 0x0a, 0x0c, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65,
0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x67, 0x63, 0x5f, 0x63, 0x70, 0x75, 0x5f,
0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d,
0x67, 0x63, 0x43, 0x70, 0x75, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a,
0x08, 0x67, 0x63, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
0x07, 0x67, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x10, 0x67, 0x63, 0x5f, 0x70,
0x61, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01,
0x28, 0x04, 0x52, 0x0d, 0x67, 0x63, 0x50, 0x61, 0x75, 0x73, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4e,
0x73, 0x12, 0x28, 0x0a, 0x10, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69,
0x6d, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x62, 0x6c, 0x6f,
0x63, 0x6b, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x73, 0x32, 0xe3, 0x02, 0x0a, 0x03,
0x61, 0x70, 0x69, 0x12, 0x4f, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70, 0x12, 0x16,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x13, 0x2e, 0x64, 0x65, 0x62, 0x75, 0x67, 0x2e, 0x48,
0x65, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x82, 0xd3, 0xe4,
0x93, 0x02, 0x11, 0x12, 0x0f, 0x2f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f,
0x68, 0x65, 0x61, 0x70, 0x12, 0x5f, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x70, 0x47,
0x72, 0x61, 0x70, 0x68, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x18, 0x2e, 0x64,
0x65, 0x62, 0x75, 0x67, 0x2e, 0x48, 0x65, 0x61, 0x70, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15,
0x2f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x68, 0x65, 0x61, 0x70, 0x2f,
0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x5c, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x43, 0x70, 0x75, 0x47,
0x72, 0x61, 0x70, 0x68, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x17, 0x2e, 0x64,
0x65, 0x62, 0x75, 0x67, 0x2e, 0x43, 0x70, 0x75, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f,
0x64, 0x65, 0x62, 0x75, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x70, 0x75, 0x2f, 0x67, 0x72,
0x61, 0x70, 0x68, 0x12, 0x4c, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x43, 0x70, 0x75, 0x12, 0x16, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x12, 0x2e, 0x64, 0x65, 0x62, 0x75, 0x67, 0x2e, 0x43, 0x70,
0x75, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02,
0x10, 0x12, 0x0e, 0x2f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x70,
0x75, 0x42, 0x1d, 0x5a, 0x1b, 0x6d, 0x37, 0x73, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x2f, 0x76, 0x35,
0x2f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x2f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x2f, 0x70, 0x62,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_debug_proto_rawDescOnce sync.Once
file_debug_proto_rawDescData = file_debug_proto_rawDesc
)
func file_debug_proto_rawDescGZIP() []byte {
file_debug_proto_rawDescOnce.Do(func() {
file_debug_proto_rawDescData = protoimpl.X.CompressGZIP(file_debug_proto_rawDescData)
})
return file_debug_proto_rawDescData
}
var file_debug_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
var file_debug_proto_goTypes = []any{
(*HeapObject)(nil), // 0: debug.HeapObject
(*HeapStats)(nil), // 1: debug.HeapStats
(*HeapData)(nil), // 2: debug.HeapData
(*HeapEdge)(nil), // 3: debug.HeapEdge
(*HeapResponse)(nil), // 4: debug.HeapResponse
(*HeapGraphResponse)(nil), // 5: debug.HeapGraphResponse
(*CpuGraphResponse)(nil), // 6: debug.CpuGraphResponse
(*CpuResponse)(nil), // 7: debug.CpuResponse
(*CpuData)(nil), // 8: debug.CpuData
(*FunctionProfile)(nil), // 9: debug.FunctionProfile
(*GoroutineProfile)(nil), // 10: debug.GoroutineProfile
(*SystemCall)(nil), // 11: debug.SystemCall
(*RuntimeStats)(nil), // 12: debug.RuntimeStats
(*emptypb.Empty)(nil), // 13: google.protobuf.Empty
}
var file_debug_proto_depIdxs = []int32{
1, // 0: debug.HeapData.stats:type_name -> debug.HeapStats
0, // 1: debug.HeapData.objects:type_name -> debug.HeapObject
3, // 2: debug.HeapData.edges:type_name -> debug.HeapEdge
2, // 3: debug.HeapResponse.data:type_name -> debug.HeapData
8, // 4: debug.CpuResponse.data:type_name -> debug.CpuData
9, // 5: debug.CpuData.functions:type_name -> debug.FunctionProfile
10, // 6: debug.CpuData.goroutines:type_name -> debug.GoroutineProfile
11, // 7: debug.CpuData.system_calls:type_name -> debug.SystemCall
12, // 8: debug.CpuData.runtime_stats:type_name -> debug.RuntimeStats
13, // 9: debug.api.GetHeap:input_type -> google.protobuf.Empty
13, // 10: debug.api.GetHeapGraph:input_type -> google.protobuf.Empty
13, // 11: debug.api.GetCpuGraph:input_type -> google.protobuf.Empty
13, // 12: debug.api.GetCpu:input_type -> google.protobuf.Empty
4, // 13: debug.api.GetHeap:output_type -> debug.HeapResponse
5, // 14: debug.api.GetHeapGraph:output_type -> debug.HeapGraphResponse
6, // 15: debug.api.GetCpuGraph:output_type -> debug.CpuGraphResponse
7, // 16: debug.api.GetCpu:output_type -> debug.CpuResponse
13, // [13:17] is the sub-list for method output_type
9, // [9:13] is the sub-list for method input_type
9, // [9:9] is the sub-list for extension type_name
9, // [9:9] is the sub-list for extension extendee
0, // [0:9] is the sub-list for field type_name
}
func init() { file_debug_proto_init() }
func file_debug_proto_init() {
if File_debug_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_debug_proto_rawDesc,
NumEnums: 0,
NumMessages: 13,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_debug_proto_goTypes,
DependencyIndexes: file_debug_proto_depIdxs,
MessageInfos: file_debug_proto_msgTypes,
}.Build()
File_debug_proto = out.File
file_debug_proto_rawDesc = nil
file_debug_proto_goTypes = nil
file_debug_proto_depIdxs = nil
}