add metrics endpoint

This commit is contained in:
rushtehrani
2020-02-11 00:37:36 -08:00
parent 96364938cd
commit bf9ad3ddce
6 changed files with 454 additions and 68 deletions

View File

@@ -324,6 +324,100 @@ func (m *GetWorkflowLogsRequest) GetContainerName() string {
return ""
}
type GetWorkflowMetricsRequest struct {
Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
PodName string `protobuf:"bytes,3,opt,name=podName,proto3" json:"podName,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GetWorkflowMetricsRequest) Reset() { *m = GetWorkflowMetricsRequest{} }
func (m *GetWorkflowMetricsRequest) String() string { return proto.CompactTextString(m) }
func (*GetWorkflowMetricsRequest) ProtoMessage() {}
func (*GetWorkflowMetricsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_892c7f566756b0be, []int{6}
}
func (m *GetWorkflowMetricsRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetWorkflowMetricsRequest.Unmarshal(m, b)
}
func (m *GetWorkflowMetricsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetWorkflowMetricsRequest.Marshal(b, m, deterministic)
}
func (m *GetWorkflowMetricsRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetWorkflowMetricsRequest.Merge(m, src)
}
func (m *GetWorkflowMetricsRequest) XXX_Size() int {
return xxx_messageInfo_GetWorkflowMetricsRequest.Size(m)
}
func (m *GetWorkflowMetricsRequest) XXX_DiscardUnknown() {
xxx_messageInfo_GetWorkflowMetricsRequest.DiscardUnknown(m)
}
var xxx_messageInfo_GetWorkflowMetricsRequest proto.InternalMessageInfo
func (m *GetWorkflowMetricsRequest) GetNamespace() string {
if m != nil {
return m.Namespace
}
return ""
}
func (m *GetWorkflowMetricsRequest) GetName() string {
if m != nil {
return m.Name
}
return ""
}
func (m *GetWorkflowMetricsRequest) GetPodName() string {
if m != nil {
return m.PodName
}
return ""
}
type GetWorkflowMetricsResponse struct {
Metrics string `protobuf:"bytes,1,opt,name=metrics,proto3" json:"metrics,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GetWorkflowMetricsResponse) Reset() { *m = GetWorkflowMetricsResponse{} }
func (m *GetWorkflowMetricsResponse) String() string { return proto.CompactTextString(m) }
func (*GetWorkflowMetricsResponse) ProtoMessage() {}
func (*GetWorkflowMetricsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_892c7f566756b0be, []int{7}
}
func (m *GetWorkflowMetricsResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetWorkflowMetricsResponse.Unmarshal(m, b)
}
func (m *GetWorkflowMetricsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetWorkflowMetricsResponse.Marshal(b, m, deterministic)
}
func (m *GetWorkflowMetricsResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetWorkflowMetricsResponse.Merge(m, src)
}
func (m *GetWorkflowMetricsResponse) XXX_Size() int {
return xxx_messageInfo_GetWorkflowMetricsResponse.Size(m)
}
func (m *GetWorkflowMetricsResponse) XXX_DiscardUnknown() {
xxx_messageInfo_GetWorkflowMetricsResponse.DiscardUnknown(m)
}
var xxx_messageInfo_GetWorkflowMetricsResponse proto.InternalMessageInfo
func (m *GetWorkflowMetricsResponse) GetMetrics() string {
if m != nil {
return m.Metrics
}
return ""
}
type ListWorkflowsRequest struct {
Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
WorkflowTemplateUid string `protobuf:"bytes,2,opt,name=workflowTemplateUid,proto3" json:"workflowTemplateUid,omitempty"`
@@ -337,7 +431,7 @@ func (m *ListWorkflowsRequest) Reset() { *m = ListWorkflowsRequest{} }
func (m *ListWorkflowsRequest) String() string { return proto.CompactTextString(m) }
func (*ListWorkflowsRequest) ProtoMessage() {}
func (*ListWorkflowsRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_892c7f566756b0be, []int{6}
return fileDescriptor_892c7f566756b0be, []int{8}
}
func (m *ListWorkflowsRequest) XXX_Unmarshal(b []byte) error {
@@ -391,7 +485,7 @@ func (m *ListWorkflowsResponse) Reset() { *m = ListWorkflowsResponse{} }
func (m *ListWorkflowsResponse) String() string { return proto.CompactTextString(m) }
func (*ListWorkflowsResponse) ProtoMessage() {}
func (*ListWorkflowsResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_892c7f566756b0be, []int{7}
return fileDescriptor_892c7f566756b0be, []int{9}
}
func (m *ListWorkflowsResponse) XXX_Unmarshal(b []byte) error {
@@ -438,7 +532,7 @@ func (m *LogEntry) Reset() { *m = LogEntry{} }
func (m *LogEntry) String() string { return proto.CompactTextString(m) }
func (*LogEntry) ProtoMessage() {}
func (*LogEntry) Descriptor() ([]byte, []int) {
return fileDescriptor_892c7f566756b0be, []int{8}
return fileDescriptor_892c7f566756b0be, []int{10}
}
func (m *LogEntry) XXX_Unmarshal(b []byte) error {
@@ -489,7 +583,7 @@ func (m *Workflow) Reset() { *m = Workflow{} }
func (m *Workflow) String() string { return proto.CompactTextString(m) }
func (*Workflow) ProtoMessage() {}
func (*Workflow) Descriptor() ([]byte, []int) {
return fileDescriptor_892c7f566756b0be, []int{9}
return fileDescriptor_892c7f566756b0be, []int{11}
}
func (m *Workflow) XXX_Unmarshal(b []byte) error {
@@ -564,7 +658,7 @@ func (m *WorkflowParameter) Reset() { *m = WorkflowParameter{} }
func (m *WorkflowParameter) String() string { return proto.CompactTextString(m) }
func (*WorkflowParameter) ProtoMessage() {}
func (*WorkflowParameter) Descriptor() ([]byte, []int) {
return fileDescriptor_892c7f566756b0be, []int{10}
return fileDescriptor_892c7f566756b0be, []int{12}
}
func (m *WorkflowParameter) XXX_Unmarshal(b []byte) error {
@@ -606,6 +700,8 @@ func init() {
proto.RegisterType((*ResubmitWorkflowRequest)(nil), "api.ResubmitWorkflowRequest")
proto.RegisterType((*TerminateWorkflowRequest)(nil), "api.TerminateWorkflowRequest")
proto.RegisterType((*GetWorkflowLogsRequest)(nil), "api.GetWorkflowLogsRequest")
proto.RegisterType((*GetWorkflowMetricsRequest)(nil), "api.GetWorkflowMetricsRequest")
proto.RegisterType((*GetWorkflowMetricsResponse)(nil), "api.GetWorkflowMetricsResponse")
proto.RegisterType((*ListWorkflowsRequest)(nil), "api.ListWorkflowsRequest")
proto.RegisterType((*ListWorkflowsResponse)(nil), "api.ListWorkflowsResponse")
proto.RegisterType((*LogEntry)(nil), "api.LogEntry")
@@ -616,69 +712,73 @@ func init() {
func init() { proto.RegisterFile("workflow.proto", fileDescriptor_892c7f566756b0be) }
var fileDescriptor_892c7f566756b0be = []byte{
// 988 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0x5f, 0x6f, 0x13, 0x47,
0x10, 0xd7, 0xc6, 0x84, 0x26, 0x83, 0x02, 0xc9, 0x90, 0xc4, 0xee, 0x91, 0xa8, 0xe9, 0x42, 0xa5,
0xa4, 0x20, 0x5f, 0x30, 0x7f, 0x84, 0x02, 0x48, 0x0d, 0x28, 0x50, 0xa9, 0x56, 0x55, 0xb9, 0x50,
0x54, 0xfa, 0x50, 0x36, 0xf6, 0xc6, 0x9c, 0xea, 0xfb, 0xd3, 0xdb, 0xb5, 0x23, 0xe4, 0xfa, 0xa1,
0xed, 0x4b, 0xd5, 0xd7, 0xf6, 0xad, 0x2f, 0x55, 0x9f, 0xf8, 0x08, 0x7d, 0xee, 0x57, 0xe0, 0x2b,
0x94, 0xef, 0x81, 0x6e, 0x6f, 0xf7, 0xb8, 0x3b, 0x9f, 0x83, 0x8f, 0xe4, 0xcd, 0x3b, 0x33, 0xf7,
0x9b, 0xdf, 0xcc, 0xec, 0xfc, 0xd6, 0x70, 0xf6, 0xd0, 0x0f, 0x7f, 0x38, 0xe8, 0xf9, 0x87, 0xf5,
0x20, 0xf4, 0xa5, 0x8f, 0x15, 0x16, 0x38, 0xd6, 0x5a, 0xd7, 0xf7, 0xbb, 0x3d, 0x6e, 0xb3, 0xc0,
0xb1, 0x99, 0xe7, 0xf9, 0x92, 0x49, 0xc7, 0xf7, 0x44, 0x1c, 0x62, 0x5d, 0xd0, 0x5e, 0x75, 0xda,
0xef, 0x1f, 0xd8, 0xdc, 0x0d, 0xe4, 0x0b, 0xed, 0xac, 0x1a, 0xbc, 0xef, 0x25, 0x77, 0x83, 0x1e,
0x93, 0x3c, 0x76, 0xd0, 0x67, 0xb0, 0x72, 0x3f, 0xe4, 0x4c, 0xf2, 0x27, 0x3a, 0xa0, 0xc5, 0x7f,
0xec, 0x73, 0x21, 0x71, 0x0d, 0xe6, 0x3d, 0xe6, 0x72, 0x11, 0xb0, 0x36, 0xaf, 0x91, 0x0d, 0xb2,
0x39, 0xdf, 0x7a, 0x6b, 0xc0, 0x2d, 0x98, 0x33, 0x88, 0xb5, 0x99, 0x0d, 0xb2, 0x79, 0xa6, 0xb1,
0x50, 0x67, 0x81, 0x53, 0x4f, 0x50, 0x12, 0x37, 0x7d, 0x00, 0xf8, 0x90, 0xcb, 0x72, 0xf0, 0x08,
0xa7, 0xa2, 0x83, 0x82, 0x9e, 0x6f, 0xa9, 0xdf, 0xf4, 0x73, 0x58, 0x7e, 0xc2, 0x64, 0xfb, 0xf9,
0xf1, 0x91, 0xbe, 0x80, 0x6a, 0x8b, 0x8b, 0xfe, 0xbe, 0xeb, 0x9c, 0x00, 0xad, 0x26, 0xd4, 0x1e,
0xf1, 0xd0, 0x75, 0xbc, 0xd2, 0x3d, 0x2c, 0x42, 0xfb, 0x9d, 0xc0, 0x6a, 0xaa, 0x5b, 0x4d, 0xbf,
0x2b, 0xde, 0x1b, 0x0c, 0x6b, 0xf0, 0x41, 0xe0, 0x77, 0xbe, 0x8c, 0xcc, 0x15, 0x65, 0x36, 0x47,
0xbc, 0x04, 0x0b, 0x6d, 0xdf, 0x93, 0xcc, 0xf1, 0x78, 0xa8, 0xfc, 0xa7, 0x94, 0x3f, 0x6b, 0xa4,
0x7f, 0x13, 0x58, 0x6e, 0x3a, 0x22, 0x61, 0x33, 0x25, 0x95, 0x6d, 0x38, 0x6f, 0x86, 0xff, 0x48,
0x5f, 0xb6, 0xc7, 0x4e, 0x47, 0x33, 0x2b, 0x72, 0xe1, 0x2d, 0xa8, 0xe6, 0xcd, 0xdf, 0xf0, 0x50,
0x38, 0xbe, 0xa7, 0x89, 0x4f, 0x72, 0xd3, 0xa7, 0xb0, 0x92, 0x63, 0x28, 0x02, 0xdf, 0x13, 0x1c,
0x97, 0x61, 0xb6, 0xed, 0xf7, 0x3d, 0xa9, 0xe8, 0xcd, 0xb6, 0xe2, 0x03, 0x5e, 0x86, 0x79, 0x83,
0x24, 0x6a, 0x33, 0x1b, 0x95, 0xf1, 0x7b, 0xfb, 0xd6, 0x4f, 0xef, 0xc1, 0x5c, 0xd3, 0xef, 0xee,
0x79, 0x32, 0x7c, 0x11, 0x55, 0x2c, 0x1d, 0x97, 0x0b, 0xc9, 0xdc, 0xc0, 0x54, 0x9c, 0x18, 0xa2,
0x46, 0x47, 0x9d, 0xe3, 0x9e, 0xd4, 0x55, 0x9a, 0x23, 0x7d, 0x4d, 0x60, 0xce, 0x60, 0x47, 0x20,
0x6d, 0xb5, 0x6b, 0x9d, 0x5d, 0x69, 0x40, 0x12, 0x03, 0x2e, 0x42, 0xa5, 0x9f, 0xb4, 0x29, 0xfa,
0x99, 0xcc, 0xb4, 0x92, 0x9a, 0xa9, 0x05, 0x73, 0x2e, 0xf3, 0x9c, 0x03, 0x2e, 0xa4, 0x1e, 0x5a,
0x72, 0xc6, 0x9b, 0x00, 0x01, 0x0b, 0x99, 0xcb, 0x25, 0x0f, 0x45, 0x6d, 0x56, 0x95, 0xb7, 0x9a,
0x29, 0xef, 0x2b, 0xe3, 0x6e, 0xa5, 0x22, 0x71, 0x17, 0x16, 0xf3, 0xfd, 0xad, 0x9d, 0x56, 0x4b,
0xbd, 0x92, 0xf9, 0xda, 0x38, 0x5b, 0x63, 0xe1, 0xf4, 0x2e, 0x2c, 0x8d, 0xe5, 0x48, 0xf8, 0x93,
0x14, 0xff, 0x65, 0x98, 0x1d, 0xb0, 0x5e, 0xdf, 0x5c, 0xd4, 0xf8, 0xd0, 0x78, 0xb9, 0x04, 0xe7,
0xcc, 0xf7, 0x5f, 0xf3, 0x70, 0xe0, 0xb4, 0x39, 0x86, 0x70, 0x36, 0xab, 0x4c, 0x68, 0x29, 0x36,
0x85, 0x72, 0x65, 0x65, 0xc7, 0x48, 0x6f, 0xfc, 0xf2, 0xea, 0xff, 0x3f, 0x66, 0x6c, 0x7a, 0x31,
0x12, 0x4b, 0x61, 0x0f, 0xae, 0xee, 0x73, 0xc9, 0xae, 0xda, 0xc3, 0xe4, 0x96, 0x8e, 0xec, 0x64,
0xd0, 0x3b, 0x89, 0x56, 0xa1, 0x03, 0x67, 0x52, 0xdb, 0x87, 0x55, 0x05, 0x3a, 0xae, 0x5e, 0xf9,
0x6c, 0x0d, 0x95, 0xed, 0x0a, 0x7e, 0x3a, 0x45, 0xb6, 0xd8, 0x3a, 0x42, 0x01, 0x0b, 0x99, 0x9b,
0x8b, 0x1f, 0x2a, 0xcc, 0xa2, 0x7d, 0xb3, 0xac, 0x22, 0x57, 0x7c, 0xd1, 0xe9, 0x65, 0x95, 0xfb,
0x13, 0x9c, 0xa6, 0x52, 0xec, 0xc3, 0x42, 0x46, 0x43, 0x75, 0xd2, 0x22, 0x5d, 0xcd, 0xd7, 0x78,
0x4b, 0xe5, 0x69, 0xe0, 0xf6, 0xf4, 0x35, 0xda, 0x87, 0x11, 0xee, 0x36, 0xc1, 0x7f, 0x08, 0x9c,
0xcb, 0xa9, 0x1a, 0x5e, 0xc8, 0xf7, 0x36, 0xa5, 0x75, 0x3a, 0xb7, 0xd9, 0x3e, 0xca, 0x54, 0xee,
0xef, 0xf0, 0xdb, 0x12, 0xb9, 0x03, 0xbf, 0x23, 0xec, 0xa1, 0x16, 0xbc, 0x91, 0x9d, 0x28, 0x9b,
0xb0, 0x87, 0x19, 0x95, 0x1b, 0xd9, 0x3d, 0xbf, 0x2b, 0xb6, 0x09, 0xfe, 0x04, 0x8b, 0xf9, 0x57,
0x01, 0xd7, 0x14, 0x8f, 0x09, 0x8f, 0x45, 0xbe, 0x43, 0xb7, 0x15, 0xcb, 0x1b, 0xd6, 0xb5, 0x12,
0x2c, 0x43, 0x0d, 0x8d, 0xbf, 0x11, 0x58, 0x1a, 0x7b, 0x47, 0x70, 0x5d, 0x65, 0x98, 0xf4, 0xbe,
0x58, 0xab, 0xf5, 0xf8, 0xcd, 0xaf, 0x9b, 0x37, 0xbf, 0xbe, 0x17, 0xbd, 0xf9, 0xf4, 0x8e, 0x62,
0x72, 0xd3, 0xba, 0x5e, 0x82, 0x89, 0x34, 0x49, 0xf0, 0x2f, 0x02, 0xab, 0xd9, 0x25, 0x33, 0x6b,
0x8e, 0xb4, 0x60, 0x03, 0x13, 0x55, 0xd0, 0xa4, 0x8a, 0x35, 0x83, 0x3e, 0x50, 0x9c, 0x3e, 0xa3,
0x57, 0xde, 0xcd, 0x29, 0xf9, 0x8f, 0x22, 0x76, 0xc6, 0x94, 0x06, 0x5f, 0x13, 0x58, 0x7f, 0x1c,
0x74, 0x0a, 0x08, 0xe8, 0x37, 0x01, 0xb7, 0x14, 0x81, 0x23, 0x63, 0xde, 0xc1, 0xf5, 0x67, 0xa2,
0xc8, 0x0e, 0xad, 0x6e, 0x19, 0xb2, 0xf6, 0x30, 0x4f, 0xb6, 0xde, 0x77, 0x3a, 0x23, 0x7b, 0x10,
0xe7, 0x2c, 0xf2, 0x6b, 0xd7, 0xa8, 0xa0, 0xce, 0xff, 0x08, 0xac, 0x17, 0x37, 0xda, 0xd4, 0x79,
0x8c, 0x61, 0x1c, 0xa8, 0xfa, 0x9e, 0xd1, 0xe6, 0x49, 0xd6, 0x57, 0x50, 0xc4, 0x2b, 0x02, 0xe7,
0x53, 0x2b, 0x9e, 0xd8, 0x3f, 0xca, 0x2f, 0xff, 0x94, 0xbc, 0x7f, 0x8d, 0x07, 0x33, 0xc2, 0x46,
0x39, 0xe2, 0x11, 0xcf, 0xa7, 0x0f, 0x71, 0xaf, 0xfc, 0x57, 0xa9, 0xe9, 0x99, 0x61, 0xe1, 0xbf,
0x04, 0xd6, 0xd2, 0x62, 0x9c, 0x1b, 0x8c, 0xc0, 0xcd, 0x31, 0xbd, 0xce, 0x87, 0x98, 0x3a, 0xb7,
0xa6, 0x88, 0xd4, 0x42, 0x7f, 0x5f, 0x95, 0x7e, 0x17, 0x6f, 0x1f, 0xa3, 0x08, 0xfc, 0x93, 0x64,
0xff, 0x30, 0x99, 0x6c, 0x02, 0x3f, 0x9e, 0xc8, 0x24, 0x21, 0x4b, 0x8f, 0x0a, 0xd1, 0x2c, 0xaf,
0x2b, 0x96, 0x75, 0x2c, 0xb5, 0xe6, 0xf8, 0x92, 0x40, 0x75, 0x37, 0x6c, 0x3f, 0x77, 0x06, 0xe3,
0x9a, 0x73, 0x51, 0x65, 0x9d, 0xe0, 0x35, 0xd4, 0x2e, 0x1d, 0x1d, 0xa4, 0xc9, 0xdd, 0x53, 0xe4,
0xee, 0x58, 0x3b, 0xef, 0xd1, 0x42, 0x16, 0x63, 0xef, 0x9f, 0x56, 0x5a, 0x7b, 0xed, 0x4d, 0x00,
0x00, 0x00, 0xff, 0xff, 0x6c, 0xf4, 0xb8, 0xe7, 0xa2, 0x0d, 0x00, 0x00,
// 1045 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x96, 0xcf, 0x6f, 0x13, 0x47,
0x14, 0xc7, 0x35, 0x31, 0xa1, 0xc9, 0x43, 0x81, 0xf0, 0x48, 0x62, 0xb3, 0x24, 0x6d, 0x3a, 0x50,
0x29, 0x29, 0xc8, 0x1b, 0x0c, 0x44, 0x28, 0x80, 0xd4, 0x10, 0x05, 0x5a, 0xd5, 0xad, 0x2a, 0x17,
0x8a, 0x4a, 0x0f, 0x65, 0x62, 0x4f, 0xcc, 0xaa, 0xde, 0x1f, 0xdd, 0x19, 0x3b, 0x42, 0xae, 0x0f,
0x6d, 0x2f, 0x55, 0xaf, 0xed, 0xad, 0x17, 0xd4, 0x53, 0xff, 0x84, 0x9e, 0x7b, 0xed, 0x91, 0x7f,
0xa1, 0xfc, 0x1f, 0xd5, 0xce, 0xce, 0x2c, 0xbb, 0xeb, 0x75, 0xb0, 0x13, 0xb8, 0xed, 0xbc, 0x37,
0xfb, 0xde, 0xe7, 0xcd, 0x9b, 0xf9, 0xce, 0xc0, 0xe9, 0x03, 0x3f, 0xfc, 0x6e, 0xbf, 0xe3, 0x1f,
0x54, 0x83, 0xd0, 0x97, 0x3e, 0x96, 0x58, 0xe0, 0x58, 0xcb, 0x6d, 0xdf, 0x6f, 0x77, 0xb8, 0xcd,
0x02, 0xc7, 0x66, 0x9e, 0xe7, 0x4b, 0x26, 0x1d, 0xdf, 0x13, 0xf1, 0x14, 0xeb, 0x82, 0xf6, 0xaa,
0xd1, 0x5e, 0x77, 0xdf, 0xe6, 0x6e, 0x20, 0x9f, 0x69, 0x67, 0xd9, 0xc4, 0xfb, 0x56, 0x72, 0x37,
0xe8, 0x30, 0xc9, 0x63, 0x07, 0x7d, 0x02, 0x8b, 0x3b, 0x21, 0x67, 0x92, 0x3f, 0xd2, 0x13, 0x1a,
0xfc, 0xfb, 0x2e, 0x17, 0x12, 0x97, 0x61, 0xd6, 0x63, 0x2e, 0x17, 0x01, 0x6b, 0xf2, 0x0a, 0x59,
0x25, 0x6b, 0xb3, 0x8d, 0x57, 0x06, 0x5c, 0x87, 0x19, 0x13, 0xb1, 0x32, 0xb5, 0x4a, 0xd6, 0x4e,
0xd5, 0xe6, 0xaa, 0x2c, 0x70, 0xaa, 0x49, 0x94, 0xc4, 0x4d, 0xef, 0x01, 0xde, 0xe7, 0x72, 0xb2,
0xf0, 0x08, 0x27, 0xa2, 0x81, 0x0a, 0x3d, 0xdb, 0x50, 0xdf, 0xf4, 0x63, 0x58, 0x78, 0xc4, 0x64,
0xf3, 0xe9, 0xf1, 0x23, 0x7d, 0x0a, 0xe5, 0x06, 0x17, 0xdd, 0x3d, 0xd7, 0x79, 0x03, 0x58, 0x75,
0xa8, 0x3c, 0xe0, 0xa1, 0xeb, 0x78, 0x13, 0xaf, 0x61, 0x51, 0xb4, 0x5f, 0x09, 0x2c, 0xa5, 0x56,
0xab, 0xee, 0xb7, 0xc5, 0x91, 0x83, 0x61, 0x05, 0xde, 0x09, 0xfc, 0xd6, 0xe7, 0x91, 0xb9, 0xa4,
0xcc, 0x66, 0x88, 0x97, 0x60, 0xae, 0xe9, 0x7b, 0x92, 0x39, 0x1e, 0x0f, 0x95, 0xff, 0x84, 0xf2,
0x67, 0x8d, 0xb4, 0x0d, 0xe7, 0x53, 0x2c, 0x9f, 0x71, 0x19, 0x3a, 0xcd, 0xb7, 0x81, 0x43, 0x37,
0xc1, 0x2a, 0x4a, 0x24, 0x02, 0xdf, 0x13, 0xea, 0x3f, 0x37, 0x36, 0xe9, 0x3c, 0x66, 0x48, 0x9f,
0x13, 0x58, 0xa8, 0x3b, 0x22, 0xf9, 0x73, 0x4c, 0xb8, 0x0d, 0x38, 0x67, 0x76, 0xe7, 0x03, 0x7d,
0x1a, 0x1e, 0x3a, 0x2d, 0xcd, 0x5a, 0xe4, 0xc2, 0x9b, 0x50, 0xce, 0x9b, 0xbf, 0xe2, 0xa1, 0x70,
0x7c, 0x4f, 0x97, 0x32, 0xca, 0x4d, 0x1f, 0xc3, 0x62, 0x8e, 0x50, 0x57, 0xb5, 0x00, 0xd3, 0x4d,
0xbf, 0xeb, 0x49, 0x85, 0x37, 0xdd, 0x88, 0x07, 0x78, 0x19, 0x66, 0x4d, 0x24, 0x51, 0x99, 0x5a,
0x2d, 0x0d, 0x1f, 0xac, 0x57, 0x7e, 0x7a, 0x17, 0x66, 0xea, 0x7e, 0x7b, 0xd7, 0x93, 0xe1, 0xb3,
0xa8, 0x62, 0xe9, 0xb8, 0x5c, 0x48, 0xe6, 0x06, 0xa6, 0xe2, 0xc4, 0x10, 0x2d, 0x61, 0xd4, 0x5a,
0xee, 0x49, 0x5d, 0xa5, 0x19, 0xd2, 0x97, 0x04, 0x66, 0x4c, 0xec, 0x28, 0x48, 0x53, 0x89, 0x41,
0x6b, 0x5b, 0x9a, 0x20, 0x89, 0x01, 0xe7, 0xa1, 0xd4, 0x4d, 0x96, 0x29, 0xfa, 0x4c, 0xba, 0x5c,
0x4a, 0x75, 0xd9, 0x82, 0x19, 0x97, 0x79, 0xce, 0x3e, 0x17, 0x52, 0xef, 0xaa, 0x64, 0x8c, 0x9b,
0x00, 0x01, 0x0b, 0x99, 0xcb, 0x25, 0x0f, 0x45, 0x65, 0x5a, 0x95, 0xb7, 0x94, 0x29, 0xef, 0x0b,
0xe3, 0x6e, 0xa4, 0x66, 0xe2, 0x36, 0xcc, 0xe7, 0xd7, 0xb7, 0x72, 0x52, 0xa9, 0xce, 0x62, 0xe6,
0x6f, 0xe3, 0x6c, 0x0c, 0x4d, 0xa7, 0x77, 0xe0, 0xec, 0x50, 0x8e, 0x84, 0x9f, 0xa4, 0xf8, 0x17,
0x60, 0xba, 0xc7, 0x3a, 0x5d, 0xb3, 0x75, 0xe3, 0x41, 0xed, 0x5f, 0x84, 0x33, 0xe6, 0xff, 0x2f,
0x79, 0xd8, 0x73, 0x9a, 0x1c, 0x43, 0x38, 0x9d, 0x95, 0x4e, 0xb4, 0x14, 0x4d, 0xa1, 0x9e, 0x5a,
0xd9, 0x36, 0xd2, 0x1b, 0x3f, 0xbd, 0xf8, 0xef, 0xb7, 0x29, 0x9b, 0x5e, 0x8c, 0xd4, 0x5c, 0xd8,
0xbd, 0xab, 0x7b, 0x5c, 0xb2, 0xab, 0x76, 0x3f, 0xd9, 0xa5, 0x03, 0x3b, 0x69, 0xf4, 0x56, 0x22,
0xa6, 0xe8, 0xc0, 0xa9, 0xd4, 0x49, 0xc1, 0xb2, 0x0a, 0x3a, 0x2c, 0xaf, 0xf9, 0x6c, 0x35, 0x95,
0xed, 0x0a, 0x7e, 0x38, 0x46, 0xb6, 0xd8, 0x3a, 0x40, 0x01, 0x73, 0x99, 0x9d, 0x8b, 0xe7, 0x55,
0xcc, 0xa2, 0xf3, 0x66, 0x59, 0x45, 0xae, 0x78, 0xa3, 0xd3, 0xcb, 0x2a, 0xf7, 0x07, 0x38, 0x4e,
0xa5, 0xd8, 0x85, 0xb9, 0x8c, 0xc8, 0xeb, 0xa4, 0x45, 0xc2, 0x9f, 0xaf, 0xf1, 0xa6, 0xca, 0x53,
0xc3, 0x8d, 0xf1, 0x6b, 0xb4, 0x0f, 0xa2, 0xb8, 0x1b, 0x04, 0xff, 0x24, 0x70, 0x26, 0x27, 0xbb,
0x78, 0x21, 0xbf, 0xb6, 0x29, 0x31, 0xd6, 0xb9, 0xcd, 0xe9, 0xa3, 0x4c, 0xe5, 0xfe, 0x06, 0xbf,
0x9e, 0x20, 0x77, 0xe0, 0xb7, 0x84, 0xdd, 0xd7, 0x12, 0x38, 0xb0, 0x13, 0xe9, 0x15, 0x76, 0x3f,
0x23, 0xc3, 0x03, 0xbb, 0xe3, 0xb7, 0xc5, 0x06, 0xc1, 0xe7, 0x24, 0x73, 0x93, 0x6a, 0x99, 0xc4,
0x77, 0xf3, 0x9c, 0x59, 0xa1, 0xb6, 0xde, 0x1b, 0xe9, 0xd7, 0x0d, 0xfa, 0x44, 0xc1, 0xef, 0xe0,
0xf6, 0xd1, 0xe1, 0xb5, 0x20, 0xe3, 0x0f, 0x30, 0x9f, 0xbf, 0x59, 0x71, 0x59, 0xe5, 0x1f, 0x71,
0xe1, 0xe6, 0x9b, 0x78, 0x4b, 0xb1, 0xdc, 0xb0, 0xae, 0x4d, 0xc0, 0x12, 0xea, 0xd0, 0xf8, 0x0b,
0x81, 0xb3, 0x43, 0x77, 0x31, 0xae, 0xa8, 0x0c, 0xa3, 0xee, 0x68, 0x6b, 0xa9, 0x1a, 0xbf, 0x9b,
0xaa, 0xe6, 0xdd, 0x54, 0xdd, 0x8d, 0xde, 0x4d, 0xf4, 0xb6, 0x22, 0xd9, 0xb4, 0xae, 0x4f, 0x40,
0x22, 0x4d, 0x12, 0xfc, 0x83, 0xc0, 0x52, 0x56, 0x07, 0x8c, 0x12, 0x21, 0x2d, 0x10, 0x89, 0x44,
0xb8, 0x34, 0x54, 0xb1, 0xac, 0xd1, 0x7b, 0x8a, 0xe9, 0x23, 0x7a, 0xe5, 0xf5, 0x4c, 0xc9, 0x3b,
0x4f, 0x6c, 0x0d, 0x89, 0x21, 0xbe, 0x24, 0xb0, 0xf2, 0x30, 0x68, 0x15, 0x00, 0xe8, 0x6b, 0x0b,
0xd7, 0x15, 0xc0, 0xa1, 0x73, 0x5e, 0xc3, 0xfa, 0x23, 0x51, 0xb0, 0x7d, 0xab, 0x3d, 0x09, 0xac,
0xdd, 0xcf, 0xc3, 0x56, 0xbb, 0x4e, 0x6b, 0x60, 0xf7, 0xe2, 0x9c, 0x45, 0x7e, 0xed, 0x1a, 0x14,
0xd4, 0xf9, 0x0f, 0x81, 0x95, 0xe2, 0x85, 0x36, 0x75, 0x1e, 0xa3, 0x19, 0xfb, 0xaa, 0xbe, 0x27,
0xb4, 0xfe, 0x26, 0xeb, 0x2b, 0x28, 0xe2, 0x05, 0x81, 0x73, 0xa9, 0xd3, 0x9b, 0xd8, 0x87, 0xce,
0xf5, 0x98, 0xdc, 0x3f, 0xc7, 0x8d, 0x19, 0x60, 0x6d, 0x32, 0xf0, 0x88, 0xf3, 0xf1, 0x7d, 0xdc,
0x9d, 0xfc, 0xaf, 0x54, 0xf7, 0x4c, 0xb3, 0xf0, 0x6f, 0x02, 0xcb, 0xe9, 0xfb, 0x22, 0xd7, 0x18,
0x81, 0x6b, 0x43, 0x57, 0x4a, 0x7e, 0x8a, 0xa9, 0x73, 0x7d, 0x8c, 0x99, 0x5a, 0xea, 0x76, 0x54,
0xe9, 0x77, 0xf0, 0xd6, 0x31, 0x8a, 0xc0, 0xdf, 0x49, 0xf6, 0x4d, 0x67, 0xb2, 0x09, 0x7c, 0x7f,
0x24, 0x49, 0x02, 0x4b, 0x0f, 0x9b, 0xa2, 0x29, 0xaf, 0x2b, 0xca, 0x2a, 0x4e, 0x74, 0xcc, 0xf1,
0x2f, 0x02, 0xe5, 0xed, 0xb0, 0xf9, 0xd4, 0xe9, 0x0d, 0x6b, 0xce, 0x45, 0x95, 0x75, 0x84, 0xd7,
0xa0, 0x5d, 0x3a, 0x7c, 0x92, 0x86, 0xbb, 0xab, 0xe0, 0x6e, 0x5b, 0x5b, 0x47, 0x58, 0x42, 0x16,
0xc7, 0xde, 0x3b, 0xa9, 0xb4, 0xf6, 0xda, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x64, 0xe8, 0xfa,
0x01, 0xe6, 0x0e, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@@ -699,6 +799,7 @@ type WorkflowServiceClient interface {
ListWorkflows(ctx context.Context, in *ListWorkflowsRequest, opts ...grpc.CallOption) (*ListWorkflowsResponse, error)
WatchWorkflow(ctx context.Context, in *WatchWorkflowRequest, opts ...grpc.CallOption) (WorkflowService_WatchWorkflowClient, error)
GetWorkflowLogs(ctx context.Context, in *GetWorkflowLogsRequest, opts ...grpc.CallOption) (WorkflowService_GetWorkflowLogsClient, error)
GetWorkflowMetrics(ctx context.Context, in *GetWorkflowMetricsRequest, opts ...grpc.CallOption) (*GetWorkflowMetricsResponse, error)
ResubmitWorkflow(ctx context.Context, in *ResubmitWorkflowRequest, opts ...grpc.CallOption) (*Workflow, error)
TerminateWorkflow(ctx context.Context, in *TerminateWorkflowRequest, opts ...grpc.CallOption) (*empty.Empty, error)
CreateWorkflowTemplate(ctx context.Context, in *CreateWorkflowTemplateRequest, opts ...grpc.CallOption) (*WorkflowTemplate, error)
@@ -809,6 +910,15 @@ func (x *workflowServiceGetWorkflowLogsClient) Recv() (*LogEntry, error) {
return m, nil
}
func (c *workflowServiceClient) GetWorkflowMetrics(ctx context.Context, in *GetWorkflowMetricsRequest, opts ...grpc.CallOption) (*GetWorkflowMetricsResponse, error) {
out := new(GetWorkflowMetricsResponse)
err := c.cc.Invoke(ctx, "/api.WorkflowService/GetWorkflowMetrics", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *workflowServiceClient) ResubmitWorkflow(ctx context.Context, in *ResubmitWorkflowRequest, opts ...grpc.CallOption) (*Workflow, error) {
out := new(Workflow)
err := c.cc.Invoke(ctx, "/api.WorkflowService/ResubmitWorkflow", in, out, opts...)
@@ -898,6 +1008,7 @@ type WorkflowServiceServer interface {
ListWorkflows(context.Context, *ListWorkflowsRequest) (*ListWorkflowsResponse, error)
WatchWorkflow(*WatchWorkflowRequest, WorkflowService_WatchWorkflowServer) error
GetWorkflowLogs(*GetWorkflowLogsRequest, WorkflowService_GetWorkflowLogsServer) error
GetWorkflowMetrics(context.Context, *GetWorkflowMetricsRequest) (*GetWorkflowMetricsResponse, error)
ResubmitWorkflow(context.Context, *ResubmitWorkflowRequest) (*Workflow, error)
TerminateWorkflow(context.Context, *TerminateWorkflowRequest) (*empty.Empty, error)
CreateWorkflowTemplate(context.Context, *CreateWorkflowTemplateRequest) (*WorkflowTemplate, error)
@@ -928,6 +1039,9 @@ func (*UnimplementedWorkflowServiceServer) WatchWorkflow(req *WatchWorkflowReque
func (*UnimplementedWorkflowServiceServer) GetWorkflowLogs(req *GetWorkflowLogsRequest, srv WorkflowService_GetWorkflowLogsServer) error {
return status.Errorf(codes.Unimplemented, "method GetWorkflowLogs not implemented")
}
func (*UnimplementedWorkflowServiceServer) GetWorkflowMetrics(ctx context.Context, req *GetWorkflowMetricsRequest) (*GetWorkflowMetricsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetWorkflowMetrics not implemented")
}
func (*UnimplementedWorkflowServiceServer) ResubmitWorkflow(ctx context.Context, req *ResubmitWorkflowRequest) (*Workflow, error) {
return nil, status.Errorf(codes.Unimplemented, "method ResubmitWorkflow not implemented")
}
@@ -1056,6 +1170,24 @@ func (x *workflowServiceGetWorkflowLogsServer) Send(m *LogEntry) error {
return x.ServerStream.SendMsg(m)
}
func _WorkflowService_GetWorkflowMetrics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetWorkflowMetricsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(WorkflowServiceServer).GetWorkflowMetrics(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.WorkflowService/GetWorkflowMetrics",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(WorkflowServiceServer).GetWorkflowMetrics(ctx, req.(*GetWorkflowMetricsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _WorkflowService_ResubmitWorkflow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ResubmitWorkflowRequest)
if err := dec(in); err != nil {
@@ -1234,6 +1366,10 @@ var _WorkflowService_serviceDesc = grpc.ServiceDesc{
MethodName: "ListWorkflows",
Handler: _WorkflowService_ListWorkflows_Handler,
},
{
MethodName: "GetWorkflowMetrics",
Handler: _WorkflowService_GetWorkflowMetrics_Handler,
},
{
MethodName: "ResubmitWorkflow",
Handler: _WorkflowService_ResubmitWorkflow_Handler,

View File

@@ -360,6 +360,104 @@ func request_WorkflowService_GetWorkflowLogs_0(ctx context.Context, marshaler ru
}
func request_WorkflowService_GetWorkflowMetrics_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq GetWorkflowMetricsRequest
var metadata runtime.ServerMetadata
var (
val string
ok bool
err error
_ = err
)
val, ok = pathParams["namespace"]
if !ok {
return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace")
}
protoReq.Namespace, err = runtime.String(val)
if err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err)
}
val, ok = pathParams["name"]
if !ok {
return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name")
}
protoReq.Name, err = runtime.String(val)
if err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err)
}
val, ok = pathParams["podName"]
if !ok {
return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "podName")
}
protoReq.PodName, err = runtime.String(val)
if err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "podName", err)
}
msg, err := client.GetWorkflowMetrics(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_WorkflowService_GetWorkflowMetrics_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq GetWorkflowMetricsRequest
var metadata runtime.ServerMetadata
var (
val string
ok bool
err error
_ = err
)
val, ok = pathParams["namespace"]
if !ok {
return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace")
}
protoReq.Namespace, err = runtime.String(val)
if err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err)
}
val, ok = pathParams["name"]
if !ok {
return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name")
}
protoReq.Name, err = runtime.String(val)
if err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err)
}
val, ok = pathParams["podName"]
if !ok {
return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "podName")
}
protoReq.PodName, err = runtime.String(val)
if err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "podName", err)
}
msg, err := server.GetWorkflowMetrics(ctx, &protoReq)
return msg, metadata, err
}
func request_WorkflowService_ResubmitWorkflow_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq ResubmitWorkflowRequest
var metadata runtime.ServerMetadata
@@ -1262,6 +1360,26 @@ func RegisterWorkflowServiceHandlerServer(ctx context.Context, mux *runtime.Serv
return
})
mux.Handle("GET", pattern_WorkflowService_GetWorkflowMetrics_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req)
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_WorkflowService_GetWorkflowMetrics_0(rctx, inboundMarshaler, server, req, pathParams)
ctx = runtime.NewServerMetadataContext(ctx, md)
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
forward_WorkflowService_GetWorkflowMetrics_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle("PUT", pattern_WorkflowService_ResubmitWorkflow_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
@@ -1603,6 +1721,26 @@ func RegisterWorkflowServiceHandlerClient(ctx context.Context, mux *runtime.Serv
})
mux.Handle("GET", pattern_WorkflowService_GetWorkflowMetrics_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
rctx, err := runtime.AnnotateContext(ctx, mux, req)
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_WorkflowService_GetWorkflowMetrics_0(rctx, inboundMarshaler, client, req, pathParams)
ctx = runtime.NewServerMetadataContext(ctx, md)
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
forward_WorkflowService_GetWorkflowMetrics_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle("PUT", pattern_WorkflowService_ResubmitWorkflow_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
@@ -1817,6 +1955,8 @@ var (
pattern_WorkflowService_GetWorkflowLogs_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4, 2, 5, 1, 0, 4, 1, 5, 6, 2, 7, 1, 0, 4, 1, 5, 8, 2, 9}, []string{"apis", "v1beta1", "namespace", "workflows", "name", "pods", "podName", "containers", "containerName", "logs"}, "", runtime.AssumeColonVerbOpt(true)))
pattern_WorkflowService_GetWorkflowMetrics_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4, 2, 5, 1, 0, 4, 1, 5, 6, 2, 7}, []string{"apis", "v1beta1", "namespace", "workflows", "name", "pods", "podName", "metrics"}, "", runtime.AssumeColonVerbOpt(true)))
pattern_WorkflowService_ResubmitWorkflow_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4, 2, 5}, []string{"apis", "v1beta1", "namespace", "workflows", "name", "resubmit"}, "", runtime.AssumeColonVerbOpt(true)))
pattern_WorkflowService_TerminateWorkflow_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3, 1, 0, 4, 1, 5, 4, 2, 5}, []string{"apis", "v1beta1", "namespace", "workflows", "name", "terminate"}, "", runtime.AssumeColonVerbOpt(true)))
@@ -1849,6 +1989,8 @@ var (
forward_WorkflowService_GetWorkflowLogs_0 = runtime.ForwardResponseStream
forward_WorkflowService_GetWorkflowMetrics_0 = runtime.ForwardResponseMessage
forward_WorkflowService_ResubmitWorkflow_0 = runtime.ForwardResponseMessage
forward_WorkflowService_TerminateWorkflow_0 = runtime.ForwardResponseMessage

View File

@@ -39,6 +39,12 @@ service WorkflowService {
};
}
rpc GetWorkflowMetrics (GetWorkflowMetricsRequest) returns (GetWorkflowMetricsResponse) {
option (google.api.http) = {
get: "/apis/v1beta1/{namespace}/workflows/{name}/pods/{podName}/metrics"
};
}
rpc ResubmitWorkflow (ResubmitWorkflowRequest) returns (Workflow) {
option (google.api.http) = {
put: "/apis/v1beta1/{namespace}/workflows/{name}/resubmit"
@@ -132,6 +138,16 @@ message GetWorkflowLogsRequest {
string containerName = 4;
}
message GetWorkflowMetricsRequest {
string namespace = 1;
string name = 2;
string podName = 3;
}
message GetWorkflowMetricsResponse {
string metrics = 1;
}
message ListWorkflowsRequest {
string namespace = 1;
string workflowTemplateUid = 2;

View File

@@ -421,6 +421,42 @@
]
}
},
"/apis/v1beta1/{namespace}/workflows/{name}/pods/{podName}/metrics": {
"get": {
"operationId": "GetWorkflowMetrics",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
"$ref": "#/definitions/apiGetWorkflowMetricsResponse"
}
}
},
"parameters": [
{
"name": "namespace",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "name",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "podName",
"in": "path",
"required": true,
"type": "string"
}
],
"tags": [
"WorkflowService"
]
}
},
"/apis/v1beta1/{namespace}/workflows/{name}/resubmit": {
"put": {
"operationId": "ResubmitWorkflow",
@@ -521,6 +557,14 @@
}
}
},
"apiGetWorkflowMetricsResponse": {
"type": "object",
"properties": {
"metrics": {
"type": "string"
}
}
},
"apiListWorkflowTemplateVersionsResponse": {
"type": "object",
"properties": {

View File

@@ -5,6 +5,7 @@ import (
"encoding/json"
"fmt"
"io"
"io/ioutil"
"sort"
"strconv"
"strings"
@@ -18,6 +19,7 @@ import (
"github.com/onepanelio/core/s3"
"github.com/onepanelio/core/util"
"github.com/onepanelio/core/util/env"
"github.com/onepanelio/core/util/ptr"
"google.golang.org/grpc/codes"
)
@@ -281,6 +283,43 @@ func (r *ResourceManager) GetWorkflowLogs(namespace, name, podName, containerNam
return logWatcher, err
}
func (r *ResourceManager) GetWorkflowMetrics(namespace, name, podName string) (metrics *string, err error) {
_, err = r.kubeClient.GetWorkflow(namespace, name)
if err != nil {
return nil, util.NewUserError(codes.NotFound, "Workflow not found.")
}
var (
stream io.ReadCloser
s3Client *s3.Client
config map[string]string
)
config, err = r.getNamespaceConfig(namespace)
if err != nil {
return nil, util.NewUserError(codes.PermissionDenied, "Can't get configuration.")
}
s3Client, err = r.getS3Client(namespace, config)
if err != nil {
return nil, util.NewUserError(codes.PermissionDenied, "Can't connect to S3 storage.")
}
opts := s3.GetObjectOptions{}
stream, err = s3Client.GetObject(config[artifactRepositoryBucketKey], "artifacts/"+namespace+"/"+name+"/"+podName+"/metrics.json", opts)
if err != nil {
return nil, util.NewUserError(codes.NotFound, "Metrics do not exist.")
}
content, err := ioutil.ReadAll(stream)
if err != nil {
return nil, util.NewUserError(codes.Unknown, "Unknown error.")
}
metrics = ptr.String(string(content))
return
}
func (r *ResourceManager) ListWorkflows(namespace, workflowTemplateUID, workflowTemplateVersion string) (workflows []*model.Workflow, err error) {
opts := &kube.WorkflowOptions{}
if workflowTemplateUID != "" {

View File

@@ -141,6 +141,15 @@ func (s *WorkflowServer) GetWorkflowLogs(req *api.GetWorkflowLogsRequest, stream
return nil
}
func (s *WorkflowServer) GetWorkflowMetrics(ctx context.Context, req *api.GetWorkflowMetricsRequest) (*api.GetWorkflowMetricsResponse, error) {
metrics, err := s.resourceManager.GetWorkflowMetrics(req.Namespace, req.Name, req.PodName)
if errors.As(err, &userError) {
return nil, userError.GRPCError()
}
return &api.GetWorkflowMetricsResponse{Metrics: *metrics}, nil
}
func (s *WorkflowServer) ListWorkflows(ctx context.Context, req *api.ListWorkflowsRequest) (*api.ListWorkflowsResponse, error) {
workflows, err := s.resourceManager.ListWorkflows(req.Namespace, req.WorkflowTemplateUid, req.WorkflowTemplateVersion)
if errors.As(err, &userError) {