diff --git a/api/v1/README.md b/api/v1/README.md index c92e8bb09ef..cbd810b2990 100644 --- a/api/v1/README.md +++ b/api/v1/README.md @@ -92,6 +92,8 @@ - [DisableSensorResponse](#tetragon-DisableSensorResponse) - [DisableTracingPolicyRequest](#tetragon-DisableTracingPolicyRequest) - [DisableTracingPolicyResponse](#tetragon-DisableTracingPolicyResponse) + - [DumpProcessCacheReqArgs](#tetragon-DumpProcessCacheReqArgs) + - [DumpProcessCacheResArgs](#tetragon-DumpProcessCacheResArgs) - [EnableSensorRequest](#tetragon-EnableSensorRequest) - [EnableSensorResponse](#tetragon-EnableSensorResponse) - [EnableTracingPolicyRequest](#tetragon-EnableTracingPolicyRequest) @@ -106,6 +108,8 @@ - [ListSensorsResponse](#tetragon-ListSensorsResponse) - [ListTracingPoliciesRequest](#tetragon-ListTracingPoliciesRequest) - [ListTracingPoliciesResponse](#tetragon-ListTracingPoliciesResponse) + - [ProcessInternal](#tetragon-ProcessInternal) + - [ProcessInternal.RefcntOpsEntry](#tetragon-ProcessInternal-RefcntOpsEntry) - [RemoveSensorRequest](#tetragon-RemoveSensorRequest) - [RemoveSensorResponse](#tetragon-RemoveSensorResponse) - [SensorStatus](#tetragon-SensorStatus) @@ -1637,6 +1641,36 @@ Determines the behavior of a field filter + + +### DumpProcessCacheReqArgs + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| skipZeroRefCnt | [bool](#bool) | | | + + + + + + + + +### DumpProcessCacheResArgs + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| processes | [ProcessInternal](#tetragon-ProcessInternal) | repeated | | + + + + + + ### EnableSensorRequest @@ -1697,6 +1731,7 @@ Determines the behavior of a field filter | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | flag | [ConfigFlag](#tetragon-ConfigFlag) | | | +| dump | [DumpProcessCacheReqArgs](#tetragon-DumpProcessCacheReqArgs) | | | @@ -1713,6 +1748,7 @@ Determines the behavior of a field filter | ----- | ---- | ----- | ----------- | | flag | [ConfigFlag](#tetragon-ConfigFlag) | | | | level | [LogLevel](#tetragon-LogLevel) | | | +| processes | [DumpProcessCacheResArgs](#tetragon-DumpProcessCacheResArgs) | | | @@ -1824,6 +1860,40 @@ Determines the behavior of a field filter + + +### ProcessInternal + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| process | [Process](#tetragon-Process) | | | +| color | [string](#string) | | | +| refcnt | [google.protobuf.UInt32Value](#google-protobuf-UInt32Value) | | | +| refcntOps | [ProcessInternal.RefcntOpsEntry](#tetragon-ProcessInternal-RefcntOpsEntry) | repeated | refcntOps is a map of operations to refcnt change keys can be: - "process++": process increased refcnt (i.e. this process starts) - "process--": process decreased refcnt (i.e. this process exits) - "parent++": parent increased refcnt (i.e. a process starts that has this process as a parent) - "parent--": parent decreased refcnt (i.e. a process exits that has this process as a parent) | + + + + + + + + +### ProcessInternal.RefcntOpsEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [string](#string) | | | +| value | [int32](#int32) | | | + + + + + + ### RemoveSensorRequest @@ -1931,6 +2001,7 @@ For now, we only want to support debug-related config flags to be configurable. | Name | Number | Description | | ---- | ------ | ----------- | | CONFIG_FLAG_LOG_LEVEL | 0 | | +| CONFIG_FLAG_DUMP_PROCESS_CACHE | 1 | | diff --git a/api/v1/tetragon/sensors.pb.go b/api/v1/tetragon/sensors.pb.go index b49ddf3623c..f56fa9bc719 100644 --- a/api/v1/tetragon/sensors.pb.go +++ b/api/v1/tetragon/sensors.pb.go @@ -12,6 +12,7 @@ package tetragon import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" reflect "reflect" sync "sync" ) @@ -95,16 +96,19 @@ func (TracingPolicyState) EnumDescriptor() ([]byte, []int) { type ConfigFlag int32 const ( - ConfigFlag_CONFIG_FLAG_LOG_LEVEL ConfigFlag = 0 + ConfigFlag_CONFIG_FLAG_LOG_LEVEL ConfigFlag = 0 + ConfigFlag_CONFIG_FLAG_DUMP_PROCESS_CACHE ConfigFlag = 1 ) // Enum value maps for ConfigFlag. var ( ConfigFlag_name = map[int32]string{ 0: "CONFIG_FLAG_LOG_LEVEL", + 1: "CONFIG_FLAG_DUMP_PROCESS_CACHE", } ConfigFlag_value = map[string]int32{ - "CONFIG_FLAG_LOG_LEVEL": 0, + "CONFIG_FLAG_LOG_LEVEL": 0, + "CONFIG_FLAG_DUMP_PROCESS_CACHE": 1, } ) @@ -1353,18 +1357,193 @@ func (x *GetVersionResponse) GetVersion() string { return "" } +type DumpProcessCacheReqArgs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SkipZeroRefCnt bool `protobuf:"varint,1,opt,name=skipZeroRefCnt,proto3" json:"skipZeroRefCnt,omitempty"` +} + +func (x *DumpProcessCacheReqArgs) Reset() { + *x = DumpProcessCacheReqArgs{} + if protoimpl.UnsafeEnabled { + mi := &file_tetragon_sensors_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DumpProcessCacheReqArgs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DumpProcessCacheReqArgs) ProtoMessage() {} + +func (x *DumpProcessCacheReqArgs) ProtoReflect() protoreflect.Message { + mi := &file_tetragon_sensors_proto_msgTypes[24] + 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 DumpProcessCacheReqArgs.ProtoReflect.Descriptor instead. +func (*DumpProcessCacheReqArgs) Descriptor() ([]byte, []int) { + return file_tetragon_sensors_proto_rawDescGZIP(), []int{24} +} + +func (x *DumpProcessCacheReqArgs) GetSkipZeroRefCnt() bool { + if x != nil { + return x.SkipZeroRefCnt + } + return false +} + +type ProcessInternal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Process *Process `protobuf:"bytes,1,opt,name=process,proto3" json:"process,omitempty"` + Color string `protobuf:"bytes,2,opt,name=color,proto3" json:"color,omitempty"` + Refcnt *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=refcnt,proto3" json:"refcnt,omitempty"` + // refcntOps is a map of operations to refcnt change + // keys can be: + // - "process++": process increased refcnt (i.e. this process starts) + // - "process--": process decreased refcnt (i.e. this process exits) + // - "parent++": parent increased refcnt (i.e. a process starts that has this process as a parent) + // - "parent--": parent decreased refcnt (i.e. a process exits that has this process as a parent) + RefcntOps map[string]int32 `protobuf:"bytes,4,rep,name=refcntOps,proto3" json:"refcntOps,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` +} + +func (x *ProcessInternal) Reset() { + *x = ProcessInternal{} + if protoimpl.UnsafeEnabled { + mi := &file_tetragon_sensors_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProcessInternal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProcessInternal) ProtoMessage() {} + +func (x *ProcessInternal) ProtoReflect() protoreflect.Message { + mi := &file_tetragon_sensors_proto_msgTypes[25] + 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 ProcessInternal.ProtoReflect.Descriptor instead. +func (*ProcessInternal) Descriptor() ([]byte, []int) { + return file_tetragon_sensors_proto_rawDescGZIP(), []int{25} +} + +func (x *ProcessInternal) GetProcess() *Process { + if x != nil { + return x.Process + } + return nil +} + +func (x *ProcessInternal) GetColor() string { + if x != nil { + return x.Color + } + return "" +} + +func (x *ProcessInternal) GetRefcnt() *wrapperspb.UInt32Value { + if x != nil { + return x.Refcnt + } + return nil +} + +func (x *ProcessInternal) GetRefcntOps() map[string]int32 { + if x != nil { + return x.RefcntOps + } + return nil +} + +type DumpProcessCacheResArgs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Processes []*ProcessInternal `protobuf:"bytes,1,rep,name=processes,proto3" json:"processes,omitempty"` +} + +func (x *DumpProcessCacheResArgs) Reset() { + *x = DumpProcessCacheResArgs{} + if protoimpl.UnsafeEnabled { + mi := &file_tetragon_sensors_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DumpProcessCacheResArgs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DumpProcessCacheResArgs) ProtoMessage() {} + +func (x *DumpProcessCacheResArgs) ProtoReflect() protoreflect.Message { + mi := &file_tetragon_sensors_proto_msgTypes[26] + 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 DumpProcessCacheResArgs.ProtoReflect.Descriptor instead. +func (*DumpProcessCacheResArgs) Descriptor() ([]byte, []int) { + return file_tetragon_sensors_proto_rawDescGZIP(), []int{26} +} + +func (x *DumpProcessCacheResArgs) GetProcesses() []*ProcessInternal { + if x != nil { + return x.Processes + } + return nil +} + type GetDebugRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Flag ConfigFlag `protobuf:"varint,1,opt,name=flag,proto3,enum=tetragon.ConfigFlag" json:"flag,omitempty"` + // Types that are assignable to Arg: + // + // *GetDebugRequest_Dump + Arg isGetDebugRequest_Arg `protobuf_oneof:"arg"` } func (x *GetDebugRequest) Reset() { *x = GetDebugRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[24] + mi := &file_tetragon_sensors_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1377,7 +1556,7 @@ func (x *GetDebugRequest) String() string { func (*GetDebugRequest) ProtoMessage() {} func (x *GetDebugRequest) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[24] + mi := &file_tetragon_sensors_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1390,7 +1569,7 @@ func (x *GetDebugRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDebugRequest.ProtoReflect.Descriptor instead. func (*GetDebugRequest) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{24} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{27} } func (x *GetDebugRequest) GetFlag() ConfigFlag { @@ -1400,6 +1579,30 @@ func (x *GetDebugRequest) GetFlag() ConfigFlag { return ConfigFlag_CONFIG_FLAG_LOG_LEVEL } +func (m *GetDebugRequest) GetArg() isGetDebugRequest_Arg { + if m != nil { + return m.Arg + } + return nil +} + +func (x *GetDebugRequest) GetDump() *DumpProcessCacheReqArgs { + if x, ok := x.GetArg().(*GetDebugRequest_Dump); ok { + return x.Dump + } + return nil +} + +type isGetDebugRequest_Arg interface { + isGetDebugRequest_Arg() +} + +type GetDebugRequest_Dump struct { + Dump *DumpProcessCacheReqArgs `protobuf:"bytes,2,opt,name=dump,proto3,oneof"` +} + +func (*GetDebugRequest_Dump) isGetDebugRequest_Arg() {} + type GetDebugResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1409,13 +1612,14 @@ type GetDebugResponse struct { // Types that are assignable to Arg: // // *GetDebugResponse_Level + // *GetDebugResponse_Processes Arg isGetDebugResponse_Arg `protobuf_oneof:"arg"` } func (x *GetDebugResponse) Reset() { *x = GetDebugResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[25] + mi := &file_tetragon_sensors_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1428,7 +1632,7 @@ func (x *GetDebugResponse) String() string { func (*GetDebugResponse) ProtoMessage() {} func (x *GetDebugResponse) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[25] + mi := &file_tetragon_sensors_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1441,7 +1645,7 @@ func (x *GetDebugResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDebugResponse.ProtoReflect.Descriptor instead. func (*GetDebugResponse) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{25} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{28} } func (x *GetDebugResponse) GetFlag() ConfigFlag { @@ -1465,6 +1669,13 @@ func (x *GetDebugResponse) GetLevel() LogLevel { return LogLevel_LOG_LEVEL_PANIC } +func (x *GetDebugResponse) GetProcesses() *DumpProcessCacheResArgs { + if x, ok := x.GetArg().(*GetDebugResponse_Processes); ok { + return x.Processes + } + return nil +} + type isGetDebugResponse_Arg interface { isGetDebugResponse_Arg() } @@ -1473,8 +1684,14 @@ type GetDebugResponse_Level struct { Level LogLevel `protobuf:"varint,2,opt,name=level,proto3,enum=tetragon.LogLevel,oneof"` } +type GetDebugResponse_Processes struct { + Processes *DumpProcessCacheResArgs `protobuf:"bytes,3,opt,name=processes,proto3,oneof"` +} + func (*GetDebugResponse_Level) isGetDebugResponse_Arg() {} +func (*GetDebugResponse_Processes) isGetDebugResponse_Arg() {} + type SetDebugRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1490,7 +1707,7 @@ type SetDebugRequest struct { func (x *SetDebugRequest) Reset() { *x = SetDebugRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[26] + mi := &file_tetragon_sensors_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1503,7 +1720,7 @@ func (x *SetDebugRequest) String() string { func (*SetDebugRequest) ProtoMessage() {} func (x *SetDebugRequest) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[26] + mi := &file_tetragon_sensors_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1516,7 +1733,7 @@ func (x *SetDebugRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetDebugRequest.ProtoReflect.Descriptor instead. func (*SetDebugRequest) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{26} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{29} } func (x *SetDebugRequest) GetFlag() ConfigFlag { @@ -1565,7 +1782,7 @@ type SetDebugResponse struct { func (x *SetDebugResponse) Reset() { *x = SetDebugResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[27] + mi := &file_tetragon_sensors_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1578,7 +1795,7 @@ func (x *SetDebugResponse) String() string { func (*SetDebugResponse) ProtoMessage() {} func (x *SetDebugResponse) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[27] + mi := &file_tetragon_sensors_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1591,7 +1808,7 @@ func (x *SetDebugResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetDebugResponse.ProtoReflect.Descriptor instead. func (*SetDebugResponse) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{27} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{30} } func (x *SetDebugResponse) GetFlag() ConfigFlag { @@ -1630,7 +1847,9 @@ var File_tetragon_sensors_proto protoreflect.FileDescriptor var file_tetragon_sensors_proto_rawDesc = []byte{ 0x0a, 0x16, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2f, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, - 0x6f, 0x6e, 0x1a, 0x17, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2f, 0x74, 0x65, 0x74, + 0x6f, 0x6e, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x17, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2f, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2f, 0x65, 0x76, 0x65, 0x6e, @@ -1721,144 +1940,181 @@ var file_tetragon_sensors_proto_rawDesc = []byte{ 0x2e, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, - 0x3b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x14, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x22, 0x6f, 0x0a, 0x10, - 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, - 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, 0x72, - 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, - 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0x6e, 0x0a, - 0x0f, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, - 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, 0x72, - 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, - 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0x6f, 0x0a, - 0x10, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x14, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, - 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, - 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, - 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x2a, 0xb2, - 0x01, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, - 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, - 0x01, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x49, - 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x50, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x54, - 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, - 0x47, 0x10, 0x06, 0x2a, 0x27, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6c, 0x61, - 0x67, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x46, 0x4c, 0x41, 0x47, - 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0x00, 0x2a, 0x9b, 0x01, 0x0a, - 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, - 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x50, 0x41, 0x4e, 0x49, 0x43, 0x10, 0x00, 0x12, 0x13, - 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x46, 0x41, 0x54, 0x41, - 0x4c, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, - 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x5f, - 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, - 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x04, - 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x44, 0x45, - 0x42, 0x55, 0x47, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, - 0x45, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x06, 0x32, 0xfe, 0x0a, 0x0a, 0x13, 0x46, - 0x69, 0x6e, 0x65, 0x47, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, - 0x72, 0x73, 0x12, 0x48, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x74, 0x65, - 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x52, 0x0a, 0x09, - 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x20, 0x2e, 0x74, 0x65, 0x74, 0x72, - 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x74, 0x65, + 0x41, 0x0a, 0x17, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x41, 0x72, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x6b, + 0x69, 0x70, 0x5a, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x66, 0x43, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x5a, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x66, 0x43, + 0x6e, 0x74, 0x22, 0x90, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x2b, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, + 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65, 0x66, + 0x63, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x12, + 0x46, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x50, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x52, 0x65, + 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x72, 0x65, + 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x1a, 0x3c, 0x0a, 0x0e, 0x52, 0x65, 0x66, 0x63, 0x6e, + 0x74, 0x4f, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x52, 0x0a, 0x17, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x73, 0x41, 0x72, 0x67, 0x73, + 0x12, 0x37, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x50, + 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x09, + 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x7b, 0x0a, 0x0f, 0x47, 0x65, 0x74, + 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, + 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x74, + 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, + 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x37, 0x0a, 0x04, 0x64, 0x75, 0x6d, 0x70, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, + 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, + 0x52, 0x65, 0x71, 0x41, 0x72, 0x67, 0x73, 0x48, 0x00, 0x52, 0x04, 0x64, 0x75, 0x6d, 0x70, 0x42, + 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0xb2, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x66, + 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x74, 0x72, + 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, + 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, + 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x12, 0x41, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, + 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, + 0x52, 0x65, 0x73, 0x41, 0x72, 0x67, 0x73, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, + 0x73, 0x73, 0x65, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0x6e, 0x0a, 0x0f, 0x53, + 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, + 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, + 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6c, + 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, + 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c, + 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0x6f, 0x0a, 0x10, 0x53, + 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, + 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, + 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, + 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x05, + 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x2a, 0xb2, 0x01, 0x0a, + 0x12, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, + 0x15, 0x0a, 0x11, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x41, + 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, + 0x12, 0x0a, 0x0e, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x50, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, + 0x06, 0x2a, 0x4b, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x12, + 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4c, + 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x4f, + 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x55, 0x4d, 0x50, 0x5f, 0x50, + 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x10, 0x01, 0x2a, 0x9b, + 0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x13, 0x0a, 0x0f, 0x4c, + 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x50, 0x41, 0x4e, 0x49, 0x43, 0x10, 0x00, + 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x46, 0x41, + 0x54, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, + 0x45, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, + 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x10, 0x03, 0x12, 0x12, + 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x49, 0x4e, 0x46, 0x4f, + 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, + 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, + 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x06, 0x32, 0xfe, 0x0a, 0x0a, + 0x13, 0x46, 0x69, 0x6e, 0x65, 0x47, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x73, 0x12, 0x48, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, + 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x52, + 0x0a, 0x09, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x20, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x5b, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, - 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, - 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, - 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, - 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, - 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x69, - 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, - 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, - 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x13, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, - 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, + 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, + 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x74, 0x65, 0x74, 0x72, + 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x67, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, - 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, - 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, - 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, - 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, - 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x12, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, + 0x64, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, + 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, + 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, + 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x74, + 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, + 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x13, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, + 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, + 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x67, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, + 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, + 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, + 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x26, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0b, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x12, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, + 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x52, 0x0a, 0x0c, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, - 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, - 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x55, 0x0a, - 0x0d, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1e, - 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, - 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x03, 0x88, 0x02, 0x01, 0x12, 0x52, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, - 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x5e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, - 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x12, 0x22, 0x2e, - 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, - 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x23, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, - 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, - 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, - 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, - 0x6f, 0x6b, 0x12, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x52, 0x75, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x74, - 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x43, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, 0x19, 0x2e, - 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, - 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, - 0x75, 0x67, 0x12, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x53, 0x65, - 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, - 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, - 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x52, 0x0a, 0x0c, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x2e, 0x74, 0x65, + 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x74, + 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, + 0x55, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x12, 0x1e, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1f, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x52, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, + 0x6e, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x5e, 0x0a, 0x11, 0x47, 0x65, + 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x12, + 0x22, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, + 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, + 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0a, 0x47, 0x65, + 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, + 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, + 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, + 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x52, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, + 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x74, 0x65, 0x74, + 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x44, + 0x65, 0x62, 0x75, 0x67, 0x12, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, + 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1874,7 +2130,7 @@ func file_tetragon_sensors_proto_rawDescGZIP() []byte { } var file_tetragon_sensors_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_tetragon_sensors_proto_msgTypes = make([]protoimpl.MessageInfo, 28) +var file_tetragon_sensors_proto_msgTypes = make([]protoimpl.MessageInfo, 32) var file_tetragon_sensors_proto_goTypes = []interface{}{ (TracingPolicyState)(0), // 0: tetragon.TracingPolicyState (ConfigFlag)(0), // 1: tetragon.ConfigFlag @@ -1903,67 +2159,79 @@ var file_tetragon_sensors_proto_goTypes = []interface{}{ (*GetStackTraceTreeResponse)(nil), // 24: tetragon.GetStackTraceTreeResponse (*GetVersionRequest)(nil), // 25: tetragon.GetVersionRequest (*GetVersionResponse)(nil), // 26: tetragon.GetVersionResponse - (*GetDebugRequest)(nil), // 27: tetragon.GetDebugRequest - (*GetDebugResponse)(nil), // 28: tetragon.GetDebugResponse - (*SetDebugRequest)(nil), // 29: tetragon.SetDebugRequest - (*SetDebugResponse)(nil), // 30: tetragon.SetDebugResponse - (*StackTraceNode)(nil), // 31: tetragon.StackTraceNode - (*GetEventsRequest)(nil), // 32: tetragon.GetEventsRequest - (*GetHealthStatusRequest)(nil), // 33: tetragon.GetHealthStatusRequest - (*RuntimeHookRequest)(nil), // 34: tetragon.RuntimeHookRequest - (*GetEventsResponse)(nil), // 35: tetragon.GetEventsResponse - (*GetHealthStatusResponse)(nil), // 36: tetragon.GetHealthStatusResponse - (*RuntimeHookResponse)(nil), // 37: tetragon.RuntimeHookResponse + (*DumpProcessCacheReqArgs)(nil), // 27: tetragon.DumpProcessCacheReqArgs + (*ProcessInternal)(nil), // 28: tetragon.ProcessInternal + (*DumpProcessCacheResArgs)(nil), // 29: tetragon.DumpProcessCacheResArgs + (*GetDebugRequest)(nil), // 30: tetragon.GetDebugRequest + (*GetDebugResponse)(nil), // 31: tetragon.GetDebugResponse + (*SetDebugRequest)(nil), // 32: tetragon.SetDebugRequest + (*SetDebugResponse)(nil), // 33: tetragon.SetDebugResponse + nil, // 34: tetragon.ProcessInternal.RefcntOpsEntry + (*StackTraceNode)(nil), // 35: tetragon.StackTraceNode + (*Process)(nil), // 36: tetragon.Process + (*wrapperspb.UInt32Value)(nil), // 37: google.protobuf.UInt32Value + (*GetEventsRequest)(nil), // 38: tetragon.GetEventsRequest + (*GetHealthStatusRequest)(nil), // 39: tetragon.GetHealthStatusRequest + (*RuntimeHookRequest)(nil), // 40: tetragon.RuntimeHookRequest + (*GetEventsResponse)(nil), // 41: tetragon.GetEventsResponse + (*GetHealthStatusResponse)(nil), // 42: tetragon.GetHealthStatusResponse + (*RuntimeHookResponse)(nil), // 43: tetragon.RuntimeHookResponse } var file_tetragon_sensors_proto_depIdxs = []int32{ 4, // 0: tetragon.ListSensorsResponse.sensors:type_name -> tetragon.SensorStatus 0, // 1: tetragon.TracingPolicyStatus.state:type_name -> tetragon.TracingPolicyState 7, // 2: tetragon.ListTracingPoliciesResponse.policies:type_name -> tetragon.TracingPolicyStatus - 31, // 3: tetragon.GetStackTraceTreeResponse.root:type_name -> tetragon.StackTraceNode - 1, // 4: tetragon.GetDebugRequest.flag:type_name -> tetragon.ConfigFlag - 1, // 5: tetragon.GetDebugResponse.flag:type_name -> tetragon.ConfigFlag - 2, // 6: tetragon.GetDebugResponse.level:type_name -> tetragon.LogLevel - 1, // 7: tetragon.SetDebugRequest.flag:type_name -> tetragon.ConfigFlag - 2, // 8: tetragon.SetDebugRequest.level:type_name -> tetragon.LogLevel - 1, // 9: tetragon.SetDebugResponse.flag:type_name -> tetragon.ConfigFlag - 2, // 10: tetragon.SetDebugResponse.level:type_name -> tetragon.LogLevel - 32, // 11: tetragon.FineGuidanceSensors.GetEvents:input_type -> tetragon.GetEventsRequest - 33, // 12: tetragon.FineGuidanceSensors.GetHealth:input_type -> tetragon.GetHealthStatusRequest - 9, // 13: tetragon.FineGuidanceSensors.AddTracingPolicy:input_type -> tetragon.AddTracingPolicyRequest - 11, // 14: tetragon.FineGuidanceSensors.DeleteTracingPolicy:input_type -> tetragon.DeleteTracingPolicyRequest - 6, // 15: tetragon.FineGuidanceSensors.ListTracingPolicies:input_type -> tetragon.ListTracingPoliciesRequest - 13, // 16: tetragon.FineGuidanceSensors.EnableTracingPolicy:input_type -> tetragon.EnableTracingPolicyRequest - 15, // 17: tetragon.FineGuidanceSensors.DisableTracingPolicy:input_type -> tetragon.DisableTracingPolicyRequest - 3, // 18: tetragon.FineGuidanceSensors.ListSensors:input_type -> tetragon.ListSensorsRequest - 19, // 19: tetragon.FineGuidanceSensors.EnableSensor:input_type -> tetragon.EnableSensorRequest - 21, // 20: tetragon.FineGuidanceSensors.DisableSensor:input_type -> tetragon.DisableSensorRequest - 17, // 21: tetragon.FineGuidanceSensors.RemoveSensor:input_type -> tetragon.RemoveSensorRequest - 23, // 22: tetragon.FineGuidanceSensors.GetStackTraceTree:input_type -> tetragon.GetStackTraceTreeRequest - 25, // 23: tetragon.FineGuidanceSensors.GetVersion:input_type -> tetragon.GetVersionRequest - 34, // 24: tetragon.FineGuidanceSensors.RuntimeHook:input_type -> tetragon.RuntimeHookRequest - 27, // 25: tetragon.FineGuidanceSensors.GetDebug:input_type -> tetragon.GetDebugRequest - 29, // 26: tetragon.FineGuidanceSensors.SetDebug:input_type -> tetragon.SetDebugRequest - 35, // 27: tetragon.FineGuidanceSensors.GetEvents:output_type -> tetragon.GetEventsResponse - 36, // 28: tetragon.FineGuidanceSensors.GetHealth:output_type -> tetragon.GetHealthStatusResponse - 10, // 29: tetragon.FineGuidanceSensors.AddTracingPolicy:output_type -> tetragon.AddTracingPolicyResponse - 12, // 30: tetragon.FineGuidanceSensors.DeleteTracingPolicy:output_type -> tetragon.DeleteTracingPolicyResponse - 8, // 31: tetragon.FineGuidanceSensors.ListTracingPolicies:output_type -> tetragon.ListTracingPoliciesResponse - 14, // 32: tetragon.FineGuidanceSensors.EnableTracingPolicy:output_type -> tetragon.EnableTracingPolicyResponse - 16, // 33: tetragon.FineGuidanceSensors.DisableTracingPolicy:output_type -> tetragon.DisableTracingPolicyResponse - 5, // 34: tetragon.FineGuidanceSensors.ListSensors:output_type -> tetragon.ListSensorsResponse - 20, // 35: tetragon.FineGuidanceSensors.EnableSensor:output_type -> tetragon.EnableSensorResponse - 22, // 36: tetragon.FineGuidanceSensors.DisableSensor:output_type -> tetragon.DisableSensorResponse - 18, // 37: tetragon.FineGuidanceSensors.RemoveSensor:output_type -> tetragon.RemoveSensorResponse - 24, // 38: tetragon.FineGuidanceSensors.GetStackTraceTree:output_type -> tetragon.GetStackTraceTreeResponse - 26, // 39: tetragon.FineGuidanceSensors.GetVersion:output_type -> tetragon.GetVersionResponse - 37, // 40: tetragon.FineGuidanceSensors.RuntimeHook:output_type -> tetragon.RuntimeHookResponse - 28, // 41: tetragon.FineGuidanceSensors.GetDebug:output_type -> tetragon.GetDebugResponse - 30, // 42: tetragon.FineGuidanceSensors.SetDebug:output_type -> tetragon.SetDebugResponse - 27, // [27:43] is the sub-list for method output_type - 11, // [11:27] is the sub-list for method input_type - 11, // [11:11] is the sub-list for extension type_name - 11, // [11:11] is the sub-list for extension extendee - 0, // [0:11] is the sub-list for field type_name + 35, // 3: tetragon.GetStackTraceTreeResponse.root:type_name -> tetragon.StackTraceNode + 36, // 4: tetragon.ProcessInternal.process:type_name -> tetragon.Process + 37, // 5: tetragon.ProcessInternal.refcnt:type_name -> google.protobuf.UInt32Value + 34, // 6: tetragon.ProcessInternal.refcntOps:type_name -> tetragon.ProcessInternal.RefcntOpsEntry + 28, // 7: tetragon.DumpProcessCacheResArgs.processes:type_name -> tetragon.ProcessInternal + 1, // 8: tetragon.GetDebugRequest.flag:type_name -> tetragon.ConfigFlag + 27, // 9: tetragon.GetDebugRequest.dump:type_name -> tetragon.DumpProcessCacheReqArgs + 1, // 10: tetragon.GetDebugResponse.flag:type_name -> tetragon.ConfigFlag + 2, // 11: tetragon.GetDebugResponse.level:type_name -> tetragon.LogLevel + 29, // 12: tetragon.GetDebugResponse.processes:type_name -> tetragon.DumpProcessCacheResArgs + 1, // 13: tetragon.SetDebugRequest.flag:type_name -> tetragon.ConfigFlag + 2, // 14: tetragon.SetDebugRequest.level:type_name -> tetragon.LogLevel + 1, // 15: tetragon.SetDebugResponse.flag:type_name -> tetragon.ConfigFlag + 2, // 16: tetragon.SetDebugResponse.level:type_name -> tetragon.LogLevel + 38, // 17: tetragon.FineGuidanceSensors.GetEvents:input_type -> tetragon.GetEventsRequest + 39, // 18: tetragon.FineGuidanceSensors.GetHealth:input_type -> tetragon.GetHealthStatusRequest + 9, // 19: tetragon.FineGuidanceSensors.AddTracingPolicy:input_type -> tetragon.AddTracingPolicyRequest + 11, // 20: tetragon.FineGuidanceSensors.DeleteTracingPolicy:input_type -> tetragon.DeleteTracingPolicyRequest + 6, // 21: tetragon.FineGuidanceSensors.ListTracingPolicies:input_type -> tetragon.ListTracingPoliciesRequest + 13, // 22: tetragon.FineGuidanceSensors.EnableTracingPolicy:input_type -> tetragon.EnableTracingPolicyRequest + 15, // 23: tetragon.FineGuidanceSensors.DisableTracingPolicy:input_type -> tetragon.DisableTracingPolicyRequest + 3, // 24: tetragon.FineGuidanceSensors.ListSensors:input_type -> tetragon.ListSensorsRequest + 19, // 25: tetragon.FineGuidanceSensors.EnableSensor:input_type -> tetragon.EnableSensorRequest + 21, // 26: tetragon.FineGuidanceSensors.DisableSensor:input_type -> tetragon.DisableSensorRequest + 17, // 27: tetragon.FineGuidanceSensors.RemoveSensor:input_type -> tetragon.RemoveSensorRequest + 23, // 28: tetragon.FineGuidanceSensors.GetStackTraceTree:input_type -> tetragon.GetStackTraceTreeRequest + 25, // 29: tetragon.FineGuidanceSensors.GetVersion:input_type -> tetragon.GetVersionRequest + 40, // 30: tetragon.FineGuidanceSensors.RuntimeHook:input_type -> tetragon.RuntimeHookRequest + 30, // 31: tetragon.FineGuidanceSensors.GetDebug:input_type -> tetragon.GetDebugRequest + 32, // 32: tetragon.FineGuidanceSensors.SetDebug:input_type -> tetragon.SetDebugRequest + 41, // 33: tetragon.FineGuidanceSensors.GetEvents:output_type -> tetragon.GetEventsResponse + 42, // 34: tetragon.FineGuidanceSensors.GetHealth:output_type -> tetragon.GetHealthStatusResponse + 10, // 35: tetragon.FineGuidanceSensors.AddTracingPolicy:output_type -> tetragon.AddTracingPolicyResponse + 12, // 36: tetragon.FineGuidanceSensors.DeleteTracingPolicy:output_type -> tetragon.DeleteTracingPolicyResponse + 8, // 37: tetragon.FineGuidanceSensors.ListTracingPolicies:output_type -> tetragon.ListTracingPoliciesResponse + 14, // 38: tetragon.FineGuidanceSensors.EnableTracingPolicy:output_type -> tetragon.EnableTracingPolicyResponse + 16, // 39: tetragon.FineGuidanceSensors.DisableTracingPolicy:output_type -> tetragon.DisableTracingPolicyResponse + 5, // 40: tetragon.FineGuidanceSensors.ListSensors:output_type -> tetragon.ListSensorsResponse + 20, // 41: tetragon.FineGuidanceSensors.EnableSensor:output_type -> tetragon.EnableSensorResponse + 22, // 42: tetragon.FineGuidanceSensors.DisableSensor:output_type -> tetragon.DisableSensorResponse + 18, // 43: tetragon.FineGuidanceSensors.RemoveSensor:output_type -> tetragon.RemoveSensorResponse + 24, // 44: tetragon.FineGuidanceSensors.GetStackTraceTree:output_type -> tetragon.GetStackTraceTreeResponse + 26, // 45: tetragon.FineGuidanceSensors.GetVersion:output_type -> tetragon.GetVersionResponse + 43, // 46: tetragon.FineGuidanceSensors.RuntimeHook:output_type -> tetragon.RuntimeHookResponse + 31, // 47: tetragon.FineGuidanceSensors.GetDebug:output_type -> tetragon.GetDebugResponse + 33, // 48: tetragon.FineGuidanceSensors.SetDebug:output_type -> tetragon.SetDebugResponse + 33, // [33:49] is the sub-list for method output_type + 17, // [17:33] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name } func init() { file_tetragon_sensors_proto_init() } @@ -2264,7 +2532,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDebugRequest); i { + switch v := v.(*DumpProcessCacheReqArgs); i { case 0: return &v.state case 1: @@ -2276,7 +2544,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDebugResponse); i { + switch v := v.(*ProcessInternal); i { case 0: return &v.state case 1: @@ -2288,7 +2556,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetDebugRequest); i { + switch v := v.(*DumpProcessCacheResArgs); i { case 0: return &v.state case 1: @@ -2300,6 +2568,42 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDebugRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tetragon_sensors_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDebugResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tetragon_sensors_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetDebugRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tetragon_sensors_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetDebugResponse); i { case 0: return &v.state @@ -2312,13 +2616,17 @@ func file_tetragon_sensors_proto_init() { } } } - file_tetragon_sensors_proto_msgTypes[25].OneofWrappers = []interface{}{ + file_tetragon_sensors_proto_msgTypes[27].OneofWrappers = []interface{}{ + (*GetDebugRequest_Dump)(nil), + } + file_tetragon_sensors_proto_msgTypes[28].OneofWrappers = []interface{}{ (*GetDebugResponse_Level)(nil), + (*GetDebugResponse_Processes)(nil), } - file_tetragon_sensors_proto_msgTypes[26].OneofWrappers = []interface{}{ + file_tetragon_sensors_proto_msgTypes[29].OneofWrappers = []interface{}{ (*SetDebugRequest_Level)(nil), } - file_tetragon_sensors_proto_msgTypes[27].OneofWrappers = []interface{}{ + file_tetragon_sensors_proto_msgTypes[30].OneofWrappers = []interface{}{ (*SetDebugResponse_Level)(nil), } type x struct{} @@ -2327,7 +2635,7 @@ func file_tetragon_sensors_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_tetragon_sensors_proto_rawDesc, NumEnums: 3, - NumMessages: 28, + NumMessages: 32, NumExtensions: 0, NumServices: 1, }, diff --git a/api/v1/tetragon/sensors.pb.json.go b/api/v1/tetragon/sensors.pb.json.go index a9d01c00e30..30babc0f87b 100644 --- a/api/v1/tetragon/sensors.pb.json.go +++ b/api/v1/tetragon/sensors.pb.json.go @@ -391,6 +391,54 @@ func (msg *GetVersionResponse) UnmarshalJSON(b []byte) error { }.Unmarshal(b, msg) } +// MarshalJSON implements json.Marshaler +func (msg *DumpProcessCacheReqArgs) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{ + UseEnumNumbers: false, + EmitUnpopulated: false, + UseProtoNames: true, + }.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *DumpProcessCacheReqArgs) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{ + DiscardUnknown: false, + }.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *ProcessInternal) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{ + UseEnumNumbers: false, + EmitUnpopulated: false, + UseProtoNames: true, + }.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *ProcessInternal) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{ + DiscardUnknown: false, + }.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *DumpProcessCacheResArgs) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{ + UseEnumNumbers: false, + EmitUnpopulated: false, + UseProtoNames: true, + }.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *DumpProcessCacheResArgs) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{ + DiscardUnknown: false, + }.Unmarshal(b, msg) +} + // MarshalJSON implements json.Marshaler func (msg *GetDebugRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ diff --git a/api/v1/tetragon/sensors.proto b/api/v1/tetragon/sensors.proto index 7ef1fc6cef2..c6332c40728 100644 --- a/api/v1/tetragon/sensors.proto +++ b/api/v1/tetragon/sensors.proto @@ -3,6 +3,8 @@ syntax = "proto3"; +import "google/protobuf/wrappers.proto"; + package tetragon; import "tetragon/tetragon.proto"; @@ -128,6 +130,7 @@ message GetVersionResponse{ // For now, we only want to support debug-related config flags to be configurable. enum ConfigFlag { CONFIG_FLAG_LOG_LEVEL = 0; + CONFIG_FLAG_DUMP_PROCESS_CACHE = 1; } enum LogLevel { @@ -140,13 +143,38 @@ enum LogLevel { LOG_LEVEL_TRACE = 6; } +message DumpProcessCacheReqArgs { + bool skipZeroRefCnt = 1; +} + +message ProcessInternal { + Process process = 1; + string color = 2; + google.protobuf.UInt32Value refcnt = 3; + // refcntOps is a map of operations to refcnt change + // keys can be: + // - "process++": process increased refcnt (i.e. this process starts) + // - "process--": process decreased refcnt (i.e. this process exits) + // - "parent++": parent increased refcnt (i.e. a process starts that has this process as a parent) + // - "parent--": parent decreased refcnt (i.e. a process exits that has this process as a parent) + map refcntOps = 4; +} + +message DumpProcessCacheResArgs { + repeated ProcessInternal processes = 1; +} + message GetDebugRequest{ ConfigFlag flag = 1; + oneof arg { + DumpProcessCacheReqArgs dump = 2; + } } message GetDebugResponse{ ConfigFlag flag = 1; oneof arg { LogLevel level = 2; + DumpProcessCacheResArgs processes = 3; } } diff --git a/cmd/tetra/dump/dump.go b/cmd/tetra/dump/dump.go index 587f65ef897..180c157c137 100644 --- a/cmd/tetra/dump/dump.go +++ b/cmd/tetra/dump/dump.go @@ -4,12 +4,15 @@ package dump import ( + "context" "fmt" "path/filepath" "strconv" "strings" "github.com/cilium/ebpf" + "github.com/cilium/tetragon/api/v1/tetragon" + "github.com/cilium/tetragon/cmd/tetra/common" "github.com/cilium/tetragon/pkg/defaults" "github.com/cilium/tetragon/pkg/logger" "github.com/cilium/tetragon/pkg/policyfilter" @@ -29,6 +32,7 @@ func New() *cobra.Command { ret.AddCommand( execveMapCmd(), policyfilterCmd(), + dumpProcessCache(), ) return ret @@ -101,6 +105,48 @@ func dumpExecveMap(fname string) { } } +func dumpProcessCache() *cobra.Command { + skipZeroRefCnt := false + ret := &cobra.Command{ + Use: "processCache", + Short: "dump process cache", + Args: cobra.ExactArgs(0), + Run: func(_ *cobra.Command, _ []string) { + common.CliRun(func(ctx context.Context, cli tetragon.FineGuidanceSensorsClient) { + req := tetragon.GetDebugRequest{ + Flag: tetragon.ConfigFlag_CONFIG_FLAG_DUMP_PROCESS_CACHE, + Arg: &tetragon.GetDebugRequest_Dump{ + Dump: &tetragon.DumpProcessCacheReqArgs{ + SkipZeroRefCnt: skipZeroRefCnt, + }, + }, + } + res, err := cli.GetDebug(ctx, &req) + if err != nil { + logger.GetLogger().WithError(err).Error("failed to get debug info") + return + } + if res.Flag == tetragon.ConfigFlag_CONFIG_FLAG_DUMP_PROCESS_CACHE { + for _, p := range res.GetProcesses().Processes { + if s, err := p.MarshalJSON(); err == nil { + fmt.Println(string(s)) + } else { + logger.GetLogger().WithError(err).WithField("process", p).Error("failed to marshal process") + } + } + } else { + logger.GetLogger().WithField("flag", res.Flag).Error("unexpected response flag") + } + }) + }, + } + + flags := ret.Flags() + flags.BoolVar(&skipZeroRefCnt, "skip-zero-refcnt", skipZeroRefCnt, "skip entries with zero refcnt") + + return ret +} + func PolicyfilterState(fname string) { m, err := policyfilter.OpenMap(fname) if err != nil { diff --git a/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.go b/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.go index b49ddf3623c..f56fa9bc719 100644 --- a/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.go +++ b/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.go @@ -12,6 +12,7 @@ package tetragon import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" reflect "reflect" sync "sync" ) @@ -95,16 +96,19 @@ func (TracingPolicyState) EnumDescriptor() ([]byte, []int) { type ConfigFlag int32 const ( - ConfigFlag_CONFIG_FLAG_LOG_LEVEL ConfigFlag = 0 + ConfigFlag_CONFIG_FLAG_LOG_LEVEL ConfigFlag = 0 + ConfigFlag_CONFIG_FLAG_DUMP_PROCESS_CACHE ConfigFlag = 1 ) // Enum value maps for ConfigFlag. var ( ConfigFlag_name = map[int32]string{ 0: "CONFIG_FLAG_LOG_LEVEL", + 1: "CONFIG_FLAG_DUMP_PROCESS_CACHE", } ConfigFlag_value = map[string]int32{ - "CONFIG_FLAG_LOG_LEVEL": 0, + "CONFIG_FLAG_LOG_LEVEL": 0, + "CONFIG_FLAG_DUMP_PROCESS_CACHE": 1, } ) @@ -1353,18 +1357,193 @@ func (x *GetVersionResponse) GetVersion() string { return "" } +type DumpProcessCacheReqArgs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SkipZeroRefCnt bool `protobuf:"varint,1,opt,name=skipZeroRefCnt,proto3" json:"skipZeroRefCnt,omitempty"` +} + +func (x *DumpProcessCacheReqArgs) Reset() { + *x = DumpProcessCacheReqArgs{} + if protoimpl.UnsafeEnabled { + mi := &file_tetragon_sensors_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DumpProcessCacheReqArgs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DumpProcessCacheReqArgs) ProtoMessage() {} + +func (x *DumpProcessCacheReqArgs) ProtoReflect() protoreflect.Message { + mi := &file_tetragon_sensors_proto_msgTypes[24] + 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 DumpProcessCacheReqArgs.ProtoReflect.Descriptor instead. +func (*DumpProcessCacheReqArgs) Descriptor() ([]byte, []int) { + return file_tetragon_sensors_proto_rawDescGZIP(), []int{24} +} + +func (x *DumpProcessCacheReqArgs) GetSkipZeroRefCnt() bool { + if x != nil { + return x.SkipZeroRefCnt + } + return false +} + +type ProcessInternal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Process *Process `protobuf:"bytes,1,opt,name=process,proto3" json:"process,omitempty"` + Color string `protobuf:"bytes,2,opt,name=color,proto3" json:"color,omitempty"` + Refcnt *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=refcnt,proto3" json:"refcnt,omitempty"` + // refcntOps is a map of operations to refcnt change + // keys can be: + // - "process++": process increased refcnt (i.e. this process starts) + // - "process--": process decreased refcnt (i.e. this process exits) + // - "parent++": parent increased refcnt (i.e. a process starts that has this process as a parent) + // - "parent--": parent decreased refcnt (i.e. a process exits that has this process as a parent) + RefcntOps map[string]int32 `protobuf:"bytes,4,rep,name=refcntOps,proto3" json:"refcntOps,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` +} + +func (x *ProcessInternal) Reset() { + *x = ProcessInternal{} + if protoimpl.UnsafeEnabled { + mi := &file_tetragon_sensors_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProcessInternal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProcessInternal) ProtoMessage() {} + +func (x *ProcessInternal) ProtoReflect() protoreflect.Message { + mi := &file_tetragon_sensors_proto_msgTypes[25] + 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 ProcessInternal.ProtoReflect.Descriptor instead. +func (*ProcessInternal) Descriptor() ([]byte, []int) { + return file_tetragon_sensors_proto_rawDescGZIP(), []int{25} +} + +func (x *ProcessInternal) GetProcess() *Process { + if x != nil { + return x.Process + } + return nil +} + +func (x *ProcessInternal) GetColor() string { + if x != nil { + return x.Color + } + return "" +} + +func (x *ProcessInternal) GetRefcnt() *wrapperspb.UInt32Value { + if x != nil { + return x.Refcnt + } + return nil +} + +func (x *ProcessInternal) GetRefcntOps() map[string]int32 { + if x != nil { + return x.RefcntOps + } + return nil +} + +type DumpProcessCacheResArgs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Processes []*ProcessInternal `protobuf:"bytes,1,rep,name=processes,proto3" json:"processes,omitempty"` +} + +func (x *DumpProcessCacheResArgs) Reset() { + *x = DumpProcessCacheResArgs{} + if protoimpl.UnsafeEnabled { + mi := &file_tetragon_sensors_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DumpProcessCacheResArgs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DumpProcessCacheResArgs) ProtoMessage() {} + +func (x *DumpProcessCacheResArgs) ProtoReflect() protoreflect.Message { + mi := &file_tetragon_sensors_proto_msgTypes[26] + 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 DumpProcessCacheResArgs.ProtoReflect.Descriptor instead. +func (*DumpProcessCacheResArgs) Descriptor() ([]byte, []int) { + return file_tetragon_sensors_proto_rawDescGZIP(), []int{26} +} + +func (x *DumpProcessCacheResArgs) GetProcesses() []*ProcessInternal { + if x != nil { + return x.Processes + } + return nil +} + type GetDebugRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Flag ConfigFlag `protobuf:"varint,1,opt,name=flag,proto3,enum=tetragon.ConfigFlag" json:"flag,omitempty"` + // Types that are assignable to Arg: + // + // *GetDebugRequest_Dump + Arg isGetDebugRequest_Arg `protobuf_oneof:"arg"` } func (x *GetDebugRequest) Reset() { *x = GetDebugRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[24] + mi := &file_tetragon_sensors_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1377,7 +1556,7 @@ func (x *GetDebugRequest) String() string { func (*GetDebugRequest) ProtoMessage() {} func (x *GetDebugRequest) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[24] + mi := &file_tetragon_sensors_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1390,7 +1569,7 @@ func (x *GetDebugRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDebugRequest.ProtoReflect.Descriptor instead. func (*GetDebugRequest) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{24} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{27} } func (x *GetDebugRequest) GetFlag() ConfigFlag { @@ -1400,6 +1579,30 @@ func (x *GetDebugRequest) GetFlag() ConfigFlag { return ConfigFlag_CONFIG_FLAG_LOG_LEVEL } +func (m *GetDebugRequest) GetArg() isGetDebugRequest_Arg { + if m != nil { + return m.Arg + } + return nil +} + +func (x *GetDebugRequest) GetDump() *DumpProcessCacheReqArgs { + if x, ok := x.GetArg().(*GetDebugRequest_Dump); ok { + return x.Dump + } + return nil +} + +type isGetDebugRequest_Arg interface { + isGetDebugRequest_Arg() +} + +type GetDebugRequest_Dump struct { + Dump *DumpProcessCacheReqArgs `protobuf:"bytes,2,opt,name=dump,proto3,oneof"` +} + +func (*GetDebugRequest_Dump) isGetDebugRequest_Arg() {} + type GetDebugResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1409,13 +1612,14 @@ type GetDebugResponse struct { // Types that are assignable to Arg: // // *GetDebugResponse_Level + // *GetDebugResponse_Processes Arg isGetDebugResponse_Arg `protobuf_oneof:"arg"` } func (x *GetDebugResponse) Reset() { *x = GetDebugResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[25] + mi := &file_tetragon_sensors_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1428,7 +1632,7 @@ func (x *GetDebugResponse) String() string { func (*GetDebugResponse) ProtoMessage() {} func (x *GetDebugResponse) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[25] + mi := &file_tetragon_sensors_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1441,7 +1645,7 @@ func (x *GetDebugResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDebugResponse.ProtoReflect.Descriptor instead. func (*GetDebugResponse) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{25} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{28} } func (x *GetDebugResponse) GetFlag() ConfigFlag { @@ -1465,6 +1669,13 @@ func (x *GetDebugResponse) GetLevel() LogLevel { return LogLevel_LOG_LEVEL_PANIC } +func (x *GetDebugResponse) GetProcesses() *DumpProcessCacheResArgs { + if x, ok := x.GetArg().(*GetDebugResponse_Processes); ok { + return x.Processes + } + return nil +} + type isGetDebugResponse_Arg interface { isGetDebugResponse_Arg() } @@ -1473,8 +1684,14 @@ type GetDebugResponse_Level struct { Level LogLevel `protobuf:"varint,2,opt,name=level,proto3,enum=tetragon.LogLevel,oneof"` } +type GetDebugResponse_Processes struct { + Processes *DumpProcessCacheResArgs `protobuf:"bytes,3,opt,name=processes,proto3,oneof"` +} + func (*GetDebugResponse_Level) isGetDebugResponse_Arg() {} +func (*GetDebugResponse_Processes) isGetDebugResponse_Arg() {} + type SetDebugRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1490,7 +1707,7 @@ type SetDebugRequest struct { func (x *SetDebugRequest) Reset() { *x = SetDebugRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[26] + mi := &file_tetragon_sensors_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1503,7 +1720,7 @@ func (x *SetDebugRequest) String() string { func (*SetDebugRequest) ProtoMessage() {} func (x *SetDebugRequest) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[26] + mi := &file_tetragon_sensors_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1516,7 +1733,7 @@ func (x *SetDebugRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetDebugRequest.ProtoReflect.Descriptor instead. func (*SetDebugRequest) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{26} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{29} } func (x *SetDebugRequest) GetFlag() ConfigFlag { @@ -1565,7 +1782,7 @@ type SetDebugResponse struct { func (x *SetDebugResponse) Reset() { *x = SetDebugResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[27] + mi := &file_tetragon_sensors_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1578,7 +1795,7 @@ func (x *SetDebugResponse) String() string { func (*SetDebugResponse) ProtoMessage() {} func (x *SetDebugResponse) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[27] + mi := &file_tetragon_sensors_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1591,7 +1808,7 @@ func (x *SetDebugResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetDebugResponse.ProtoReflect.Descriptor instead. func (*SetDebugResponse) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{27} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{30} } func (x *SetDebugResponse) GetFlag() ConfigFlag { @@ -1630,7 +1847,9 @@ var File_tetragon_sensors_proto protoreflect.FileDescriptor var file_tetragon_sensors_proto_rawDesc = []byte{ 0x0a, 0x16, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2f, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, - 0x6f, 0x6e, 0x1a, 0x17, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2f, 0x74, 0x65, 0x74, + 0x6f, 0x6e, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x17, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2f, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2f, 0x65, 0x76, 0x65, 0x6e, @@ -1721,144 +1940,181 @@ var file_tetragon_sensors_proto_rawDesc = []byte{ 0x2e, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, - 0x3b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x14, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x22, 0x6f, 0x0a, 0x10, - 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, - 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, 0x72, - 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, - 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0x6e, 0x0a, - 0x0f, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, - 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, 0x72, - 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, - 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0x6f, 0x0a, - 0x10, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x14, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, - 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, - 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, - 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x2a, 0xb2, - 0x01, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, - 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, - 0x01, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x49, - 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x50, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x54, - 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, - 0x47, 0x10, 0x06, 0x2a, 0x27, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6c, 0x61, - 0x67, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x46, 0x4c, 0x41, 0x47, - 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0x00, 0x2a, 0x9b, 0x01, 0x0a, - 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, - 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x50, 0x41, 0x4e, 0x49, 0x43, 0x10, 0x00, 0x12, 0x13, - 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x46, 0x41, 0x54, 0x41, - 0x4c, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, - 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x5f, - 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, - 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x04, - 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x44, 0x45, - 0x42, 0x55, 0x47, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, - 0x45, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x06, 0x32, 0xfe, 0x0a, 0x0a, 0x13, 0x46, - 0x69, 0x6e, 0x65, 0x47, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, - 0x72, 0x73, 0x12, 0x48, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x74, 0x65, - 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x52, 0x0a, 0x09, - 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x20, 0x2e, 0x74, 0x65, 0x74, 0x72, - 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x74, 0x65, + 0x41, 0x0a, 0x17, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x41, 0x72, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x6b, + 0x69, 0x70, 0x5a, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x66, 0x43, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x5a, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x66, 0x43, + 0x6e, 0x74, 0x22, 0x90, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x2b, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, + 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65, 0x66, + 0x63, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x12, + 0x46, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x50, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x52, 0x65, + 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x72, 0x65, + 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x1a, 0x3c, 0x0a, 0x0e, 0x52, 0x65, 0x66, 0x63, 0x6e, + 0x74, 0x4f, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x52, 0x0a, 0x17, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x73, 0x41, 0x72, 0x67, 0x73, + 0x12, 0x37, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x50, + 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x09, + 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x7b, 0x0a, 0x0f, 0x47, 0x65, 0x74, + 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, + 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x74, + 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, + 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x37, 0x0a, 0x04, 0x64, 0x75, 0x6d, 0x70, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, + 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, + 0x52, 0x65, 0x71, 0x41, 0x72, 0x67, 0x73, 0x48, 0x00, 0x52, 0x04, 0x64, 0x75, 0x6d, 0x70, 0x42, + 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0xb2, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x66, + 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x74, 0x72, + 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, + 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, + 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x12, 0x41, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, + 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, + 0x52, 0x65, 0x73, 0x41, 0x72, 0x67, 0x73, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, + 0x73, 0x73, 0x65, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0x6e, 0x0a, 0x0f, 0x53, + 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, + 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, + 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6c, + 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, + 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c, + 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0x6f, 0x0a, 0x10, 0x53, + 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, + 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, + 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, + 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x05, + 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x2a, 0xb2, 0x01, 0x0a, + 0x12, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, + 0x15, 0x0a, 0x11, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x41, + 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, + 0x12, 0x0a, 0x0e, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x50, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, + 0x06, 0x2a, 0x4b, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x12, + 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4c, + 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x4f, + 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x55, 0x4d, 0x50, 0x5f, 0x50, + 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x10, 0x01, 0x2a, 0x9b, + 0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x13, 0x0a, 0x0f, 0x4c, + 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x50, 0x41, 0x4e, 0x49, 0x43, 0x10, 0x00, + 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x46, 0x41, + 0x54, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, + 0x45, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, + 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x10, 0x03, 0x12, 0x12, + 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x49, 0x4e, 0x46, 0x4f, + 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, + 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, + 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x06, 0x32, 0xfe, 0x0a, 0x0a, + 0x13, 0x46, 0x69, 0x6e, 0x65, 0x47, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x73, 0x12, 0x48, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, + 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x52, + 0x0a, 0x09, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x20, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x5b, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, - 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, - 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, - 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, - 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, - 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x69, - 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, - 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, - 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x13, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, - 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, + 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, + 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x74, 0x65, 0x74, 0x72, + 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x67, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, - 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, - 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, - 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, - 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, - 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x12, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, + 0x64, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, + 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, + 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, + 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x74, + 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, + 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x13, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, + 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, + 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x67, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, + 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, + 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, + 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x26, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0b, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x12, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, + 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x52, 0x0a, 0x0c, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, - 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, - 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x55, 0x0a, - 0x0d, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1e, - 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, - 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x03, 0x88, 0x02, 0x01, 0x12, 0x52, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, - 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x5e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, - 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x12, 0x22, 0x2e, - 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, - 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x23, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, - 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, - 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, - 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, - 0x6f, 0x6b, 0x12, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x52, 0x75, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x74, - 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x43, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, 0x19, 0x2e, - 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, - 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, - 0x75, 0x67, 0x12, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x53, 0x65, - 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, - 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, - 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x52, 0x0a, 0x0c, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x2e, 0x74, 0x65, + 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x74, + 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, + 0x55, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x12, 0x1e, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1f, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x52, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, + 0x6e, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x5e, 0x0a, 0x11, 0x47, 0x65, + 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x12, + 0x22, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, + 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, + 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0a, 0x47, 0x65, + 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, + 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, + 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, + 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x52, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, + 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x74, 0x65, 0x74, + 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x44, + 0x65, 0x62, 0x75, 0x67, 0x12, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, + 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1874,7 +2130,7 @@ func file_tetragon_sensors_proto_rawDescGZIP() []byte { } var file_tetragon_sensors_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_tetragon_sensors_proto_msgTypes = make([]protoimpl.MessageInfo, 28) +var file_tetragon_sensors_proto_msgTypes = make([]protoimpl.MessageInfo, 32) var file_tetragon_sensors_proto_goTypes = []interface{}{ (TracingPolicyState)(0), // 0: tetragon.TracingPolicyState (ConfigFlag)(0), // 1: tetragon.ConfigFlag @@ -1903,67 +2159,79 @@ var file_tetragon_sensors_proto_goTypes = []interface{}{ (*GetStackTraceTreeResponse)(nil), // 24: tetragon.GetStackTraceTreeResponse (*GetVersionRequest)(nil), // 25: tetragon.GetVersionRequest (*GetVersionResponse)(nil), // 26: tetragon.GetVersionResponse - (*GetDebugRequest)(nil), // 27: tetragon.GetDebugRequest - (*GetDebugResponse)(nil), // 28: tetragon.GetDebugResponse - (*SetDebugRequest)(nil), // 29: tetragon.SetDebugRequest - (*SetDebugResponse)(nil), // 30: tetragon.SetDebugResponse - (*StackTraceNode)(nil), // 31: tetragon.StackTraceNode - (*GetEventsRequest)(nil), // 32: tetragon.GetEventsRequest - (*GetHealthStatusRequest)(nil), // 33: tetragon.GetHealthStatusRequest - (*RuntimeHookRequest)(nil), // 34: tetragon.RuntimeHookRequest - (*GetEventsResponse)(nil), // 35: tetragon.GetEventsResponse - (*GetHealthStatusResponse)(nil), // 36: tetragon.GetHealthStatusResponse - (*RuntimeHookResponse)(nil), // 37: tetragon.RuntimeHookResponse + (*DumpProcessCacheReqArgs)(nil), // 27: tetragon.DumpProcessCacheReqArgs + (*ProcessInternal)(nil), // 28: tetragon.ProcessInternal + (*DumpProcessCacheResArgs)(nil), // 29: tetragon.DumpProcessCacheResArgs + (*GetDebugRequest)(nil), // 30: tetragon.GetDebugRequest + (*GetDebugResponse)(nil), // 31: tetragon.GetDebugResponse + (*SetDebugRequest)(nil), // 32: tetragon.SetDebugRequest + (*SetDebugResponse)(nil), // 33: tetragon.SetDebugResponse + nil, // 34: tetragon.ProcessInternal.RefcntOpsEntry + (*StackTraceNode)(nil), // 35: tetragon.StackTraceNode + (*Process)(nil), // 36: tetragon.Process + (*wrapperspb.UInt32Value)(nil), // 37: google.protobuf.UInt32Value + (*GetEventsRequest)(nil), // 38: tetragon.GetEventsRequest + (*GetHealthStatusRequest)(nil), // 39: tetragon.GetHealthStatusRequest + (*RuntimeHookRequest)(nil), // 40: tetragon.RuntimeHookRequest + (*GetEventsResponse)(nil), // 41: tetragon.GetEventsResponse + (*GetHealthStatusResponse)(nil), // 42: tetragon.GetHealthStatusResponse + (*RuntimeHookResponse)(nil), // 43: tetragon.RuntimeHookResponse } var file_tetragon_sensors_proto_depIdxs = []int32{ 4, // 0: tetragon.ListSensorsResponse.sensors:type_name -> tetragon.SensorStatus 0, // 1: tetragon.TracingPolicyStatus.state:type_name -> tetragon.TracingPolicyState 7, // 2: tetragon.ListTracingPoliciesResponse.policies:type_name -> tetragon.TracingPolicyStatus - 31, // 3: tetragon.GetStackTraceTreeResponse.root:type_name -> tetragon.StackTraceNode - 1, // 4: tetragon.GetDebugRequest.flag:type_name -> tetragon.ConfigFlag - 1, // 5: tetragon.GetDebugResponse.flag:type_name -> tetragon.ConfigFlag - 2, // 6: tetragon.GetDebugResponse.level:type_name -> tetragon.LogLevel - 1, // 7: tetragon.SetDebugRequest.flag:type_name -> tetragon.ConfigFlag - 2, // 8: tetragon.SetDebugRequest.level:type_name -> tetragon.LogLevel - 1, // 9: tetragon.SetDebugResponse.flag:type_name -> tetragon.ConfigFlag - 2, // 10: tetragon.SetDebugResponse.level:type_name -> tetragon.LogLevel - 32, // 11: tetragon.FineGuidanceSensors.GetEvents:input_type -> tetragon.GetEventsRequest - 33, // 12: tetragon.FineGuidanceSensors.GetHealth:input_type -> tetragon.GetHealthStatusRequest - 9, // 13: tetragon.FineGuidanceSensors.AddTracingPolicy:input_type -> tetragon.AddTracingPolicyRequest - 11, // 14: tetragon.FineGuidanceSensors.DeleteTracingPolicy:input_type -> tetragon.DeleteTracingPolicyRequest - 6, // 15: tetragon.FineGuidanceSensors.ListTracingPolicies:input_type -> tetragon.ListTracingPoliciesRequest - 13, // 16: tetragon.FineGuidanceSensors.EnableTracingPolicy:input_type -> tetragon.EnableTracingPolicyRequest - 15, // 17: tetragon.FineGuidanceSensors.DisableTracingPolicy:input_type -> tetragon.DisableTracingPolicyRequest - 3, // 18: tetragon.FineGuidanceSensors.ListSensors:input_type -> tetragon.ListSensorsRequest - 19, // 19: tetragon.FineGuidanceSensors.EnableSensor:input_type -> tetragon.EnableSensorRequest - 21, // 20: tetragon.FineGuidanceSensors.DisableSensor:input_type -> tetragon.DisableSensorRequest - 17, // 21: tetragon.FineGuidanceSensors.RemoveSensor:input_type -> tetragon.RemoveSensorRequest - 23, // 22: tetragon.FineGuidanceSensors.GetStackTraceTree:input_type -> tetragon.GetStackTraceTreeRequest - 25, // 23: tetragon.FineGuidanceSensors.GetVersion:input_type -> tetragon.GetVersionRequest - 34, // 24: tetragon.FineGuidanceSensors.RuntimeHook:input_type -> tetragon.RuntimeHookRequest - 27, // 25: tetragon.FineGuidanceSensors.GetDebug:input_type -> tetragon.GetDebugRequest - 29, // 26: tetragon.FineGuidanceSensors.SetDebug:input_type -> tetragon.SetDebugRequest - 35, // 27: tetragon.FineGuidanceSensors.GetEvents:output_type -> tetragon.GetEventsResponse - 36, // 28: tetragon.FineGuidanceSensors.GetHealth:output_type -> tetragon.GetHealthStatusResponse - 10, // 29: tetragon.FineGuidanceSensors.AddTracingPolicy:output_type -> tetragon.AddTracingPolicyResponse - 12, // 30: tetragon.FineGuidanceSensors.DeleteTracingPolicy:output_type -> tetragon.DeleteTracingPolicyResponse - 8, // 31: tetragon.FineGuidanceSensors.ListTracingPolicies:output_type -> tetragon.ListTracingPoliciesResponse - 14, // 32: tetragon.FineGuidanceSensors.EnableTracingPolicy:output_type -> tetragon.EnableTracingPolicyResponse - 16, // 33: tetragon.FineGuidanceSensors.DisableTracingPolicy:output_type -> tetragon.DisableTracingPolicyResponse - 5, // 34: tetragon.FineGuidanceSensors.ListSensors:output_type -> tetragon.ListSensorsResponse - 20, // 35: tetragon.FineGuidanceSensors.EnableSensor:output_type -> tetragon.EnableSensorResponse - 22, // 36: tetragon.FineGuidanceSensors.DisableSensor:output_type -> tetragon.DisableSensorResponse - 18, // 37: tetragon.FineGuidanceSensors.RemoveSensor:output_type -> tetragon.RemoveSensorResponse - 24, // 38: tetragon.FineGuidanceSensors.GetStackTraceTree:output_type -> tetragon.GetStackTraceTreeResponse - 26, // 39: tetragon.FineGuidanceSensors.GetVersion:output_type -> tetragon.GetVersionResponse - 37, // 40: tetragon.FineGuidanceSensors.RuntimeHook:output_type -> tetragon.RuntimeHookResponse - 28, // 41: tetragon.FineGuidanceSensors.GetDebug:output_type -> tetragon.GetDebugResponse - 30, // 42: tetragon.FineGuidanceSensors.SetDebug:output_type -> tetragon.SetDebugResponse - 27, // [27:43] is the sub-list for method output_type - 11, // [11:27] is the sub-list for method input_type - 11, // [11:11] is the sub-list for extension type_name - 11, // [11:11] is the sub-list for extension extendee - 0, // [0:11] is the sub-list for field type_name + 35, // 3: tetragon.GetStackTraceTreeResponse.root:type_name -> tetragon.StackTraceNode + 36, // 4: tetragon.ProcessInternal.process:type_name -> tetragon.Process + 37, // 5: tetragon.ProcessInternal.refcnt:type_name -> google.protobuf.UInt32Value + 34, // 6: tetragon.ProcessInternal.refcntOps:type_name -> tetragon.ProcessInternal.RefcntOpsEntry + 28, // 7: tetragon.DumpProcessCacheResArgs.processes:type_name -> tetragon.ProcessInternal + 1, // 8: tetragon.GetDebugRequest.flag:type_name -> tetragon.ConfigFlag + 27, // 9: tetragon.GetDebugRequest.dump:type_name -> tetragon.DumpProcessCacheReqArgs + 1, // 10: tetragon.GetDebugResponse.flag:type_name -> tetragon.ConfigFlag + 2, // 11: tetragon.GetDebugResponse.level:type_name -> tetragon.LogLevel + 29, // 12: tetragon.GetDebugResponse.processes:type_name -> tetragon.DumpProcessCacheResArgs + 1, // 13: tetragon.SetDebugRequest.flag:type_name -> tetragon.ConfigFlag + 2, // 14: tetragon.SetDebugRequest.level:type_name -> tetragon.LogLevel + 1, // 15: tetragon.SetDebugResponse.flag:type_name -> tetragon.ConfigFlag + 2, // 16: tetragon.SetDebugResponse.level:type_name -> tetragon.LogLevel + 38, // 17: tetragon.FineGuidanceSensors.GetEvents:input_type -> tetragon.GetEventsRequest + 39, // 18: tetragon.FineGuidanceSensors.GetHealth:input_type -> tetragon.GetHealthStatusRequest + 9, // 19: tetragon.FineGuidanceSensors.AddTracingPolicy:input_type -> tetragon.AddTracingPolicyRequest + 11, // 20: tetragon.FineGuidanceSensors.DeleteTracingPolicy:input_type -> tetragon.DeleteTracingPolicyRequest + 6, // 21: tetragon.FineGuidanceSensors.ListTracingPolicies:input_type -> tetragon.ListTracingPoliciesRequest + 13, // 22: tetragon.FineGuidanceSensors.EnableTracingPolicy:input_type -> tetragon.EnableTracingPolicyRequest + 15, // 23: tetragon.FineGuidanceSensors.DisableTracingPolicy:input_type -> tetragon.DisableTracingPolicyRequest + 3, // 24: tetragon.FineGuidanceSensors.ListSensors:input_type -> tetragon.ListSensorsRequest + 19, // 25: tetragon.FineGuidanceSensors.EnableSensor:input_type -> tetragon.EnableSensorRequest + 21, // 26: tetragon.FineGuidanceSensors.DisableSensor:input_type -> tetragon.DisableSensorRequest + 17, // 27: tetragon.FineGuidanceSensors.RemoveSensor:input_type -> tetragon.RemoveSensorRequest + 23, // 28: tetragon.FineGuidanceSensors.GetStackTraceTree:input_type -> tetragon.GetStackTraceTreeRequest + 25, // 29: tetragon.FineGuidanceSensors.GetVersion:input_type -> tetragon.GetVersionRequest + 40, // 30: tetragon.FineGuidanceSensors.RuntimeHook:input_type -> tetragon.RuntimeHookRequest + 30, // 31: tetragon.FineGuidanceSensors.GetDebug:input_type -> tetragon.GetDebugRequest + 32, // 32: tetragon.FineGuidanceSensors.SetDebug:input_type -> tetragon.SetDebugRequest + 41, // 33: tetragon.FineGuidanceSensors.GetEvents:output_type -> tetragon.GetEventsResponse + 42, // 34: tetragon.FineGuidanceSensors.GetHealth:output_type -> tetragon.GetHealthStatusResponse + 10, // 35: tetragon.FineGuidanceSensors.AddTracingPolicy:output_type -> tetragon.AddTracingPolicyResponse + 12, // 36: tetragon.FineGuidanceSensors.DeleteTracingPolicy:output_type -> tetragon.DeleteTracingPolicyResponse + 8, // 37: tetragon.FineGuidanceSensors.ListTracingPolicies:output_type -> tetragon.ListTracingPoliciesResponse + 14, // 38: tetragon.FineGuidanceSensors.EnableTracingPolicy:output_type -> tetragon.EnableTracingPolicyResponse + 16, // 39: tetragon.FineGuidanceSensors.DisableTracingPolicy:output_type -> tetragon.DisableTracingPolicyResponse + 5, // 40: tetragon.FineGuidanceSensors.ListSensors:output_type -> tetragon.ListSensorsResponse + 20, // 41: tetragon.FineGuidanceSensors.EnableSensor:output_type -> tetragon.EnableSensorResponse + 22, // 42: tetragon.FineGuidanceSensors.DisableSensor:output_type -> tetragon.DisableSensorResponse + 18, // 43: tetragon.FineGuidanceSensors.RemoveSensor:output_type -> tetragon.RemoveSensorResponse + 24, // 44: tetragon.FineGuidanceSensors.GetStackTraceTree:output_type -> tetragon.GetStackTraceTreeResponse + 26, // 45: tetragon.FineGuidanceSensors.GetVersion:output_type -> tetragon.GetVersionResponse + 43, // 46: tetragon.FineGuidanceSensors.RuntimeHook:output_type -> tetragon.RuntimeHookResponse + 31, // 47: tetragon.FineGuidanceSensors.GetDebug:output_type -> tetragon.GetDebugResponse + 33, // 48: tetragon.FineGuidanceSensors.SetDebug:output_type -> tetragon.SetDebugResponse + 33, // [33:49] is the sub-list for method output_type + 17, // [17:33] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name } func init() { file_tetragon_sensors_proto_init() } @@ -2264,7 +2532,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDebugRequest); i { + switch v := v.(*DumpProcessCacheReqArgs); i { case 0: return &v.state case 1: @@ -2276,7 +2544,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDebugResponse); i { + switch v := v.(*ProcessInternal); i { case 0: return &v.state case 1: @@ -2288,7 +2556,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetDebugRequest); i { + switch v := v.(*DumpProcessCacheResArgs); i { case 0: return &v.state case 1: @@ -2300,6 +2568,42 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDebugRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tetragon_sensors_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDebugResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tetragon_sensors_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetDebugRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tetragon_sensors_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetDebugResponse); i { case 0: return &v.state @@ -2312,13 +2616,17 @@ func file_tetragon_sensors_proto_init() { } } } - file_tetragon_sensors_proto_msgTypes[25].OneofWrappers = []interface{}{ + file_tetragon_sensors_proto_msgTypes[27].OneofWrappers = []interface{}{ + (*GetDebugRequest_Dump)(nil), + } + file_tetragon_sensors_proto_msgTypes[28].OneofWrappers = []interface{}{ (*GetDebugResponse_Level)(nil), + (*GetDebugResponse_Processes)(nil), } - file_tetragon_sensors_proto_msgTypes[26].OneofWrappers = []interface{}{ + file_tetragon_sensors_proto_msgTypes[29].OneofWrappers = []interface{}{ (*SetDebugRequest_Level)(nil), } - file_tetragon_sensors_proto_msgTypes[27].OneofWrappers = []interface{}{ + file_tetragon_sensors_proto_msgTypes[30].OneofWrappers = []interface{}{ (*SetDebugResponse_Level)(nil), } type x struct{} @@ -2327,7 +2635,7 @@ func file_tetragon_sensors_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_tetragon_sensors_proto_rawDesc, NumEnums: 3, - NumMessages: 28, + NumMessages: 32, NumExtensions: 0, NumServices: 1, }, diff --git a/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.json.go b/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.json.go index a9d01c00e30..30babc0f87b 100644 --- a/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.json.go +++ b/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.json.go @@ -391,6 +391,54 @@ func (msg *GetVersionResponse) UnmarshalJSON(b []byte) error { }.Unmarshal(b, msg) } +// MarshalJSON implements json.Marshaler +func (msg *DumpProcessCacheReqArgs) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{ + UseEnumNumbers: false, + EmitUnpopulated: false, + UseProtoNames: true, + }.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *DumpProcessCacheReqArgs) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{ + DiscardUnknown: false, + }.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *ProcessInternal) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{ + UseEnumNumbers: false, + EmitUnpopulated: false, + UseProtoNames: true, + }.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *ProcessInternal) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{ + DiscardUnknown: false, + }.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *DumpProcessCacheResArgs) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{ + UseEnumNumbers: false, + EmitUnpopulated: false, + UseProtoNames: true, + }.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *DumpProcessCacheResArgs) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{ + DiscardUnknown: false, + }.Unmarshal(b, msg) +} + // MarshalJSON implements json.Marshaler func (msg *GetDebugRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ diff --git a/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.proto b/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.proto index 7ef1fc6cef2..c6332c40728 100644 --- a/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.proto +++ b/contrib/tetragon-rthooks/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.proto @@ -3,6 +3,8 @@ syntax = "proto3"; +import "google/protobuf/wrappers.proto"; + package tetragon; import "tetragon/tetragon.proto"; @@ -128,6 +130,7 @@ message GetVersionResponse{ // For now, we only want to support debug-related config flags to be configurable. enum ConfigFlag { CONFIG_FLAG_LOG_LEVEL = 0; + CONFIG_FLAG_DUMP_PROCESS_CACHE = 1; } enum LogLevel { @@ -140,13 +143,38 @@ enum LogLevel { LOG_LEVEL_TRACE = 6; } +message DumpProcessCacheReqArgs { + bool skipZeroRefCnt = 1; +} + +message ProcessInternal { + Process process = 1; + string color = 2; + google.protobuf.UInt32Value refcnt = 3; + // refcntOps is a map of operations to refcnt change + // keys can be: + // - "process++": process increased refcnt (i.e. this process starts) + // - "process--": process decreased refcnt (i.e. this process exits) + // - "parent++": parent increased refcnt (i.e. a process starts that has this process as a parent) + // - "parent--": parent decreased refcnt (i.e. a process exits that has this process as a parent) + map refcntOps = 4; +} + +message DumpProcessCacheResArgs { + repeated ProcessInternal processes = 1; +} + message GetDebugRequest{ ConfigFlag flag = 1; + oneof arg { + DumpProcessCacheReqArgs dump = 2; + } } message GetDebugResponse{ ConfigFlag flag = 1; oneof arg { LogLevel level = 2; + DumpProcessCacheResArgs processes = 3; } } diff --git a/docs/content/en/docs/reference/grpc-api.md b/docs/content/en/docs/reference/grpc-api.md index b263faba57b..d8bb455ed84 100644 --- a/docs/content/en/docs/reference/grpc-api.md +++ b/docs/content/en/docs/reference/grpc-api.md @@ -988,6 +988,22 @@ Determines the behavior of a field filter ### DisableTracingPolicyResponse + + +### DumpProcessCacheReqArgs + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| skipZeroRefCnt | [bool](#bool) | | | + + + +### DumpProcessCacheResArgs + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| processes | [ProcessInternal](#tetragon-ProcessInternal) | repeated | | + ### EnableSensorRequest @@ -1020,6 +1036,7 @@ Determines the behavior of a field filter | Field | Type | Label | Description | | ----- | ---- | ----- | ----------- | | flag | [ConfigFlag](#tetragon-ConfigFlag) | | | +| dump | [DumpProcessCacheReqArgs](#tetragon-DumpProcessCacheReqArgs) | | | @@ -1029,6 +1046,7 @@ Determines the behavior of a field filter | ----- | ---- | ----- | ----------- | | flag | [ConfigFlag](#tetragon-ConfigFlag) | | | | level | [LogLevel](#tetragon-LogLevel) | | | +| processes | [DumpProcessCacheResArgs](#tetragon-DumpProcessCacheResArgs) | | | @@ -1082,6 +1100,26 @@ Determines the behavior of a field filter | ----- | ---- | ----- | ----------- | | policies | [TracingPolicyStatus](#tetragon-TracingPolicyStatus) | repeated | | + + +### ProcessInternal + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| process | [Process](#tetragon-Process) | | | +| color | [string](#string) | | | +| refcnt | [google.protobuf.UInt32Value](#google-protobuf-UInt32Value) | | | +| refcntOps | [ProcessInternal.RefcntOpsEntry](#tetragon-ProcessInternal-RefcntOpsEntry) | repeated | refcntOps is a map of operations to refcnt change keys can be: - "process++": process increased refcnt (i.e. this process starts) - "process--": process decreased refcnt (i.e. this process exits) - "parent++": parent increased refcnt (i.e. a process starts that has this process as a parent) - "parent--": parent decreased refcnt (i.e. a process exits that has this process as a parent) | + + + +### ProcessInternal.RefcntOpsEntry + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [string](#string) | | | +| value | [int32](#int32) | | | + ### RemoveSensorRequest @@ -1146,6 +1184,7 @@ For now, we only want to support debug-related config flags to be configurable. | Name | Number | Description | | ---- | ------ | ----------- | | CONFIG_FLAG_LOG_LEVEL | 0 | | +| CONFIG_FLAG_DUMP_PROCESS_CACHE | 1 | | diff --git a/pkg/grpc/exec/exec.go b/pkg/grpc/exec/exec.go index 49a6535c69f..186793b58b9 100644 --- a/pkg/grpc/exec/exec.go +++ b/pkg/grpc/exec/exec.go @@ -82,7 +82,7 @@ func GetProcessExec(event *MsgExecveEventUnix, useCache bool) *tetragon.ProcessE } if parent != nil { - parent.RefInc() + parent.RefInc("parent") } // Finalize the process event with extra fields @@ -210,7 +210,7 @@ func (msg *MsgExecveEventUnix) Retry(internal *process.ProcessInternal, ev notif if parent == nil { return err } - parent.RefInc() + parent.RefInc("parent") ev.SetParent(parent.UnsafeGetProcess()) } @@ -392,10 +392,10 @@ func GetProcessExit(event *MsgExitEventUnix) *tetragon.ProcessExit { return nil } if parent != nil { - parent.RefDec() + parent.RefDec("parent") } if proc != nil { - proc.RefDec() + proc.RefDec("process") } return tetragonEvent } @@ -416,7 +416,7 @@ func (msg *MsgExitEventUnix) RetryInternal(ev notify.Event, timestamp uint64) (* if parent != nil { ev.SetParent(parent.UnsafeGetProcess()) if !msg.RefCntDone[ParentRefCnt] { - parent.RefDec() + parent.RefDec("parent") msg.RefCntDone[ParentRefCnt] = true } } else { @@ -428,7 +428,7 @@ func (msg *MsgExitEventUnix) RetryInternal(ev notify.Event, timestamp uint64) (* // Use cached version of the process ev.SetProcess(internal.UnsafeGetProcess()) if !msg.RefCntDone[ProcessRefCnt] { - internal.RefDec() + internal.RefDec("process") msg.RefCntDone[ProcessRefCnt] = true } } else { @@ -482,7 +482,7 @@ func (msg *MsgProcessCleanupEventUnix) RetryInternal(_ notify.Event, timestamp u if parent != nil { if !msg.RefCntDone[ParentRefCnt] { - parent.RefDec() + parent.RefDec("parent") msg.RefCntDone[ParentRefCnt] = true } } else { @@ -492,7 +492,7 @@ func (msg *MsgProcessCleanupEventUnix) RetryInternal(_ notify.Event, timestamp u if internal != nil { if !msg.RefCntDone[ProcessRefCnt] { - internal.RefDec() + internal.RefDec("process") msg.RefCntDone[ProcessRefCnt] = true } } else { @@ -513,8 +513,8 @@ func (msg *MsgProcessCleanupEventUnix) Retry(_ *process.ProcessInternal, _ notif func (msg *MsgProcessCleanupEventUnix) HandleMessage() *tetragon.GetEventsResponse { msg.RefCntDone = [2]bool{false, false} if process, parent := process.GetParentProcessInternal(msg.PID, msg.Ktime); process != nil && parent != nil { - parent.RefDec() - process.RefDec() + parent.RefDec("parent") + process.RefDec("process") } else { if ec := eventcache.Get(); ec != nil { ec.Add(nil, nil, msg.Ktime, msg.Ktime, msg) diff --git a/pkg/grpc/exec/kthread_init.go b/pkg/grpc/exec/kthread_init.go index 74d13e29a99..3c7a6d7ae6f 100644 --- a/pkg/grpc/exec/kthread_init.go +++ b/pkg/grpc/exec/kthread_init.go @@ -25,7 +25,7 @@ func (msg *MsgKThreadInitUnix) HandleMessage() *tetragon.GetEventsResponse { logger.GetLogger().Warnf("Failed to find parent for kernel thread %d", msg.Unix.Msg.Parent.Pid) return nil } - parent.RefInc() + parent.RefInc("parent") return nil } diff --git a/pkg/process/cache.go b/pkg/process/cache.go index 7040db8480a..4a47d596140 100644 --- a/pkg/process/cache.go +++ b/pkg/process/cache.go @@ -11,6 +11,7 @@ import ( "github.com/cilium/tetragon/api/v1/tetragon" "github.com/cilium/tetragon/pkg/logger" lru "github.com/hashicorp/golang-lru/v2" + "google.golang.org/protobuf/types/known/wrapperspb" ) type Cache struct { @@ -28,6 +29,13 @@ const ( deleted ) +var colorStr = map[int]string{ + inUse: "inUse", + deletePending: "deletePending", + deleteReady: "deleteReady", + deleted: "deleted", +} + // garbage collection run interval const ( intervalGC = time.Second * 30 @@ -109,14 +117,22 @@ func (pc *Cache) deletePending(process *ProcessInternal) { pc.deleteChan <- process } -func (pc *Cache) refDec(p *ProcessInternal) { +func (pc *Cache) refDec(p *ProcessInternal, reason string) { + p.refcntOpsLock.Lock() + // count number of times refcnt is decremented for a specific reason (i.e. process, parent, etc.) + p.refcntOps[reason]++ + p.refcntOpsLock.Unlock() ref := atomic.AddUint32(&p.refcnt, ^uint32(0)) if ref == 0 { pc.deletePending(p) } } -func (pc *Cache) refInc(p *ProcessInternal) { +func (pc *Cache) refInc(p *ProcessInternal, reason string) { + p.refcntOpsLock.Lock() + // count number of times refcnt is increamented for a specific reason (i.e. process, parent, etc.) + p.refcntOps[reason]++ + p.refcntOpsLock.Unlock() atomic.AddUint32(&p.refcnt, 1) } @@ -178,3 +194,19 @@ func (pc *Cache) remove(process *tetragon.Process) bool { func (pc *Cache) len() int { return pc.cache.Len() } + +func (pc *Cache) dump(opts *tetragon.DumpProcessCacheReqArgs) []*tetragon.ProcessInternal { + var processes []*tetragon.ProcessInternal + for _, v := range pc.cache.Values() { + if opts.SkipZeroRefCnt && v.refcnt == 0 { + continue + } + processes = append(processes, &tetragon.ProcessInternal{ + Process: v.process, + Refcnt: &wrapperspb.UInt32Value{Value: v.refcnt}, + RefcntOps: v.refcntOps, + Color: colorStr[v.color], + }) + } + return processes +} diff --git a/pkg/process/process.go b/pkg/process/process.go index d2a4d469c82..41cb782e350 100644 --- a/pkg/process/process.go +++ b/pkg/process/process.go @@ -52,7 +52,16 @@ type ProcessInternal struct { // garbage collector metadata color int // Writes should happen only inside gc select channel refcnt uint32 - cgID uint64 + // refcntOps is a map of operations to refcnt change + // keys can be: + // - "process++": process increased refcnt (i.e. this process starts) + // - "process--": process decreased refcnt (i.e. this process exits) + // - "parent++": parent increased refcnt (i.e. a process starts that has this process as a parent) + // - "parent--": parent decreased refcnt (i.e. a process exits that has this process as a parent) + refcntOps map[string]int32 + // protects the refcntOps map + refcntOpsLock sync.Mutex + cgID uint64 } var ( @@ -110,6 +119,7 @@ func (pi *ProcessInternal) cloneInternalProcessCopy() *ProcessInternal { apiBinaryProp: pi.apiBinaryProp, namespaces: pi.namespaces, refcnt: 1, // Explicitly initialize refcnt to 1 + refcntOps: map[string]int32{"process++": 1}, } } @@ -213,12 +223,12 @@ func (pi *ProcessInternal) AnnotateProcess(cred, ns bool) error { return nil } -func (pi *ProcessInternal) RefDec() { - procCache.refDec(pi) +func (pi *ProcessInternal) RefDec(reason string) { + procCache.refDec(pi, fmt.Sprintf("%s--", reason)) } -func (pi *ProcessInternal) RefInc() { - procCache.refInc(pi) +func (pi *ProcessInternal) RefInc(reason string) { + procCache.refInc(pi, fmt.Sprintf("%s++", reason)) } func (pi *ProcessInternal) RefGet() uint32 { @@ -383,6 +393,7 @@ func initProcessInternalExec( namespaces: apiNs, refcnt: 1, cgID: event.Kube.Cgrpid, + refcntOps: map[string]int32{"process++": 1}, } } @@ -508,7 +519,7 @@ func AddCloneEvent(event *tetragonAPI.MsgCloneEvent) error { return err } - parent.RefInc() + parent.RefInc("parent") procCache.add(proc) return nil } @@ -522,3 +533,7 @@ func Get(execId string) (*ProcessInternal, error) { func GetK8s() watcher.K8sResourceWatcher { return k8s } + +func DumpProcessCache(opts *tetragon.DumpProcessCacheReqArgs) []*tetragon.ProcessInternal { + return procCache.dump(opts) +} diff --git a/pkg/server/server.go b/pkg/server/server.go index 6c6e01b3caf..4df8e75eb3e 100644 --- a/pkg/server/server.go +++ b/pkg/server/server.go @@ -19,6 +19,7 @@ import ( "github.com/cilium/tetragon/pkg/logger" "github.com/cilium/tetragon/pkg/metrics/eventmetrics" "github.com/cilium/tetragon/pkg/option" + "github.com/cilium/tetragon/pkg/process" "github.com/cilium/tetragon/pkg/sensors" "github.com/cilium/tetragon/pkg/tracingpolicy" "github.com/cilium/tetragon/pkg/version" @@ -395,6 +396,17 @@ func (s *Server) GetDebug(_ context.Context, req *tetragon.GetDebugRequest) (*te Level: tetragon.LogLevel(logger.GetLogLevel()), }, }, nil + case tetragon.ConfigFlag_CONFIG_FLAG_DUMP_PROCESS_CACHE: + logger.GetLogger().Debug("Client requested dump of process cache") + res := tetragon.DumpProcessCacheResArgs{ + Processes: process.DumpProcessCache(req.GetDump()), + } + return &tetragon.GetDebugResponse{ + Flag: tetragon.ConfigFlag_CONFIG_FLAG_DUMP_PROCESS_CACHE, + Arg: &tetragon.GetDebugResponse_Processes{ + Processes: &res, + }, + }, nil default: logger.GetLogger().WithField("request", req).Warnf("Client requested unknown config flag %d", req.GetFlag()) return nil, fmt.Errorf("client requested unknown config flag %d", req.GetFlag()) diff --git a/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.go b/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.go index b49ddf3623c..f56fa9bc719 100644 --- a/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.go +++ b/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.go @@ -12,6 +12,7 @@ package tetragon import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" reflect "reflect" sync "sync" ) @@ -95,16 +96,19 @@ func (TracingPolicyState) EnumDescriptor() ([]byte, []int) { type ConfigFlag int32 const ( - ConfigFlag_CONFIG_FLAG_LOG_LEVEL ConfigFlag = 0 + ConfigFlag_CONFIG_FLAG_LOG_LEVEL ConfigFlag = 0 + ConfigFlag_CONFIG_FLAG_DUMP_PROCESS_CACHE ConfigFlag = 1 ) // Enum value maps for ConfigFlag. var ( ConfigFlag_name = map[int32]string{ 0: "CONFIG_FLAG_LOG_LEVEL", + 1: "CONFIG_FLAG_DUMP_PROCESS_CACHE", } ConfigFlag_value = map[string]int32{ - "CONFIG_FLAG_LOG_LEVEL": 0, + "CONFIG_FLAG_LOG_LEVEL": 0, + "CONFIG_FLAG_DUMP_PROCESS_CACHE": 1, } ) @@ -1353,18 +1357,193 @@ func (x *GetVersionResponse) GetVersion() string { return "" } +type DumpProcessCacheReqArgs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SkipZeroRefCnt bool `protobuf:"varint,1,opt,name=skipZeroRefCnt,proto3" json:"skipZeroRefCnt,omitempty"` +} + +func (x *DumpProcessCacheReqArgs) Reset() { + *x = DumpProcessCacheReqArgs{} + if protoimpl.UnsafeEnabled { + mi := &file_tetragon_sensors_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DumpProcessCacheReqArgs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DumpProcessCacheReqArgs) ProtoMessage() {} + +func (x *DumpProcessCacheReqArgs) ProtoReflect() protoreflect.Message { + mi := &file_tetragon_sensors_proto_msgTypes[24] + 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 DumpProcessCacheReqArgs.ProtoReflect.Descriptor instead. +func (*DumpProcessCacheReqArgs) Descriptor() ([]byte, []int) { + return file_tetragon_sensors_proto_rawDescGZIP(), []int{24} +} + +func (x *DumpProcessCacheReqArgs) GetSkipZeroRefCnt() bool { + if x != nil { + return x.SkipZeroRefCnt + } + return false +} + +type ProcessInternal struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Process *Process `protobuf:"bytes,1,opt,name=process,proto3" json:"process,omitempty"` + Color string `protobuf:"bytes,2,opt,name=color,proto3" json:"color,omitempty"` + Refcnt *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=refcnt,proto3" json:"refcnt,omitempty"` + // refcntOps is a map of operations to refcnt change + // keys can be: + // - "process++": process increased refcnt (i.e. this process starts) + // - "process--": process decreased refcnt (i.e. this process exits) + // - "parent++": parent increased refcnt (i.e. a process starts that has this process as a parent) + // - "parent--": parent decreased refcnt (i.e. a process exits that has this process as a parent) + RefcntOps map[string]int32 `protobuf:"bytes,4,rep,name=refcntOps,proto3" json:"refcntOps,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` +} + +func (x *ProcessInternal) Reset() { + *x = ProcessInternal{} + if protoimpl.UnsafeEnabled { + mi := &file_tetragon_sensors_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProcessInternal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProcessInternal) ProtoMessage() {} + +func (x *ProcessInternal) ProtoReflect() protoreflect.Message { + mi := &file_tetragon_sensors_proto_msgTypes[25] + 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 ProcessInternal.ProtoReflect.Descriptor instead. +func (*ProcessInternal) Descriptor() ([]byte, []int) { + return file_tetragon_sensors_proto_rawDescGZIP(), []int{25} +} + +func (x *ProcessInternal) GetProcess() *Process { + if x != nil { + return x.Process + } + return nil +} + +func (x *ProcessInternal) GetColor() string { + if x != nil { + return x.Color + } + return "" +} + +func (x *ProcessInternal) GetRefcnt() *wrapperspb.UInt32Value { + if x != nil { + return x.Refcnt + } + return nil +} + +func (x *ProcessInternal) GetRefcntOps() map[string]int32 { + if x != nil { + return x.RefcntOps + } + return nil +} + +type DumpProcessCacheResArgs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Processes []*ProcessInternal `protobuf:"bytes,1,rep,name=processes,proto3" json:"processes,omitempty"` +} + +func (x *DumpProcessCacheResArgs) Reset() { + *x = DumpProcessCacheResArgs{} + if protoimpl.UnsafeEnabled { + mi := &file_tetragon_sensors_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DumpProcessCacheResArgs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DumpProcessCacheResArgs) ProtoMessage() {} + +func (x *DumpProcessCacheResArgs) ProtoReflect() protoreflect.Message { + mi := &file_tetragon_sensors_proto_msgTypes[26] + 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 DumpProcessCacheResArgs.ProtoReflect.Descriptor instead. +func (*DumpProcessCacheResArgs) Descriptor() ([]byte, []int) { + return file_tetragon_sensors_proto_rawDescGZIP(), []int{26} +} + +func (x *DumpProcessCacheResArgs) GetProcesses() []*ProcessInternal { + if x != nil { + return x.Processes + } + return nil +} + type GetDebugRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Flag ConfigFlag `protobuf:"varint,1,opt,name=flag,proto3,enum=tetragon.ConfigFlag" json:"flag,omitempty"` + // Types that are assignable to Arg: + // + // *GetDebugRequest_Dump + Arg isGetDebugRequest_Arg `protobuf_oneof:"arg"` } func (x *GetDebugRequest) Reset() { *x = GetDebugRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[24] + mi := &file_tetragon_sensors_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1377,7 +1556,7 @@ func (x *GetDebugRequest) String() string { func (*GetDebugRequest) ProtoMessage() {} func (x *GetDebugRequest) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[24] + mi := &file_tetragon_sensors_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1390,7 +1569,7 @@ func (x *GetDebugRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDebugRequest.ProtoReflect.Descriptor instead. func (*GetDebugRequest) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{24} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{27} } func (x *GetDebugRequest) GetFlag() ConfigFlag { @@ -1400,6 +1579,30 @@ func (x *GetDebugRequest) GetFlag() ConfigFlag { return ConfigFlag_CONFIG_FLAG_LOG_LEVEL } +func (m *GetDebugRequest) GetArg() isGetDebugRequest_Arg { + if m != nil { + return m.Arg + } + return nil +} + +func (x *GetDebugRequest) GetDump() *DumpProcessCacheReqArgs { + if x, ok := x.GetArg().(*GetDebugRequest_Dump); ok { + return x.Dump + } + return nil +} + +type isGetDebugRequest_Arg interface { + isGetDebugRequest_Arg() +} + +type GetDebugRequest_Dump struct { + Dump *DumpProcessCacheReqArgs `protobuf:"bytes,2,opt,name=dump,proto3,oneof"` +} + +func (*GetDebugRequest_Dump) isGetDebugRequest_Arg() {} + type GetDebugResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1409,13 +1612,14 @@ type GetDebugResponse struct { // Types that are assignable to Arg: // // *GetDebugResponse_Level + // *GetDebugResponse_Processes Arg isGetDebugResponse_Arg `protobuf_oneof:"arg"` } func (x *GetDebugResponse) Reset() { *x = GetDebugResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[25] + mi := &file_tetragon_sensors_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1428,7 +1632,7 @@ func (x *GetDebugResponse) String() string { func (*GetDebugResponse) ProtoMessage() {} func (x *GetDebugResponse) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[25] + mi := &file_tetragon_sensors_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1441,7 +1645,7 @@ func (x *GetDebugResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDebugResponse.ProtoReflect.Descriptor instead. func (*GetDebugResponse) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{25} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{28} } func (x *GetDebugResponse) GetFlag() ConfigFlag { @@ -1465,6 +1669,13 @@ func (x *GetDebugResponse) GetLevel() LogLevel { return LogLevel_LOG_LEVEL_PANIC } +func (x *GetDebugResponse) GetProcesses() *DumpProcessCacheResArgs { + if x, ok := x.GetArg().(*GetDebugResponse_Processes); ok { + return x.Processes + } + return nil +} + type isGetDebugResponse_Arg interface { isGetDebugResponse_Arg() } @@ -1473,8 +1684,14 @@ type GetDebugResponse_Level struct { Level LogLevel `protobuf:"varint,2,opt,name=level,proto3,enum=tetragon.LogLevel,oneof"` } +type GetDebugResponse_Processes struct { + Processes *DumpProcessCacheResArgs `protobuf:"bytes,3,opt,name=processes,proto3,oneof"` +} + func (*GetDebugResponse_Level) isGetDebugResponse_Arg() {} +func (*GetDebugResponse_Processes) isGetDebugResponse_Arg() {} + type SetDebugRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1490,7 +1707,7 @@ type SetDebugRequest struct { func (x *SetDebugRequest) Reset() { *x = SetDebugRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[26] + mi := &file_tetragon_sensors_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1503,7 +1720,7 @@ func (x *SetDebugRequest) String() string { func (*SetDebugRequest) ProtoMessage() {} func (x *SetDebugRequest) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[26] + mi := &file_tetragon_sensors_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1516,7 +1733,7 @@ func (x *SetDebugRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetDebugRequest.ProtoReflect.Descriptor instead. func (*SetDebugRequest) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{26} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{29} } func (x *SetDebugRequest) GetFlag() ConfigFlag { @@ -1565,7 +1782,7 @@ type SetDebugResponse struct { func (x *SetDebugResponse) Reset() { *x = SetDebugResponse{} if protoimpl.UnsafeEnabled { - mi := &file_tetragon_sensors_proto_msgTypes[27] + mi := &file_tetragon_sensors_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1578,7 +1795,7 @@ func (x *SetDebugResponse) String() string { func (*SetDebugResponse) ProtoMessage() {} func (x *SetDebugResponse) ProtoReflect() protoreflect.Message { - mi := &file_tetragon_sensors_proto_msgTypes[27] + mi := &file_tetragon_sensors_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1591,7 +1808,7 @@ func (x *SetDebugResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetDebugResponse.ProtoReflect.Descriptor instead. func (*SetDebugResponse) Descriptor() ([]byte, []int) { - return file_tetragon_sensors_proto_rawDescGZIP(), []int{27} + return file_tetragon_sensors_proto_rawDescGZIP(), []int{30} } func (x *SetDebugResponse) GetFlag() ConfigFlag { @@ -1630,7 +1847,9 @@ var File_tetragon_sensors_proto protoreflect.FileDescriptor var file_tetragon_sensors_proto_rawDesc = []byte{ 0x0a, 0x16, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2f, 0x73, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, - 0x6f, 0x6e, 0x1a, 0x17, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2f, 0x74, 0x65, 0x74, + 0x6f, 0x6e, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x17, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2f, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2f, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2f, 0x65, 0x76, 0x65, 0x6e, @@ -1721,144 +1940,181 @@ var file_tetragon_sensors_proto_rawDesc = []byte{ 0x2e, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, - 0x3b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x14, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x22, 0x6f, 0x0a, 0x10, - 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, - 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, 0x72, - 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, - 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0x6e, 0x0a, - 0x0f, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, - 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, 0x72, - 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, - 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0x6f, 0x0a, - 0x10, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x14, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, - 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, - 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, - 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x2a, 0xb2, - 0x01, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, - 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, - 0x01, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x49, - 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x50, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x54, - 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, - 0x47, 0x10, 0x06, 0x2a, 0x27, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6c, 0x61, - 0x67, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x46, 0x4c, 0x41, 0x47, - 0x5f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0x00, 0x2a, 0x9b, 0x01, 0x0a, - 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, - 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x50, 0x41, 0x4e, 0x49, 0x43, 0x10, 0x00, 0x12, 0x13, - 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x46, 0x41, 0x54, 0x41, - 0x4c, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, - 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x5f, - 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, - 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x04, - 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x44, 0x45, - 0x42, 0x55, 0x47, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, - 0x45, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x06, 0x32, 0xfe, 0x0a, 0x0a, 0x13, 0x46, - 0x69, 0x6e, 0x65, 0x47, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, - 0x72, 0x73, 0x12, 0x48, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x74, 0x65, - 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x52, 0x0a, 0x09, - 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x20, 0x2e, 0x74, 0x65, 0x74, 0x72, - 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x74, 0x65, + 0x41, 0x0a, 0x17, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x52, 0x65, 0x71, 0x41, 0x72, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x6b, + 0x69, 0x70, 0x5a, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x66, 0x43, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0e, 0x73, 0x6b, 0x69, 0x70, 0x5a, 0x65, 0x72, 0x6f, 0x52, 0x65, 0x66, 0x43, + 0x6e, 0x74, 0x22, 0x90, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x2b, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, + 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65, 0x66, + 0x63, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, + 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x12, + 0x46, 0x0a, 0x09, 0x72, 0x65, 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x50, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x52, 0x65, + 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x72, 0x65, + 0x66, 0x63, 0x6e, 0x74, 0x4f, 0x70, 0x73, 0x1a, 0x3c, 0x0a, 0x0e, 0x52, 0x65, 0x66, 0x63, 0x6e, + 0x74, 0x4f, 0x70, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x52, 0x0a, 0x17, 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x73, 0x41, 0x72, 0x67, 0x73, + 0x12, 0x37, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x50, + 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x09, + 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x7b, 0x0a, 0x0f, 0x47, 0x65, 0x74, + 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x04, + 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x74, + 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, + 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x37, 0x0a, 0x04, 0x64, 0x75, 0x6d, 0x70, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, + 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, + 0x52, 0x65, 0x71, 0x41, 0x72, 0x67, 0x73, 0x48, 0x00, 0x52, 0x04, 0x64, 0x75, 0x6d, 0x70, 0x42, + 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0xb2, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x66, + 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x65, 0x74, 0x72, + 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x52, + 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, + 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x12, 0x41, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, + 0x44, 0x75, 0x6d, 0x70, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x43, 0x61, 0x63, 0x68, 0x65, + 0x52, 0x65, 0x73, 0x41, 0x72, 0x67, 0x73, 0x48, 0x00, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, + 0x73, 0x73, 0x65, 0x73, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0x6e, 0x0a, 0x0f, 0x53, + 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, + 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, + 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6c, + 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, + 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x05, 0x6c, + 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x22, 0x6f, 0x0a, 0x10, 0x53, + 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x28, 0x0a, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, + 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, + 0x6c, 0x61, 0x67, 0x52, 0x04, 0x66, 0x6c, 0x61, 0x67, 0x12, 0x2a, 0x0a, 0x05, 0x6c, 0x65, 0x76, + 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, + 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x05, + 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x42, 0x05, 0x0a, 0x03, 0x61, 0x72, 0x67, 0x2a, 0xb2, 0x01, 0x0a, + 0x12, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, + 0x15, 0x0a, 0x11, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x41, + 0x42, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x45, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, + 0x12, 0x0a, 0x0e, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x50, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x50, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x49, 0x4e, 0x47, 0x10, + 0x06, 0x2a, 0x4b, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46, 0x6c, 0x61, 0x67, 0x12, + 0x19, 0x0a, 0x15, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x4c, + 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x43, 0x4f, + 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x5f, 0x44, 0x55, 0x4d, 0x50, 0x5f, 0x50, + 0x52, 0x4f, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x43, 0x41, 0x43, 0x48, 0x45, 0x10, 0x01, 0x2a, 0x9b, + 0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x13, 0x0a, 0x0f, 0x4c, + 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x50, 0x41, 0x4e, 0x49, 0x43, 0x10, 0x00, + 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x46, 0x41, + 0x54, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, + 0x45, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x4f, + 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x57, 0x41, 0x52, 0x4e, 0x10, 0x03, 0x12, 0x12, + 0x0a, 0x0e, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x49, 0x4e, 0x46, 0x4f, + 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, + 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x47, 0x5f, 0x4c, + 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x06, 0x32, 0xfe, 0x0a, 0x0a, + 0x13, 0x46, 0x69, 0x6e, 0x65, 0x47, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x73, 0x12, 0x48, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, + 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x52, + 0x0a, 0x09, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x20, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x5b, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, - 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, - 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, - 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, - 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, - 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x69, - 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, - 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, - 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x13, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, - 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, + 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x21, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, + 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x74, 0x65, 0x74, 0x72, + 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x67, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, - 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, - 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, - 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, - 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, - 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x12, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, + 0x64, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, + 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, + 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x72, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, + 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x74, + 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, + 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x64, 0x0a, 0x13, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x12, 0x24, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, + 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, + 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x67, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, + 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x25, 0x2e, 0x74, 0x65, 0x74, 0x72, + 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, + 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x26, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0b, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x12, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, + 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x52, 0x0a, 0x0c, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, - 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, - 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x55, 0x0a, - 0x0d, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1e, - 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, - 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x03, 0x88, 0x02, 0x01, 0x12, 0x52, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, - 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, - 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x52, - 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x5e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, - 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x12, 0x22, 0x2e, - 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, - 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x23, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, - 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, - 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, - 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, - 0x6f, 0x6b, 0x12, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x52, 0x75, - 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x52, 0x75, 0x6e, 0x74, - 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x43, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, 0x19, 0x2e, - 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, - 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, - 0x75, 0x67, 0x12, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x53, 0x65, - 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, - 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, - 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x52, 0x0a, 0x0c, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x2e, 0x74, 0x65, + 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, + 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x74, + 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, + 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, + 0x55, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, + 0x12, 0x1e, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1f, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x52, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, + 0x6e, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, + 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x5e, 0x0a, 0x11, 0x47, 0x65, + 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x12, + 0x22, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, + 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, + 0x65, 0x74, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x54, 0x72, 0x65, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0a, 0x47, 0x65, + 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, + 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, + 0x2e, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, + 0x48, 0x6f, 0x6f, 0x6b, 0x12, 0x1c, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, + 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x52, 0x75, + 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x48, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, + 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x74, 0x65, 0x74, + 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x44, + 0x65, 0x62, 0x75, 0x67, 0x12, 0x19, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, + 0x53, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1a, 0x2e, 0x74, 0x65, 0x74, 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x74, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1874,7 +2130,7 @@ func file_tetragon_sensors_proto_rawDescGZIP() []byte { } var file_tetragon_sensors_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_tetragon_sensors_proto_msgTypes = make([]protoimpl.MessageInfo, 28) +var file_tetragon_sensors_proto_msgTypes = make([]protoimpl.MessageInfo, 32) var file_tetragon_sensors_proto_goTypes = []interface{}{ (TracingPolicyState)(0), // 0: tetragon.TracingPolicyState (ConfigFlag)(0), // 1: tetragon.ConfigFlag @@ -1903,67 +2159,79 @@ var file_tetragon_sensors_proto_goTypes = []interface{}{ (*GetStackTraceTreeResponse)(nil), // 24: tetragon.GetStackTraceTreeResponse (*GetVersionRequest)(nil), // 25: tetragon.GetVersionRequest (*GetVersionResponse)(nil), // 26: tetragon.GetVersionResponse - (*GetDebugRequest)(nil), // 27: tetragon.GetDebugRequest - (*GetDebugResponse)(nil), // 28: tetragon.GetDebugResponse - (*SetDebugRequest)(nil), // 29: tetragon.SetDebugRequest - (*SetDebugResponse)(nil), // 30: tetragon.SetDebugResponse - (*StackTraceNode)(nil), // 31: tetragon.StackTraceNode - (*GetEventsRequest)(nil), // 32: tetragon.GetEventsRequest - (*GetHealthStatusRequest)(nil), // 33: tetragon.GetHealthStatusRequest - (*RuntimeHookRequest)(nil), // 34: tetragon.RuntimeHookRequest - (*GetEventsResponse)(nil), // 35: tetragon.GetEventsResponse - (*GetHealthStatusResponse)(nil), // 36: tetragon.GetHealthStatusResponse - (*RuntimeHookResponse)(nil), // 37: tetragon.RuntimeHookResponse + (*DumpProcessCacheReqArgs)(nil), // 27: tetragon.DumpProcessCacheReqArgs + (*ProcessInternal)(nil), // 28: tetragon.ProcessInternal + (*DumpProcessCacheResArgs)(nil), // 29: tetragon.DumpProcessCacheResArgs + (*GetDebugRequest)(nil), // 30: tetragon.GetDebugRequest + (*GetDebugResponse)(nil), // 31: tetragon.GetDebugResponse + (*SetDebugRequest)(nil), // 32: tetragon.SetDebugRequest + (*SetDebugResponse)(nil), // 33: tetragon.SetDebugResponse + nil, // 34: tetragon.ProcessInternal.RefcntOpsEntry + (*StackTraceNode)(nil), // 35: tetragon.StackTraceNode + (*Process)(nil), // 36: tetragon.Process + (*wrapperspb.UInt32Value)(nil), // 37: google.protobuf.UInt32Value + (*GetEventsRequest)(nil), // 38: tetragon.GetEventsRequest + (*GetHealthStatusRequest)(nil), // 39: tetragon.GetHealthStatusRequest + (*RuntimeHookRequest)(nil), // 40: tetragon.RuntimeHookRequest + (*GetEventsResponse)(nil), // 41: tetragon.GetEventsResponse + (*GetHealthStatusResponse)(nil), // 42: tetragon.GetHealthStatusResponse + (*RuntimeHookResponse)(nil), // 43: tetragon.RuntimeHookResponse } var file_tetragon_sensors_proto_depIdxs = []int32{ 4, // 0: tetragon.ListSensorsResponse.sensors:type_name -> tetragon.SensorStatus 0, // 1: tetragon.TracingPolicyStatus.state:type_name -> tetragon.TracingPolicyState 7, // 2: tetragon.ListTracingPoliciesResponse.policies:type_name -> tetragon.TracingPolicyStatus - 31, // 3: tetragon.GetStackTraceTreeResponse.root:type_name -> tetragon.StackTraceNode - 1, // 4: tetragon.GetDebugRequest.flag:type_name -> tetragon.ConfigFlag - 1, // 5: tetragon.GetDebugResponse.flag:type_name -> tetragon.ConfigFlag - 2, // 6: tetragon.GetDebugResponse.level:type_name -> tetragon.LogLevel - 1, // 7: tetragon.SetDebugRequest.flag:type_name -> tetragon.ConfigFlag - 2, // 8: tetragon.SetDebugRequest.level:type_name -> tetragon.LogLevel - 1, // 9: tetragon.SetDebugResponse.flag:type_name -> tetragon.ConfigFlag - 2, // 10: tetragon.SetDebugResponse.level:type_name -> tetragon.LogLevel - 32, // 11: tetragon.FineGuidanceSensors.GetEvents:input_type -> tetragon.GetEventsRequest - 33, // 12: tetragon.FineGuidanceSensors.GetHealth:input_type -> tetragon.GetHealthStatusRequest - 9, // 13: tetragon.FineGuidanceSensors.AddTracingPolicy:input_type -> tetragon.AddTracingPolicyRequest - 11, // 14: tetragon.FineGuidanceSensors.DeleteTracingPolicy:input_type -> tetragon.DeleteTracingPolicyRequest - 6, // 15: tetragon.FineGuidanceSensors.ListTracingPolicies:input_type -> tetragon.ListTracingPoliciesRequest - 13, // 16: tetragon.FineGuidanceSensors.EnableTracingPolicy:input_type -> tetragon.EnableTracingPolicyRequest - 15, // 17: tetragon.FineGuidanceSensors.DisableTracingPolicy:input_type -> tetragon.DisableTracingPolicyRequest - 3, // 18: tetragon.FineGuidanceSensors.ListSensors:input_type -> tetragon.ListSensorsRequest - 19, // 19: tetragon.FineGuidanceSensors.EnableSensor:input_type -> tetragon.EnableSensorRequest - 21, // 20: tetragon.FineGuidanceSensors.DisableSensor:input_type -> tetragon.DisableSensorRequest - 17, // 21: tetragon.FineGuidanceSensors.RemoveSensor:input_type -> tetragon.RemoveSensorRequest - 23, // 22: tetragon.FineGuidanceSensors.GetStackTraceTree:input_type -> tetragon.GetStackTraceTreeRequest - 25, // 23: tetragon.FineGuidanceSensors.GetVersion:input_type -> tetragon.GetVersionRequest - 34, // 24: tetragon.FineGuidanceSensors.RuntimeHook:input_type -> tetragon.RuntimeHookRequest - 27, // 25: tetragon.FineGuidanceSensors.GetDebug:input_type -> tetragon.GetDebugRequest - 29, // 26: tetragon.FineGuidanceSensors.SetDebug:input_type -> tetragon.SetDebugRequest - 35, // 27: tetragon.FineGuidanceSensors.GetEvents:output_type -> tetragon.GetEventsResponse - 36, // 28: tetragon.FineGuidanceSensors.GetHealth:output_type -> tetragon.GetHealthStatusResponse - 10, // 29: tetragon.FineGuidanceSensors.AddTracingPolicy:output_type -> tetragon.AddTracingPolicyResponse - 12, // 30: tetragon.FineGuidanceSensors.DeleteTracingPolicy:output_type -> tetragon.DeleteTracingPolicyResponse - 8, // 31: tetragon.FineGuidanceSensors.ListTracingPolicies:output_type -> tetragon.ListTracingPoliciesResponse - 14, // 32: tetragon.FineGuidanceSensors.EnableTracingPolicy:output_type -> tetragon.EnableTracingPolicyResponse - 16, // 33: tetragon.FineGuidanceSensors.DisableTracingPolicy:output_type -> tetragon.DisableTracingPolicyResponse - 5, // 34: tetragon.FineGuidanceSensors.ListSensors:output_type -> tetragon.ListSensorsResponse - 20, // 35: tetragon.FineGuidanceSensors.EnableSensor:output_type -> tetragon.EnableSensorResponse - 22, // 36: tetragon.FineGuidanceSensors.DisableSensor:output_type -> tetragon.DisableSensorResponse - 18, // 37: tetragon.FineGuidanceSensors.RemoveSensor:output_type -> tetragon.RemoveSensorResponse - 24, // 38: tetragon.FineGuidanceSensors.GetStackTraceTree:output_type -> tetragon.GetStackTraceTreeResponse - 26, // 39: tetragon.FineGuidanceSensors.GetVersion:output_type -> tetragon.GetVersionResponse - 37, // 40: tetragon.FineGuidanceSensors.RuntimeHook:output_type -> tetragon.RuntimeHookResponse - 28, // 41: tetragon.FineGuidanceSensors.GetDebug:output_type -> tetragon.GetDebugResponse - 30, // 42: tetragon.FineGuidanceSensors.SetDebug:output_type -> tetragon.SetDebugResponse - 27, // [27:43] is the sub-list for method output_type - 11, // [11:27] is the sub-list for method input_type - 11, // [11:11] is the sub-list for extension type_name - 11, // [11:11] is the sub-list for extension extendee - 0, // [0:11] is the sub-list for field type_name + 35, // 3: tetragon.GetStackTraceTreeResponse.root:type_name -> tetragon.StackTraceNode + 36, // 4: tetragon.ProcessInternal.process:type_name -> tetragon.Process + 37, // 5: tetragon.ProcessInternal.refcnt:type_name -> google.protobuf.UInt32Value + 34, // 6: tetragon.ProcessInternal.refcntOps:type_name -> tetragon.ProcessInternal.RefcntOpsEntry + 28, // 7: tetragon.DumpProcessCacheResArgs.processes:type_name -> tetragon.ProcessInternal + 1, // 8: tetragon.GetDebugRequest.flag:type_name -> tetragon.ConfigFlag + 27, // 9: tetragon.GetDebugRequest.dump:type_name -> tetragon.DumpProcessCacheReqArgs + 1, // 10: tetragon.GetDebugResponse.flag:type_name -> tetragon.ConfigFlag + 2, // 11: tetragon.GetDebugResponse.level:type_name -> tetragon.LogLevel + 29, // 12: tetragon.GetDebugResponse.processes:type_name -> tetragon.DumpProcessCacheResArgs + 1, // 13: tetragon.SetDebugRequest.flag:type_name -> tetragon.ConfigFlag + 2, // 14: tetragon.SetDebugRequest.level:type_name -> tetragon.LogLevel + 1, // 15: tetragon.SetDebugResponse.flag:type_name -> tetragon.ConfigFlag + 2, // 16: tetragon.SetDebugResponse.level:type_name -> tetragon.LogLevel + 38, // 17: tetragon.FineGuidanceSensors.GetEvents:input_type -> tetragon.GetEventsRequest + 39, // 18: tetragon.FineGuidanceSensors.GetHealth:input_type -> tetragon.GetHealthStatusRequest + 9, // 19: tetragon.FineGuidanceSensors.AddTracingPolicy:input_type -> tetragon.AddTracingPolicyRequest + 11, // 20: tetragon.FineGuidanceSensors.DeleteTracingPolicy:input_type -> tetragon.DeleteTracingPolicyRequest + 6, // 21: tetragon.FineGuidanceSensors.ListTracingPolicies:input_type -> tetragon.ListTracingPoliciesRequest + 13, // 22: tetragon.FineGuidanceSensors.EnableTracingPolicy:input_type -> tetragon.EnableTracingPolicyRequest + 15, // 23: tetragon.FineGuidanceSensors.DisableTracingPolicy:input_type -> tetragon.DisableTracingPolicyRequest + 3, // 24: tetragon.FineGuidanceSensors.ListSensors:input_type -> tetragon.ListSensorsRequest + 19, // 25: tetragon.FineGuidanceSensors.EnableSensor:input_type -> tetragon.EnableSensorRequest + 21, // 26: tetragon.FineGuidanceSensors.DisableSensor:input_type -> tetragon.DisableSensorRequest + 17, // 27: tetragon.FineGuidanceSensors.RemoveSensor:input_type -> tetragon.RemoveSensorRequest + 23, // 28: tetragon.FineGuidanceSensors.GetStackTraceTree:input_type -> tetragon.GetStackTraceTreeRequest + 25, // 29: tetragon.FineGuidanceSensors.GetVersion:input_type -> tetragon.GetVersionRequest + 40, // 30: tetragon.FineGuidanceSensors.RuntimeHook:input_type -> tetragon.RuntimeHookRequest + 30, // 31: tetragon.FineGuidanceSensors.GetDebug:input_type -> tetragon.GetDebugRequest + 32, // 32: tetragon.FineGuidanceSensors.SetDebug:input_type -> tetragon.SetDebugRequest + 41, // 33: tetragon.FineGuidanceSensors.GetEvents:output_type -> tetragon.GetEventsResponse + 42, // 34: tetragon.FineGuidanceSensors.GetHealth:output_type -> tetragon.GetHealthStatusResponse + 10, // 35: tetragon.FineGuidanceSensors.AddTracingPolicy:output_type -> tetragon.AddTracingPolicyResponse + 12, // 36: tetragon.FineGuidanceSensors.DeleteTracingPolicy:output_type -> tetragon.DeleteTracingPolicyResponse + 8, // 37: tetragon.FineGuidanceSensors.ListTracingPolicies:output_type -> tetragon.ListTracingPoliciesResponse + 14, // 38: tetragon.FineGuidanceSensors.EnableTracingPolicy:output_type -> tetragon.EnableTracingPolicyResponse + 16, // 39: tetragon.FineGuidanceSensors.DisableTracingPolicy:output_type -> tetragon.DisableTracingPolicyResponse + 5, // 40: tetragon.FineGuidanceSensors.ListSensors:output_type -> tetragon.ListSensorsResponse + 20, // 41: tetragon.FineGuidanceSensors.EnableSensor:output_type -> tetragon.EnableSensorResponse + 22, // 42: tetragon.FineGuidanceSensors.DisableSensor:output_type -> tetragon.DisableSensorResponse + 18, // 43: tetragon.FineGuidanceSensors.RemoveSensor:output_type -> tetragon.RemoveSensorResponse + 24, // 44: tetragon.FineGuidanceSensors.GetStackTraceTree:output_type -> tetragon.GetStackTraceTreeResponse + 26, // 45: tetragon.FineGuidanceSensors.GetVersion:output_type -> tetragon.GetVersionResponse + 43, // 46: tetragon.FineGuidanceSensors.RuntimeHook:output_type -> tetragon.RuntimeHookResponse + 31, // 47: tetragon.FineGuidanceSensors.GetDebug:output_type -> tetragon.GetDebugResponse + 33, // 48: tetragon.FineGuidanceSensors.SetDebug:output_type -> tetragon.SetDebugResponse + 33, // [33:49] is the sub-list for method output_type + 17, // [17:33] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name } func init() { file_tetragon_sensors_proto_init() } @@ -2264,7 +2532,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDebugRequest); i { + switch v := v.(*DumpProcessCacheReqArgs); i { case 0: return &v.state case 1: @@ -2276,7 +2544,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDebugResponse); i { + switch v := v.(*ProcessInternal); i { case 0: return &v.state case 1: @@ -2288,7 +2556,7 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetDebugRequest); i { + switch v := v.(*DumpProcessCacheResArgs); i { case 0: return &v.state case 1: @@ -2300,6 +2568,42 @@ func file_tetragon_sensors_proto_init() { } } file_tetragon_sensors_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDebugRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tetragon_sensors_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDebugResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tetragon_sensors_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetDebugRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_tetragon_sensors_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetDebugResponse); i { case 0: return &v.state @@ -2312,13 +2616,17 @@ func file_tetragon_sensors_proto_init() { } } } - file_tetragon_sensors_proto_msgTypes[25].OneofWrappers = []interface{}{ + file_tetragon_sensors_proto_msgTypes[27].OneofWrappers = []interface{}{ + (*GetDebugRequest_Dump)(nil), + } + file_tetragon_sensors_proto_msgTypes[28].OneofWrappers = []interface{}{ (*GetDebugResponse_Level)(nil), + (*GetDebugResponse_Processes)(nil), } - file_tetragon_sensors_proto_msgTypes[26].OneofWrappers = []interface{}{ + file_tetragon_sensors_proto_msgTypes[29].OneofWrappers = []interface{}{ (*SetDebugRequest_Level)(nil), } - file_tetragon_sensors_proto_msgTypes[27].OneofWrappers = []interface{}{ + file_tetragon_sensors_proto_msgTypes[30].OneofWrappers = []interface{}{ (*SetDebugResponse_Level)(nil), } type x struct{} @@ -2327,7 +2635,7 @@ func file_tetragon_sensors_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_tetragon_sensors_proto_rawDesc, NumEnums: 3, - NumMessages: 28, + NumMessages: 32, NumExtensions: 0, NumServices: 1, }, diff --git a/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.json.go b/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.json.go index a9d01c00e30..30babc0f87b 100644 --- a/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.json.go +++ b/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.pb.json.go @@ -391,6 +391,54 @@ func (msg *GetVersionResponse) UnmarshalJSON(b []byte) error { }.Unmarshal(b, msg) } +// MarshalJSON implements json.Marshaler +func (msg *DumpProcessCacheReqArgs) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{ + UseEnumNumbers: false, + EmitUnpopulated: false, + UseProtoNames: true, + }.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *DumpProcessCacheReqArgs) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{ + DiscardUnknown: false, + }.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *ProcessInternal) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{ + UseEnumNumbers: false, + EmitUnpopulated: false, + UseProtoNames: true, + }.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *ProcessInternal) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{ + DiscardUnknown: false, + }.Unmarshal(b, msg) +} + +// MarshalJSON implements json.Marshaler +func (msg *DumpProcessCacheResArgs) MarshalJSON() ([]byte, error) { + return protojson.MarshalOptions{ + UseEnumNumbers: false, + EmitUnpopulated: false, + UseProtoNames: true, + }.Marshal(msg) +} + +// UnmarshalJSON implements json.Unmarshaler +func (msg *DumpProcessCacheResArgs) UnmarshalJSON(b []byte) error { + return protojson.UnmarshalOptions{ + DiscardUnknown: false, + }.Unmarshal(b, msg) +} + // MarshalJSON implements json.Marshaler func (msg *GetDebugRequest) MarshalJSON() ([]byte, error) { return protojson.MarshalOptions{ diff --git a/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.proto b/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.proto index 7ef1fc6cef2..c6332c40728 100644 --- a/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.proto +++ b/vendor/github.com/cilium/tetragon/api/v1/tetragon/sensors.proto @@ -3,6 +3,8 @@ syntax = "proto3"; +import "google/protobuf/wrappers.proto"; + package tetragon; import "tetragon/tetragon.proto"; @@ -128,6 +130,7 @@ message GetVersionResponse{ // For now, we only want to support debug-related config flags to be configurable. enum ConfigFlag { CONFIG_FLAG_LOG_LEVEL = 0; + CONFIG_FLAG_DUMP_PROCESS_CACHE = 1; } enum LogLevel { @@ -140,13 +143,38 @@ enum LogLevel { LOG_LEVEL_TRACE = 6; } +message DumpProcessCacheReqArgs { + bool skipZeroRefCnt = 1; +} + +message ProcessInternal { + Process process = 1; + string color = 2; + google.protobuf.UInt32Value refcnt = 3; + // refcntOps is a map of operations to refcnt change + // keys can be: + // - "process++": process increased refcnt (i.e. this process starts) + // - "process--": process decreased refcnt (i.e. this process exits) + // - "parent++": parent increased refcnt (i.e. a process starts that has this process as a parent) + // - "parent--": parent decreased refcnt (i.e. a process exits that has this process as a parent) + map refcntOps = 4; +} + +message DumpProcessCacheResArgs { + repeated ProcessInternal processes = 1; +} + message GetDebugRequest{ ConfigFlag flag = 1; + oneof arg { + DumpProcessCacheReqArgs dump = 2; + } } message GetDebugResponse{ ConfigFlag flag = 1; oneof arg { LogLevel level = 2; + DumpProcessCacheResArgs processes = 3; } }