This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-goapi.git


The following commit(s) were added to refs/heads/main by this push:
     new af3e2df  Sync protocol for Off CPU profiling (#40)
af3e2df is described below

commit af3e2df60bce8ed3c465618d1ba3c15594c3543a
Author: mrproliu <[email protected]>
AuthorDate: Wed May 18 14:39:10 2022 +0800

    Sync protocol for Off CPU profiling (#40)
---
 collect/ebpf/profiling/v3/Profile.pb.go | 245 +++++++++++++++++++++++---------
 dependencies.sh                         |   4 +-
 query/schema.go                         |  47 +++++-
 3 files changed, 224 insertions(+), 72 deletions(-)

diff --git a/collect/ebpf/profiling/v3/Profile.pb.go 
b/collect/ebpf/profiling/v3/Profile.pb.go
index b5056f4..65cb388 100644
--- a/collect/ebpf/profiling/v3/Profile.pb.go
+++ b/collect/ebpf/profiling/v3/Profile.pb.go
@@ -152,6 +152,7 @@ type EBPFProfilingData struct {
        //
        // Types that are assignable to Profiling:
        //      *EBPFProfilingData_OnCPU
+       //      *EBPFProfilingData_OffCPU
        Profiling isEBPFProfilingData_Profiling `protobuf_oneof:"profiling"`
 }
 
@@ -208,6 +209,13 @@ func (x *EBPFProfilingData) GetOnCPU() *EBPFOnCPUProfiling 
{
        return nil
 }
 
+func (x *EBPFProfilingData) GetOffCPU() *EBPFOffCPUProfiling {
+       if x, ok := x.GetProfiling().(*EBPFProfilingData_OffCPU); ok {
+               return x.OffCPU
+       }
+       return nil
+}
+
 type isEBPFProfilingData_Profiling interface {
        isEBPFProfilingData_Profiling()
 }
@@ -216,8 +224,14 @@ type EBPFProfilingData_OnCPU struct {
        OnCPU *EBPFOnCPUProfiling 
`protobuf:"bytes,2,opt,name=onCPU,proto3,oneof"`
 }
 
+type EBPFProfilingData_OffCPU struct {
+       OffCPU *EBPFOffCPUProfiling 
`protobuf:"bytes,3,opt,name=offCPU,proto3,oneof"`
+}
+
 func (*EBPFProfilingData_OnCPU) isEBPFProfilingData_Profiling() {}
 
+func (*EBPFProfilingData_OffCPU) isEBPFProfilingData_Profiling() {}
+
 type EBPFProfilingTaskMetadata struct {
        state         protoimpl.MessageState
        sizeCache     protoimpl.SizeCache
@@ -416,6 +430,72 @@ func (x *EBPFOnCPUProfiling) GetDumpCount() int32 {
        return 0
 }
 
+type EBPFOffCPUProfiling struct {
+       state         protoimpl.MessageState
+       sizeCache     protoimpl.SizeCache
+       unknownFields protoimpl.UnknownFields
+
+       // stack data in one task(thread)
+       Stacks []*EBPFProfilingStackMetadata 
`protobuf:"bytes,1,rep,name=stacks,proto3" json:"stacks,omitempty"`
+       // total count of the process is switched to off cpu by the scheduler.
+       SwitchCount int32 `protobuf:"varint,2,opt,name=switchCount,proto3" 
json:"switchCount,omitempty"`
+       // where time(nanoseconds) is spent waiting while blocked on I/O, 
locks, timers, paging/swapping, etc.
+       Duration int64 `protobuf:"varint,3,opt,name=duration,proto3" 
json:"duration,omitempty"`
+}
+
+func (x *EBPFOffCPUProfiling) Reset() {
+       *x = EBPFOffCPUProfiling{}
+       if protoimpl.UnsafeEnabled {
+               mi := &file_ebpf_profiling_Profile_proto_msgTypes[5]
+               ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+               ms.StoreMessageInfo(mi)
+       }
+}
+
+func (x *EBPFOffCPUProfiling) String() string {
+       return protoimpl.X.MessageStringOf(x)
+}
+
+func (*EBPFOffCPUProfiling) ProtoMessage() {}
+
+func (x *EBPFOffCPUProfiling) ProtoReflect() protoreflect.Message {
+       mi := &file_ebpf_profiling_Profile_proto_msgTypes[5]
+       if protoimpl.UnsafeEnabled && x != nil {
+               ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+               if ms.LoadMessageInfo() == nil {
+                       ms.StoreMessageInfo(mi)
+               }
+               return ms
+       }
+       return mi.MessageOf(x)
+}
+
+// Deprecated: Use EBPFOffCPUProfiling.ProtoReflect.Descriptor instead.
+func (*EBPFOffCPUProfiling) Descriptor() ([]byte, []int) {
+       return file_ebpf_profiling_Profile_proto_rawDescGZIP(), []int{5}
+}
+
+func (x *EBPFOffCPUProfiling) GetStacks() []*EBPFProfilingStackMetadata {
+       if x != nil {
+               return x.Stacks
+       }
+       return nil
+}
+
+func (x *EBPFOffCPUProfiling) GetSwitchCount() int32 {
+       if x != nil {
+               return x.SwitchCount
+       }
+       return 0
+}
+
+func (x *EBPFOffCPUProfiling) GetDuration() int64 {
+       if x != nil {
+               return x.Duration
+       }
+       return 0
+}
+
 var File_ebpf_profiling_Profile_proto protoreflect.FileDescriptor
 
 var file_ebpf_profiling_Profile_proto_rawDesc = []byte{
@@ -430,7 +510,7 @@ var file_ebpf_profiling_Profile_proto_rawDesc = []byte{
        0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x6c, 0x61, 
0x74, 0x65, 0x73, 0x74,
        0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 
0x20, 0x01, 0x28, 0x03,
        0x52, 0x10, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 
0x74, 0x65, 0x54, 0x69,
-       0x6d, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x11, 0x45, 0x42, 0x50, 0x46, 0x50, 
0x72, 0x6f, 0x66, 0x69,
+       0x6d, 0x65, 0x22, 0xd7, 0x01, 0x0a, 0x11, 0x45, 0x42, 0x50, 0x46, 0x50, 
0x72, 0x6f, 0x66, 0x69,
        0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x3c, 0x0a, 0x04, 
0x74, 0x61, 0x73, 0x6b,
        0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x6b, 0x79, 
0x77, 0x61, 0x6c, 0x6b,
        0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x50, 
0x72, 0x6f, 0x66, 0x69,
@@ -439,60 +519,73 @@ var file_ebpf_profiling_Profile_proto_rawDesc = []byte{
        0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x6b, 0x79, 0x77, 
0x61, 0x6c, 0x6b, 0x69,
        0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x4f, 0x6e, 
0x43, 0x50, 0x55, 0x50,
        0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x05, 
0x6f, 0x6e, 0x43, 0x50,
-       0x55, 0x42, 0x0b, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 
0x6e, 0x67, 0x22, 0xa3,
-       0x01, 0x0a, 0x19, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x66, 0x69, 
0x6c, 0x69, 0x6e, 0x67,
-       0x54, 0x61, 0x73, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 
0x12, 0x16, 0x0a, 0x06,
-       0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 
0x52, 0x06, 0x74, 0x61,
-       0x73, 0x6b, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 
0x65, 0x73, 0x73, 0x49,
-       0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 
0x63, 0x65, 0x73, 0x73,
-       0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 
0x69, 0x6e, 0x67, 0x53,
-       0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 
0x28, 0x03, 0x52, 0x12,
-       0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 
0x72, 0x74, 0x54, 0x69,
-       0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 
0x74, 0x54, 0x69, 0x6d,
-       0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x75, 0x72, 
0x72, 0x65, 0x6e, 0x74,
-       0x54, 0x69, 0x6d, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x1a, 0x45, 0x42, 0x50, 
0x46, 0x50, 0x72, 0x6f,
-       0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x4d, 
0x65, 0x74, 0x61, 0x64,
-       0x61, 0x74, 0x61, 0x12, 0x43, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x63, 0x6b, 
0x54, 0x79, 0x70, 0x65,
-       0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x73, 0x6b, 0x79, 
0x77, 0x61, 0x6c, 0x6b,
-       0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x50, 
0x72, 0x6f, 0x66, 0x69,
-       0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 
0x65, 0x52, 0x09, 0x73,
-       0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 
0x73, 0x74, 0x61, 0x63,
-       0x6b, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 
0x74, 0x61, 0x63, 0x6b,
-       0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x53, 
0x79, 0x6d, 0x62, 0x6f,
-       0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 
0x61, 0x63, 0x6b, 0x53,
-       0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x22, 0x75, 0x0a, 0x12, 0x45, 0x42, 
0x50, 0x46, 0x4f, 0x6e,
-       0x43, 0x50, 0x55, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 
0x12, 0x41, 0x0a, 0x06,
-       0x73, 0x74, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 
0x32, 0x29, 0x2e, 0x73,
-       0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 
0x2e, 0x45, 0x42, 0x50,
-       0x46, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 
0x61, 0x63, 0x6b, 0x4d,
-       0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x06, 0x73, 0x74, 0x61, 
0x63, 0x6b, 0x73, 0x12,
-       0x1c, 0x0a, 0x09, 0x64, 0x75, 0x6d, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 
0x18, 0x02, 0x20, 0x01,
-       0x28, 0x05, 0x52, 0x09, 0x64, 0x75, 0x6d, 0x70, 0x43, 0x6f, 0x75, 0x6e, 
0x74, 0x2a, 0x4a, 0x0a,
-       0x16, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 
0x6e, 0x67, 0x53, 0x74,
-       0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x50, 
0x52, 0x4f, 0x43, 0x45,
-       0x53, 0x53, 0x5f, 0x4b, 0x45, 0x52, 0x4e, 0x45, 0x4c, 0x5f, 0x53, 0x50, 
0x41, 0x43, 0x45, 0x10,
-       0x00, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 
0x5f, 0x55, 0x53, 0x45,
-       0x52, 0x5f, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10, 0x01, 0x32, 0xbd, 0x01, 
0x0a, 0x14, 0x45, 0x42,
-       0x50, 0x46, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x53, 
0x65, 0x72, 0x76, 0x69,
-       0x63, 0x65, 0x12, 0x4e, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 
0x61, 0x73, 0x6b, 0x73,
-       0x12, 0x25, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 
0x67, 0x2e, 0x76, 0x33,
-       0x2e, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 
0x6e, 0x67, 0x54, 0x61,
-       0x73, 0x6b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x1a, 0x17, 0x2e, 0x73, 0x6b, 
0x79, 0x77, 0x61, 0x6c,
-       0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 
0x61, 0x6e, 0x64, 0x73,
-       0x22, 0x00, 0x12, 0x55, 0x0a, 0x14, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 
0x74, 0x50, 0x72, 0x6f,
-       0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x20, 
0x2e, 0x73, 0x6b, 0x79,
+       0x55, 0x12, 0x3c, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x43, 0x50, 0x55, 0x18, 
0x03, 0x20, 0x01, 0x28,
+       0x0b, 0x32, 0x22, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 
0x6e, 0x67, 0x2e, 0x76,
+       0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x4f, 0x66, 0x66, 0x43, 0x50, 0x55, 
0x50, 0x72, 0x6f, 0x66,
+       0x69, 0x6c, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x06, 0x6f, 0x66, 0x66, 
0x43, 0x50, 0x55, 0x42,
+       0x0b, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 
0x22, 0xa3, 0x01, 0x0a,
+       0x19, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 
0x6e, 0x67, 0x54, 0x61,
+       0x73, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, 
0x0a, 0x06, 0x74, 0x61,
+       0x73, 0x6b, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 
0x74, 0x61, 0x73, 0x6b,
+       0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 
0x73, 0x49, 0x64, 0x18,
+       0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 
0x73, 0x73, 0x49, 0x64,
+       0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 
0x67, 0x53, 0x74, 0x61,
+       0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 
0x52, 0x12, 0x70, 0x72,
+       0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x72, 0x74, 
0x54, 0x69, 0x6d, 0x65,
+       0x12, 0x20, 0x0a, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 
0x69, 0x6d, 0x65, 0x18,
+       0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x75, 0x72, 0x72, 0x65, 
0x6e, 0x74, 0x54, 0x69,
+       0x6d, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x1a, 0x45, 0x42, 0x50, 0x46, 0x50, 
0x72, 0x6f, 0x66, 0x69,
+       0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x4d, 0x65, 0x74, 
0x61, 0x64, 0x61, 0x74,
+       0x61, 0x12, 0x43, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 
0x70, 0x65, 0x18, 0x01,
+       0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 
0x6c, 0x6b, 0x69, 0x6e,
+       0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 
0x66, 0x69, 0x6c, 0x69,
+       0x6e, 0x67, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 
0x09, 0x73, 0x74, 0x61,
+       0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 
0x61, 0x63, 0x6b, 0x49,
+       0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x74, 0x61, 
0x63, 0x6b, 0x49, 0x64,
+       0x12, 0x22, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x53, 0x79, 0x6d, 
0x62, 0x6f, 0x6c, 0x73,
+       0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x63, 
0x6b, 0x53, 0x79, 0x6d,
+       0x62, 0x6f, 0x6c, 0x73, 0x22, 0x75, 0x0a, 0x12, 0x45, 0x42, 0x50, 0x46, 
0x4f, 0x6e, 0x43, 0x50,
+       0x55, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x41, 
0x0a, 0x06, 0x73, 0x74,
+       0x61, 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 
0x2e, 0x73, 0x6b, 0x79,
        0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 
0x42, 0x50, 0x46, 0x50,
-       0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 
0x1a, 0x17, 0x2e, 0x73,
-       0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 
0x2e, 0x43, 0x6f, 0x6d,
-       0x6d, 0x61, 0x6e, 0x64, 0x73, 0x22, 0x00, 0x28, 0x01, 0x42, 0x73, 0x0a, 
0x33, 0x6f, 0x72, 0x67,
-       0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x73, 0x6b, 0x79, 0x77, 
0x61, 0x6c, 0x6b, 0x69,
-       0x6e, 0x67, 0x2e, 0x61, 0x70, 0x6d, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 
0x72, 0x6b, 0x2e, 0x65,
-       0x62, 0x70, 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 
0x67, 0x2e, 0x76, 0x33,
-       0x50, 0x01, 0x5a, 0x3a, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 
0x6e, 0x67, 0x2e, 0x61,
-       0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x72, 0x65, 
0x70, 0x6f, 0x2f, 0x67,
-       0x6f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 
0x2f, 0x65, 0x62, 0x70,
-       0x66, 0x2f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x2f, 
0x76, 0x33, 0x62, 0x06,
-       0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+       0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x63, 
0x6b, 0x4d, 0x65, 0x74,
+       0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x06, 0x73, 0x74, 0x61, 0x63, 0x6b, 
0x73, 0x12, 0x1c, 0x0a,
+       0x09, 0x64, 0x75, 0x6d, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 
0x20, 0x01, 0x28, 0x05,
+       0x52, 0x09, 0x64, 0x75, 0x6d, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 
0x96, 0x01, 0x0a, 0x13,
+       0x45, 0x42, 0x50, 0x46, 0x4f, 0x66, 0x66, 0x43, 0x50, 0x55, 0x50, 0x72, 
0x6f, 0x66, 0x69, 0x6c,
+       0x69, 0x6e, 0x67, 0x12, 0x41, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x63, 0x6b, 
0x73, 0x18, 0x01, 0x20,
+       0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 
0x6b, 0x69, 0x6e, 0x67,
+       0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x66, 
0x69, 0x6c, 0x69, 0x6e,
+       0x67, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 
0x74, 0x61, 0x52, 0x06,
+       0x73, 0x74, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x73, 0x77, 
0x69, 0x74, 0x63, 0x68,
+       0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 
0x0b, 0x73, 0x77, 0x69,
+       0x74, 0x63, 0x68, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 
0x64, 0x75, 0x72, 0x61,
+       0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 
0x64, 0x75, 0x72, 0x61,
+       0x74, 0x69, 0x6f, 0x6e, 0x2a, 0x4a, 0x0a, 0x16, 0x45, 0x42, 0x50, 0x46, 
0x50, 0x72, 0x6f, 0x66,
+       0x69, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x79, 
0x70, 0x65, 0x12, 0x18,
+       0x0a, 0x14, 0x50, 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x4b, 0x45, 
0x52, 0x4e, 0x45, 0x4c,
+       0x5f, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 
0x50, 0x52, 0x4f, 0x43,
+       0x45, 0x53, 0x53, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x53, 0x50, 0x41, 
0x43, 0x45, 0x10, 0x01,
+       0x32, 0xbd, 0x01, 0x0a, 0x14, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 
0x66, 0x69, 0x6c, 0x69,
+       0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4e, 0x0a, 
0x0a, 0x71, 0x75, 0x65,
+       0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x25, 0x2e, 0x73, 0x6b, 
0x79, 0x77, 0x61, 0x6c,
+       0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 
0x50, 0x72, 0x6f, 0x66,
+       0x69, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x51, 0x75, 0x65, 
0x72, 0x79, 0x1a, 0x17,
+       0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 
0x76, 0x33, 0x2e, 0x43,
+       0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x22, 0x00, 0x12, 0x55, 0x0a, 
0x14, 0x63, 0x6f, 0x6c,
+       0x6c, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x69, 0x6e, 
0x67, 0x44, 0x61, 0x74,
+       0x61, 0x12, 0x20, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 
0x6e, 0x67, 0x2e, 0x76,
+       0x33, 0x2e, 0x45, 0x42, 0x50, 0x46, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 
0x69, 0x6e, 0x67, 0x44,
+       0x61, 0x74, 0x61, 0x1a, 0x17, 0x2e, 0x73, 0x6b, 0x79, 0x77, 0x61, 0x6c, 
0x6b, 0x69, 0x6e, 0x67,
+       0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 
0x22, 0x00, 0x28, 0x01,
+       0x42, 0x73, 0x0a, 0x33, 0x6f, 0x72, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 
0x68, 0x65, 0x2e, 0x73,
+       0x6b, 0x79, 0x77, 0x61, 0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x70, 
0x6d, 0x2e, 0x6e, 0x65,
+       0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x65, 0x62, 0x70, 0x66, 0x2e, 0x70, 
0x72, 0x6f, 0x66, 0x69,
+       0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x50, 0x01, 0x5a, 0x3a, 0x73, 
0x6b, 0x79, 0x77, 0x61,
+       0x6c, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 
0x2e, 0x6f, 0x72, 0x67,
+       0x2f, 0x72, 0x65, 0x70, 0x6f, 0x2f, 0x67, 0x6f, 0x61, 0x70, 0x69, 0x2f, 
0x63, 0x6f, 0x6c, 0x6c,
+       0x65, 0x63, 0x74, 0x2f, 0x65, 0x62, 0x70, 0x66, 0x2f, 0x70, 0x72, 0x6f, 
0x66, 0x69, 0x6c, 0x69,
+       0x6e, 0x67, 0x2f, 0x76, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 
0x33,
 }
 
 var (
@@ -508,7 +601,7 @@ func file_ebpf_profiling_Profile_proto_rawDescGZIP() []byte 
{
 }
 
 var file_ebpf_profiling_Profile_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
-var file_ebpf_profiling_Profile_proto_msgTypes = make([]protoimpl.MessageInfo, 
5)
+var file_ebpf_profiling_Profile_proto_msgTypes = make([]protoimpl.MessageInfo, 
6)
 var file_ebpf_profiling_Profile_proto_goTypes = []interface{}{
        (EBPFProfilingStackType)(0),        // 0: 
skywalking.v3.EBPFProfilingStackType
        (*EBPFProfilingTaskQuery)(nil),     // 1: 
skywalking.v3.EBPFProfilingTaskQuery
@@ -516,22 +609,25 @@ var file_ebpf_profiling_Profile_proto_goTypes = 
[]interface{}{
        (*EBPFProfilingTaskMetadata)(nil),  // 3: 
skywalking.v3.EBPFProfilingTaskMetadata
        (*EBPFProfilingStackMetadata)(nil), // 4: 
skywalking.v3.EBPFProfilingStackMetadata
        (*EBPFOnCPUProfiling)(nil),         // 5: 
skywalking.v3.EBPFOnCPUProfiling
-       (*v3.Commands)(nil),                // 6: skywalking.v3.Commands
+       (*EBPFOffCPUProfiling)(nil),        // 6: 
skywalking.v3.EBPFOffCPUProfiling
+       (*v3.Commands)(nil),                // 7: skywalking.v3.Commands
 }
 var file_ebpf_profiling_Profile_proto_depIdxs = []int32{
        3, // 0: skywalking.v3.EBPFProfilingData.task:type_name -> 
skywalking.v3.EBPFProfilingTaskMetadata
        5, // 1: skywalking.v3.EBPFProfilingData.onCPU:type_name -> 
skywalking.v3.EBPFOnCPUProfiling
-       0, // 2: skywalking.v3.EBPFProfilingStackMetadata.stackType:type_name 
-> skywalking.v3.EBPFProfilingStackType
-       4, // 3: skywalking.v3.EBPFOnCPUProfiling.stacks:type_name -> 
skywalking.v3.EBPFProfilingStackMetadata
-       1, // 4: skywalking.v3.EBPFProfilingService.queryTasks:input_type -> 
skywalking.v3.EBPFProfilingTaskQuery
-       2, // 5: 
skywalking.v3.EBPFProfilingService.collectProfilingData:input_type -> 
skywalking.v3.EBPFProfilingData
-       6, // 6: skywalking.v3.EBPFProfilingService.queryTasks:output_type -> 
skywalking.v3.Commands
-       6, // 7: 
skywalking.v3.EBPFProfilingService.collectProfilingData:output_type -> 
skywalking.v3.Commands
-       6, // [6:8] is the sub-list for method output_type
-       4, // [4:6] is the sub-list for method input_type
-       4, // [4:4] is the sub-list for extension type_name
-       4, // [4:4] is the sub-list for extension extendee
-       0, // [0:4] is the sub-list for field type_name
+       6, // 2: skywalking.v3.EBPFProfilingData.offCPU:type_name -> 
skywalking.v3.EBPFOffCPUProfiling
+       0, // 3: skywalking.v3.EBPFProfilingStackMetadata.stackType:type_name 
-> skywalking.v3.EBPFProfilingStackType
+       4, // 4: skywalking.v3.EBPFOnCPUProfiling.stacks:type_name -> 
skywalking.v3.EBPFProfilingStackMetadata
+       4, // 5: skywalking.v3.EBPFOffCPUProfiling.stacks:type_name -> 
skywalking.v3.EBPFProfilingStackMetadata
+       1, // 6: skywalking.v3.EBPFProfilingService.queryTasks:input_type -> 
skywalking.v3.EBPFProfilingTaskQuery
+       2, // 7: 
skywalking.v3.EBPFProfilingService.collectProfilingData:input_type -> 
skywalking.v3.EBPFProfilingData
+       7, // 8: skywalking.v3.EBPFProfilingService.queryTasks:output_type -> 
skywalking.v3.Commands
+       7, // 9: 
skywalking.v3.EBPFProfilingService.collectProfilingData:output_type -> 
skywalking.v3.Commands
+       8, // [8:10] is the sub-list for method output_type
+       6, // [6:8] is the sub-list for method input_type
+       6, // [6:6] is the sub-list for extension type_name
+       6, // [6:6] is the sub-list for extension extendee
+       0, // [0:6] is the sub-list for field type_name
 }
 
 func init() { file_ebpf_profiling_Profile_proto_init() }
@@ -600,9 +696,22 @@ func file_ebpf_profiling_Profile_proto_init() {
                                return nil
                        }
                }
+               file_ebpf_profiling_Profile_proto_msgTypes[5].Exporter = func(v 
interface{}, i int) interface{} {
+                       switch v := v.(*EBPFOffCPUProfiling); i {
+                       case 0:
+                               return &v.state
+                       case 1:
+                               return &v.sizeCache
+                       case 2:
+                               return &v.unknownFields
+                       default:
+                               return nil
+                       }
+               }
        }
        file_ebpf_profiling_Profile_proto_msgTypes[1].OneofWrappers = 
[]interface{}{
                (*EBPFProfilingData_OnCPU)(nil),
+               (*EBPFProfilingData_OffCPU)(nil),
        }
        type x struct{}
        out := protoimpl.TypeBuilder{
@@ -610,7 +719,7 @@ func file_ebpf_profiling_Profile_proto_init() {
                        GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
                        RawDescriptor: 
file_ebpf_profiling_Profile_proto_rawDesc,
                        NumEnums:      1,
-                       NumMessages:   5,
+                       NumMessages:   6,
                        NumExtensions: 0,
                        NumServices:   1,
                },
diff --git a/dependencies.sh b/dependencies.sh
index 3fb23b9..48dc1c4 100644
--- a/dependencies.sh
+++ b/dependencies.sh
@@ -17,8 +17,8 @@
 # specific language governing permissions and limitations
 # under the License.
 
-export COLLECT_PROTOCOL_SHA=f1b62de294f7f46f3334900417ffb349f19a479c
-export QUERY_PROTOCOL_SHA=1c1975978bb34f319ade2bc66d011428bf78bc22
+export COLLECT_PROTOCOL_SHA=e89af18cc7be7dc04ec4a7c4ff75f0ae19fa929b
+export QUERY_PROTOCOL_SHA=022e63d476ebd2c24b05e4a1b8d816c0c5a4bca2
 export ENVOY_SERVICE_PROTOCOL_SHA=533b32f1b390a3a88ec2008d0561e07c926d879a
 export XDS_SERVICE_PROTOCOL_SHA=25de7278fc844d392d607214f36dbedf50f167ee
 export PROTOC_VALIDATE_SHA=v0.6.1
diff --git a/query/schema.go b/query/schema.go
index 767eaa0..528ebe2 100644
--- a/query/schema.go
+++ b/query/schema.go
@@ -708,6 +708,47 @@ func (e DetectPoint) MarshalGQL(w io.Writer) {
        fmt.Fprint(w, strconv.Quote(e.String()))
 }
 
+type EBPFProfilingAnalyzeAggregateType string
+
+const (
+       EBPFProfilingAnalyzeAggregateTypeDuration 
EBPFProfilingAnalyzeAggregateType = "DURATION"
+       EBPFProfilingAnalyzeAggregateTypeCount    
EBPFProfilingAnalyzeAggregateType = "COUNT"
+)
+
+var AllEBPFProfilingAnalyzeAggregateType = []EBPFProfilingAnalyzeAggregateType{
+       EBPFProfilingAnalyzeAggregateTypeDuration,
+       EBPFProfilingAnalyzeAggregateTypeCount,
+}
+
+func (e EBPFProfilingAnalyzeAggregateType) IsValid() bool {
+       switch e {
+       case EBPFProfilingAnalyzeAggregateTypeDuration, 
EBPFProfilingAnalyzeAggregateTypeCount:
+               return true
+       }
+       return false
+}
+
+func (e EBPFProfilingAnalyzeAggregateType) String() string {
+       return string(e)
+}
+
+func (e *EBPFProfilingAnalyzeAggregateType) UnmarshalGQL(v interface{}) error {
+       str, ok := v.(string)
+       if !ok {
+               return fmt.Errorf("enums must be strings")
+       }
+
+       *e = EBPFProfilingAnalyzeAggregateType(str)
+       if !e.IsValid() {
+               return fmt.Errorf("%s is not a valid 
EBPFProfilingAnalyzeAggregateType", str)
+       }
+       return nil
+}
+
+func (e EBPFProfilingAnalyzeAggregateType) MarshalGQL(w io.Writer) {
+       fmt.Fprint(w, strconv.Quote(e.String()))
+}
+
 type EBPFProfilingStackType string
 
 const (
@@ -752,16 +793,18 @@ func (e EBPFProfilingStackType) MarshalGQL(w io.Writer) {
 type EBPFProfilingTargetType string
 
 const (
-       EBPFProfilingTargetTypeOnCPU EBPFProfilingTargetType = "ON_CPU"
+       EBPFProfilingTargetTypeOnCPU  EBPFProfilingTargetType = "ON_CPU"
+       EBPFProfilingTargetTypeOffCPU EBPFProfilingTargetType = "OFF_CPU"
 )
 
 var AllEBPFProfilingTargetType = []EBPFProfilingTargetType{
        EBPFProfilingTargetTypeOnCPU,
+       EBPFProfilingTargetTypeOffCPU,
 }
 
 func (e EBPFProfilingTargetType) IsValid() bool {
        switch e {
-       case EBPFProfilingTargetTypeOnCPU:
+       case EBPFProfilingTargetTypeOnCPU, EBPFProfilingTargetTypeOffCPU:
                return true
        }
        return false

Reply via email to