Add support for counting kdumps in pure-runner. (#1309)

This commit is contained in:
Krister Johansen
2018-11-21 16:26:30 -08:00
committed by Tolga Ceylan
parent 4ac397dece
commit af59d19d24
5 changed files with 401 additions and 171 deletions

View File

@@ -1,33 +1,15 @@
// Code generated by protoc-gen-go. DO NOT EDIT. // Code generated by protoc-gen-go. DO NOT EDIT.
// source: runner.proto // source: runner.proto
/*
Package runner is a generated protocol buffer package.
It is generated from these files:
runner.proto
It has these top-level messages:
TryCall
DataFrame
HttpHeader
HttpRespMeta
CallResultStart
CallFinished
ClientMsg
RunnerMsg
RunnerStatus
*/
package runner package runner
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import google_protobuf "github.com/golang/protobuf/ptypes/empty"
import ( import (
context "golang.org/x/net/context" context "context"
fmt "fmt"
proto "github.com/golang/protobuf/proto"
empty "github.com/golang/protobuf/ptypes/empty"
grpc "google.golang.org/grpc" grpc "google.golang.org/grpc"
math "math"
) )
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
@@ -43,15 +25,38 @@ const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
// Request to allocate a slot for a call // Request to allocate a slot for a call
type TryCall struct { type TryCall struct {
ModelsCallJson string `protobuf:"bytes,1,opt,name=models_call_json,json=modelsCallJson" json:"models_call_json,omitempty"` ModelsCallJson string `protobuf:"bytes,1,opt,name=models_call_json,json=modelsCallJson,proto3" json:"models_call_json,omitempty"`
SlotHashId string `protobuf:"bytes,2,opt,name=slot_hash_id,json=slotHashId" json:"slot_hash_id,omitempty"` SlotHashId string `protobuf:"bytes,2,opt,name=slot_hash_id,json=slotHashId,proto3" json:"slot_hash_id,omitempty"`
Extensions map[string]string `protobuf:"bytes,3,rep,name=extensions" json:"extensions,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` Extensions map[string]string `protobuf:"bytes,3,rep,name=extensions,proto3" json:"extensions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
} }
func (m *TryCall) Reset() { *m = TryCall{} } func (m *TryCall) Reset() { *m = TryCall{} }
func (m *TryCall) String() string { return proto.CompactTextString(m) } func (m *TryCall) String() string { return proto.CompactTextString(m) }
func (*TryCall) ProtoMessage() {} func (*TryCall) ProtoMessage() {}
func (*TryCall) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } func (*TryCall) Descriptor() ([]byte, []int) {
return fileDescriptor_48eceea7e2abc593, []int{0}
}
func (m *TryCall) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TryCall.Unmarshal(m, b)
}
func (m *TryCall) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TryCall.Marshal(b, m, deterministic)
}
func (m *TryCall) XXX_Merge(src proto.Message) {
xxx_messageInfo_TryCall.Merge(m, src)
}
func (m *TryCall) XXX_Size() int {
return xxx_messageInfo_TryCall.Size(m)
}
func (m *TryCall) XXX_DiscardUnknown() {
xxx_messageInfo_TryCall.DiscardUnknown(m)
}
var xxx_messageInfo_TryCall proto.InternalMessageInfo
func (m *TryCall) GetModelsCallJson() string { func (m *TryCall) GetModelsCallJson() string {
if m != nil { if m != nil {
@@ -79,14 +84,37 @@ func (m *TryCall) GetExtensions() map[string]string {
// The runner will send these for the body of the response, AFTER it has sent // The runner will send these for the body of the response, AFTER it has sent
// a CallEnding message. // a CallEnding message.
type DataFrame struct { type DataFrame struct {
Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
Eof bool `protobuf:"varint,2,opt,name=eof" json:"eof,omitempty"` Eof bool `protobuf:"varint,2,opt,name=eof,proto3" json:"eof,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
} }
func (m *DataFrame) Reset() { *m = DataFrame{} } func (m *DataFrame) Reset() { *m = DataFrame{} }
func (m *DataFrame) String() string { return proto.CompactTextString(m) } func (m *DataFrame) String() string { return proto.CompactTextString(m) }
func (*DataFrame) ProtoMessage() {} func (*DataFrame) ProtoMessage() {}
func (*DataFrame) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } func (*DataFrame) Descriptor() ([]byte, []int) {
return fileDescriptor_48eceea7e2abc593, []int{1}
}
func (m *DataFrame) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DataFrame.Unmarshal(m, b)
}
func (m *DataFrame) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_DataFrame.Marshal(b, m, deterministic)
}
func (m *DataFrame) XXX_Merge(src proto.Message) {
xxx_messageInfo_DataFrame.Merge(m, src)
}
func (m *DataFrame) XXX_Size() int {
return xxx_messageInfo_DataFrame.Size(m)
}
func (m *DataFrame) XXX_DiscardUnknown() {
xxx_messageInfo_DataFrame.DiscardUnknown(m)
}
var xxx_messageInfo_DataFrame proto.InternalMessageInfo
func (m *DataFrame) GetData() []byte { func (m *DataFrame) GetData() []byte {
if m != nil { if m != nil {
@@ -103,14 +131,37 @@ func (m *DataFrame) GetEof() bool {
} }
type HttpHeader struct { type HttpHeader struct {
Key string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"` Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
Value string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
} }
func (m *HttpHeader) Reset() { *m = HttpHeader{} } func (m *HttpHeader) Reset() { *m = HttpHeader{} }
func (m *HttpHeader) String() string { return proto.CompactTextString(m) } func (m *HttpHeader) String() string { return proto.CompactTextString(m) }
func (*HttpHeader) ProtoMessage() {} func (*HttpHeader) ProtoMessage() {}
func (*HttpHeader) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } func (*HttpHeader) Descriptor() ([]byte, []int) {
return fileDescriptor_48eceea7e2abc593, []int{2}
}
func (m *HttpHeader) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_HttpHeader.Unmarshal(m, b)
}
func (m *HttpHeader) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_HttpHeader.Marshal(b, m, deterministic)
}
func (m *HttpHeader) XXX_Merge(src proto.Message) {
xxx_messageInfo_HttpHeader.Merge(m, src)
}
func (m *HttpHeader) XXX_Size() int {
return xxx_messageInfo_HttpHeader.Size(m)
}
func (m *HttpHeader) XXX_DiscardUnknown() {
xxx_messageInfo_HttpHeader.DiscardUnknown(m)
}
var xxx_messageInfo_HttpHeader proto.InternalMessageInfo
func (m *HttpHeader) GetKey() string { func (m *HttpHeader) GetKey() string {
if m != nil { if m != nil {
@@ -127,14 +178,37 @@ func (m *HttpHeader) GetValue() string {
} }
type HttpRespMeta struct { type HttpRespMeta struct {
StatusCode int32 `protobuf:"varint,1,opt,name=status_code,json=statusCode" json:"status_code,omitempty"` StatusCode int32 `protobuf:"varint,1,opt,name=status_code,json=statusCode,proto3" json:"status_code,omitempty"`
Headers []*HttpHeader `protobuf:"bytes,2,rep,name=headers" json:"headers,omitempty"` Headers []*HttpHeader `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
} }
func (m *HttpRespMeta) Reset() { *m = HttpRespMeta{} } func (m *HttpRespMeta) Reset() { *m = HttpRespMeta{} }
func (m *HttpRespMeta) String() string { return proto.CompactTextString(m) } func (m *HttpRespMeta) String() string { return proto.CompactTextString(m) }
func (*HttpRespMeta) ProtoMessage() {} func (*HttpRespMeta) ProtoMessage() {}
func (*HttpRespMeta) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } func (*HttpRespMeta) Descriptor() ([]byte, []int) {
return fileDescriptor_48eceea7e2abc593, []int{3}
}
func (m *HttpRespMeta) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_HttpRespMeta.Unmarshal(m, b)
}
func (m *HttpRespMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_HttpRespMeta.Marshal(b, m, deterministic)
}
func (m *HttpRespMeta) XXX_Merge(src proto.Message) {
xxx_messageInfo_HttpRespMeta.Merge(m, src)
}
func (m *HttpRespMeta) XXX_Size() int {
return xxx_messageInfo_HttpRespMeta.Size(m)
}
func (m *HttpRespMeta) XXX_DiscardUnknown() {
xxx_messageInfo_HttpRespMeta.DiscardUnknown(m)
}
var xxx_messageInfo_HttpRespMeta proto.InternalMessageInfo
func (m *HttpRespMeta) GetStatusCode() int32 { func (m *HttpRespMeta) GetStatusCode() int32 {
if m != nil { if m != nil {
@@ -155,18 +229,43 @@ func (m *HttpRespMeta) GetHeaders() []*HttpHeader {
type CallResultStart struct { type CallResultStart struct {
// Types that are valid to be assigned to Meta: // Types that are valid to be assigned to Meta:
// *CallResultStart_Http // *CallResultStart_Http
Meta isCallResultStart_Meta `protobuf_oneof:"meta"` Meta isCallResultStart_Meta `protobuf_oneof:"meta"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
} }
func (m *CallResultStart) Reset() { *m = CallResultStart{} } func (m *CallResultStart) Reset() { *m = CallResultStart{} }
func (m *CallResultStart) String() string { return proto.CompactTextString(m) } func (m *CallResultStart) String() string { return proto.CompactTextString(m) }
func (*CallResultStart) ProtoMessage() {} func (*CallResultStart) ProtoMessage() {}
func (*CallResultStart) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } func (*CallResultStart) Descriptor() ([]byte, []int) {
return fileDescriptor_48eceea7e2abc593, []int{4}
}
type isCallResultStart_Meta interface{ isCallResultStart_Meta() } func (m *CallResultStart) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CallResultStart.Unmarshal(m, b)
}
func (m *CallResultStart) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CallResultStart.Marshal(b, m, deterministic)
}
func (m *CallResultStart) XXX_Merge(src proto.Message) {
xxx_messageInfo_CallResultStart.Merge(m, src)
}
func (m *CallResultStart) XXX_Size() int {
return xxx_messageInfo_CallResultStart.Size(m)
}
func (m *CallResultStart) XXX_DiscardUnknown() {
xxx_messageInfo_CallResultStart.DiscardUnknown(m)
}
var xxx_messageInfo_CallResultStart proto.InternalMessageInfo
type isCallResultStart_Meta interface {
isCallResultStart_Meta()
}
type CallResultStart_Http struct { type CallResultStart_Http struct {
Http *HttpRespMeta `protobuf:"bytes,100,opt,name=http,oneof"` Http *HttpRespMeta `protobuf:"bytes,100,opt,name=http,proto3,oneof"`
} }
func (*CallResultStart_Http) isCallResultStart_Meta() {} func (*CallResultStart_Http) isCallResultStart_Meta() {}
@@ -230,7 +329,7 @@ func _CallResultStart_OneofSizer(msg proto.Message) (n int) {
switch x := m.Meta.(type) { switch x := m.Meta.(type) {
case *CallResultStart_Http: case *CallResultStart_Http:
s := proto.Size(x.Http) s := proto.Size(x.Http)
n += proto.SizeVarint(100<<3 | proto.WireBytes) n += 2 // tag and wire
n += proto.SizeVarint(uint64(s)) n += proto.SizeVarint(uint64(s))
n += s n += s
case nil: case nil:
@@ -242,19 +341,42 @@ func _CallResultStart_OneofSizer(msg proto.Message) (n int) {
// Call has really finished, it might have completed or crashed // Call has really finished, it might have completed or crashed
type CallFinished struct { type CallFinished struct {
Success bool `protobuf:"varint,1,opt,name=success" json:"success,omitempty"` Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
Details string `protobuf:"bytes,2,opt,name=details" json:"details,omitempty"` Details string `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"`
ErrorCode int32 `protobuf:"varint,3,opt,name=errorCode" json:"errorCode,omitempty"` ErrorCode int32 `protobuf:"varint,3,opt,name=errorCode,proto3" json:"errorCode,omitempty"`
ErrorStr string `protobuf:"bytes,4,opt,name=errorStr" json:"errorStr,omitempty"` ErrorStr string `protobuf:"bytes,4,opt,name=errorStr,proto3" json:"errorStr,omitempty"`
CreatedAt string `protobuf:"bytes,5,opt,name=createdAt" json:"createdAt,omitempty"` CreatedAt string `protobuf:"bytes,5,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
StartedAt string `protobuf:"bytes,6,opt,name=startedAt" json:"startedAt,omitempty"` StartedAt string `protobuf:"bytes,6,opt,name=startedAt,proto3" json:"startedAt,omitempty"`
CompletedAt string `protobuf:"bytes,7,opt,name=completedAt" json:"completedAt,omitempty"` CompletedAt string `protobuf:"bytes,7,opt,name=completedAt,proto3" json:"completedAt,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
} }
func (m *CallFinished) Reset() { *m = CallFinished{} } func (m *CallFinished) Reset() { *m = CallFinished{} }
func (m *CallFinished) String() string { return proto.CompactTextString(m) } func (m *CallFinished) String() string { return proto.CompactTextString(m) }
func (*CallFinished) ProtoMessage() {} func (*CallFinished) ProtoMessage() {}
func (*CallFinished) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } func (*CallFinished) Descriptor() ([]byte, []int) {
return fileDescriptor_48eceea7e2abc593, []int{5}
}
func (m *CallFinished) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CallFinished.Unmarshal(m, b)
}
func (m *CallFinished) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_CallFinished.Marshal(b, m, deterministic)
}
func (m *CallFinished) XXX_Merge(src proto.Message) {
xxx_messageInfo_CallFinished.Merge(m, src)
}
func (m *CallFinished) XXX_Size() int {
return xxx_messageInfo_CallFinished.Size(m)
}
func (m *CallFinished) XXX_DiscardUnknown() {
xxx_messageInfo_CallFinished.DiscardUnknown(m)
}
var xxx_messageInfo_CallFinished proto.InternalMessageInfo
func (m *CallFinished) GetSuccess() bool { func (m *CallFinished) GetSuccess() bool {
if m != nil { if m != nil {
@@ -309,24 +431,51 @@ type ClientMsg struct {
// Types that are valid to be assigned to Body: // Types that are valid to be assigned to Body:
// *ClientMsg_Try // *ClientMsg_Try
// *ClientMsg_Data // *ClientMsg_Data
Body isClientMsg_Body `protobuf_oneof:"body"` Body isClientMsg_Body `protobuf_oneof:"body"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
} }
func (m *ClientMsg) Reset() { *m = ClientMsg{} } func (m *ClientMsg) Reset() { *m = ClientMsg{} }
func (m *ClientMsg) String() string { return proto.CompactTextString(m) } func (m *ClientMsg) String() string { return proto.CompactTextString(m) }
func (*ClientMsg) ProtoMessage() {} func (*ClientMsg) ProtoMessage() {}
func (*ClientMsg) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } func (*ClientMsg) Descriptor() ([]byte, []int) {
return fileDescriptor_48eceea7e2abc593, []int{6}
}
type isClientMsg_Body interface{ isClientMsg_Body() } func (m *ClientMsg) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ClientMsg.Unmarshal(m, b)
}
func (m *ClientMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ClientMsg.Marshal(b, m, deterministic)
}
func (m *ClientMsg) XXX_Merge(src proto.Message) {
xxx_messageInfo_ClientMsg.Merge(m, src)
}
func (m *ClientMsg) XXX_Size() int {
return xxx_messageInfo_ClientMsg.Size(m)
}
func (m *ClientMsg) XXX_DiscardUnknown() {
xxx_messageInfo_ClientMsg.DiscardUnknown(m)
}
var xxx_messageInfo_ClientMsg proto.InternalMessageInfo
type isClientMsg_Body interface {
isClientMsg_Body()
}
type ClientMsg_Try struct { type ClientMsg_Try struct {
Try *TryCall `protobuf:"bytes,1,opt,name=try,oneof"` Try *TryCall `protobuf:"bytes,1,opt,name=try,proto3,oneof"`
}
type ClientMsg_Data struct {
Data *DataFrame `protobuf:"bytes,2,opt,name=data,oneof"`
} }
func (*ClientMsg_Try) isClientMsg_Body() {} type ClientMsg_Data struct {
Data *DataFrame `protobuf:"bytes,2,opt,name=data,proto3,oneof"`
}
func (*ClientMsg_Try) isClientMsg_Body() {}
func (*ClientMsg_Data) isClientMsg_Body() {} func (*ClientMsg_Data) isClientMsg_Body() {}
func (m *ClientMsg) GetBody() isClientMsg_Body { func (m *ClientMsg) GetBody() isClientMsg_Body {
@@ -409,12 +558,12 @@ func _ClientMsg_OneofSizer(msg proto.Message) (n int) {
switch x := m.Body.(type) { switch x := m.Body.(type) {
case *ClientMsg_Try: case *ClientMsg_Try:
s := proto.Size(x.Try) s := proto.Size(x.Try)
n += proto.SizeVarint(1<<3 | proto.WireBytes) n += 1 // tag and wire
n += proto.SizeVarint(uint64(s)) n += proto.SizeVarint(uint64(s))
n += s n += s
case *ClientMsg_Data: case *ClientMsg_Data:
s := proto.Size(x.Data) s := proto.Size(x.Data)
n += proto.SizeVarint(2<<3 | proto.WireBytes) n += 1 // tag and wire
n += proto.SizeVarint(uint64(s)) n += proto.SizeVarint(uint64(s))
n += s n += s
case nil: case nil:
@@ -429,29 +578,58 @@ type RunnerMsg struct {
// *RunnerMsg_ResultStart // *RunnerMsg_ResultStart
// *RunnerMsg_Data // *RunnerMsg_Data
// *RunnerMsg_Finished // *RunnerMsg_Finished
Body isRunnerMsg_Body `protobuf_oneof:"body"` Body isRunnerMsg_Body `protobuf_oneof:"body"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
} }
func (m *RunnerMsg) Reset() { *m = RunnerMsg{} } func (m *RunnerMsg) Reset() { *m = RunnerMsg{} }
func (m *RunnerMsg) String() string { return proto.CompactTextString(m) } func (m *RunnerMsg) String() string { return proto.CompactTextString(m) }
func (*RunnerMsg) ProtoMessage() {} func (*RunnerMsg) ProtoMessage() {}
func (*RunnerMsg) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } func (*RunnerMsg) Descriptor() ([]byte, []int) {
return fileDescriptor_48eceea7e2abc593, []int{7}
}
type isRunnerMsg_Body interface{ isRunnerMsg_Body() } func (m *RunnerMsg) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RunnerMsg.Unmarshal(m, b)
}
func (m *RunnerMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RunnerMsg.Marshal(b, m, deterministic)
}
func (m *RunnerMsg) XXX_Merge(src proto.Message) {
xxx_messageInfo_RunnerMsg.Merge(m, src)
}
func (m *RunnerMsg) XXX_Size() int {
return xxx_messageInfo_RunnerMsg.Size(m)
}
func (m *RunnerMsg) XXX_DiscardUnknown() {
xxx_messageInfo_RunnerMsg.DiscardUnknown(m)
}
var xxx_messageInfo_RunnerMsg proto.InternalMessageInfo
type isRunnerMsg_Body interface {
isRunnerMsg_Body()
}
type RunnerMsg_ResultStart struct { type RunnerMsg_ResultStart struct {
ResultStart *CallResultStart `protobuf:"bytes,1,opt,name=result_start,json=resultStart,oneof"` ResultStart *CallResultStart `protobuf:"bytes,1,opt,name=result_start,json=resultStart,proto3,oneof"`
} }
type RunnerMsg_Data struct { type RunnerMsg_Data struct {
Data *DataFrame `protobuf:"bytes,2,opt,name=data,oneof"` Data *DataFrame `protobuf:"bytes,2,opt,name=data,proto3,oneof"`
} }
type RunnerMsg_Finished struct { type RunnerMsg_Finished struct {
Finished *CallFinished `protobuf:"bytes,3,opt,name=finished,oneof"` Finished *CallFinished `protobuf:"bytes,3,opt,name=finished,proto3,oneof"`
} }
func (*RunnerMsg_ResultStart) isRunnerMsg_Body() {} func (*RunnerMsg_ResultStart) isRunnerMsg_Body() {}
func (*RunnerMsg_Data) isRunnerMsg_Body() {}
func (*RunnerMsg_Finished) isRunnerMsg_Body() {} func (*RunnerMsg_Data) isRunnerMsg_Body() {}
func (*RunnerMsg_Finished) isRunnerMsg_Body() {}
func (m *RunnerMsg) GetBody() isRunnerMsg_Body { func (m *RunnerMsg) GetBody() isRunnerMsg_Body {
if m != nil { if m != nil {
@@ -554,17 +732,17 @@ func _RunnerMsg_OneofSizer(msg proto.Message) (n int) {
switch x := m.Body.(type) { switch x := m.Body.(type) {
case *RunnerMsg_ResultStart: case *RunnerMsg_ResultStart:
s := proto.Size(x.ResultStart) s := proto.Size(x.ResultStart)
n += proto.SizeVarint(1<<3 | proto.WireBytes) n += 1 // tag and wire
n += proto.SizeVarint(uint64(s)) n += proto.SizeVarint(uint64(s))
n += s n += s
case *RunnerMsg_Data: case *RunnerMsg_Data:
s := proto.Size(x.Data) s := proto.Size(x.Data)
n += proto.SizeVarint(2<<3 | proto.WireBytes) n += 1 // tag and wire
n += proto.SizeVarint(uint64(s)) n += proto.SizeVarint(uint64(s))
n += s n += s
case *RunnerMsg_Finished: case *RunnerMsg_Finished:
s := proto.Size(x.Finished) s := proto.Size(x.Finished)
n += proto.SizeVarint(3<<3 | proto.WireBytes) n += 1 // tag and wire
n += proto.SizeVarint(uint64(s)) n += proto.SizeVarint(uint64(s))
n += s n += s
case nil: case nil:
@@ -575,24 +753,48 @@ func _RunnerMsg_OneofSizer(msg proto.Message) (n int) {
} }
type RunnerStatus struct { type RunnerStatus struct {
Active int32 `protobuf:"varint,2,opt,name=active" json:"active,omitempty"` Active int32 `protobuf:"varint,2,opt,name=active,proto3" json:"active,omitempty"`
Failed bool `protobuf:"varint,3,opt,name=failed" json:"failed,omitempty"` Failed bool `protobuf:"varint,3,opt,name=failed,proto3" json:"failed,omitempty"`
Id string `protobuf:"bytes,4,opt,name=id" json:"id,omitempty"` Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"`
Details string `protobuf:"bytes,5,opt,name=details" json:"details,omitempty"` Details string `protobuf:"bytes,5,opt,name=details,proto3" json:"details,omitempty"`
ErrorCode int32 `protobuf:"varint,6,opt,name=errorCode" json:"errorCode,omitempty"` ErrorCode int32 `protobuf:"varint,6,opt,name=errorCode,proto3" json:"errorCode,omitempty"`
ErrorStr string `protobuf:"bytes,7,opt,name=errorStr" json:"errorStr,omitempty"` ErrorStr string `protobuf:"bytes,7,opt,name=errorStr,proto3" json:"errorStr,omitempty"`
CreatedAt string `protobuf:"bytes,8,opt,name=createdAt" json:"createdAt,omitempty"` CreatedAt string `protobuf:"bytes,8,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
StartedAt string `protobuf:"bytes,9,opt,name=startedAt" json:"startedAt,omitempty"` StartedAt string `protobuf:"bytes,9,opt,name=startedAt,proto3" json:"startedAt,omitempty"`
CompletedAt string `protobuf:"bytes,10,opt,name=completedAt" json:"completedAt,omitempty"` CompletedAt string `protobuf:"bytes,10,opt,name=completedAt,proto3" json:"completedAt,omitempty"`
Cached bool `protobuf:"varint,11,opt,name=cached" json:"cached,omitempty"` Cached bool `protobuf:"varint,11,opt,name=cached,proto3" json:"cached,omitempty"`
RequestsReceived uint64 `protobuf:"varint,12,opt,name=requestsReceived" json:"requestsReceived,omitempty"` RequestsReceived uint64 `protobuf:"varint,12,opt,name=requestsReceived,proto3" json:"requestsReceived,omitempty"`
RequestsHandled uint64 `protobuf:"varint,13,opt,name=requestsHandled" json:"requestsHandled,omitempty"` RequestsHandled uint64 `protobuf:"varint,13,opt,name=requestsHandled,proto3" json:"requestsHandled,omitempty"`
KdumpsOnDisk uint64 `protobuf:"varint,14,opt,name=kdumpsOnDisk,proto3" json:"kdumpsOnDisk,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
} }
func (m *RunnerStatus) Reset() { *m = RunnerStatus{} } func (m *RunnerStatus) Reset() { *m = RunnerStatus{} }
func (m *RunnerStatus) String() string { return proto.CompactTextString(m) } func (m *RunnerStatus) String() string { return proto.CompactTextString(m) }
func (*RunnerStatus) ProtoMessage() {} func (*RunnerStatus) ProtoMessage() {}
func (*RunnerStatus) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } func (*RunnerStatus) Descriptor() ([]byte, []int) {
return fileDescriptor_48eceea7e2abc593, []int{8}
}
func (m *RunnerStatus) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RunnerStatus.Unmarshal(m, b)
}
func (m *RunnerStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RunnerStatus.Marshal(b, m, deterministic)
}
func (m *RunnerStatus) XXX_Merge(src proto.Message) {
xxx_messageInfo_RunnerStatus.Merge(m, src)
}
func (m *RunnerStatus) XXX_Size() int {
return xxx_messageInfo_RunnerStatus.Size(m)
}
func (m *RunnerStatus) XXX_DiscardUnknown() {
xxx_messageInfo_RunnerStatus.DiscardUnknown(m)
}
var xxx_messageInfo_RunnerStatus proto.InternalMessageInfo
func (m *RunnerStatus) GetActive() int32 { func (m *RunnerStatus) GetActive() int32 {
if m != nil { if m != nil {
@@ -678,8 +880,16 @@ func (m *RunnerStatus) GetRequestsHandled() uint64 {
return 0 return 0
} }
func (m *RunnerStatus) GetKdumpsOnDisk() uint64 {
if m != nil {
return m.KdumpsOnDisk
}
return 0
}
func init() { func init() {
proto.RegisterType((*TryCall)(nil), "TryCall") proto.RegisterType((*TryCall)(nil), "TryCall")
proto.RegisterMapType((map[string]string)(nil), "TryCall.ExtensionsEntry")
proto.RegisterType((*DataFrame)(nil), "DataFrame") proto.RegisterType((*DataFrame)(nil), "DataFrame")
proto.RegisterType((*HttpHeader)(nil), "HttpHeader") proto.RegisterType((*HttpHeader)(nil), "HttpHeader")
proto.RegisterType((*HttpRespMeta)(nil), "HttpRespMeta") proto.RegisterType((*HttpRespMeta)(nil), "HttpRespMeta")
@@ -690,6 +900,58 @@ func init() {
proto.RegisterType((*RunnerStatus)(nil), "RunnerStatus") proto.RegisterType((*RunnerStatus)(nil), "RunnerStatus")
} }
func init() { proto.RegisterFile("runner.proto", fileDescriptor_48eceea7e2abc593) }
var fileDescriptor_48eceea7e2abc593 = []byte{
// 722 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0xdd, 0x6a, 0xdb, 0x48,
0x14, 0xb6, 0xfc, 0xef, 0x23, 0xc5, 0x31, 0xc3, 0xb2, 0x08, 0x6f, 0x60, 0x8d, 0x76, 0x17, 0xcc,
0x2e, 0x28, 0xbb, 0xde, 0x5d, 0x08, 0x85, 0x16, 0xda, 0xc4, 0x41, 0x2d, 0x84, 0x96, 0x71, 0xe9,
0xad, 0x99, 0x68, 0x8e, 0x6d, 0x35, 0xb2, 0xc6, 0x9d, 0x19, 0x85, 0xfa, 0x35, 0x7a, 0xd7, 0x97,
0xea, 0x03, 0xf4, 0x69, 0xca, 0x8c, 0x64, 0xc5, 0x4d, 0xc0, 0xe9, 0x9d, 0xce, 0xf7, 0x9d, 0xff,
0xef, 0x68, 0xc0, 0x93, 0x79, 0x96, 0xa1, 0x0c, 0x37, 0x52, 0x68, 0x31, 0xfc, 0x65, 0x29, 0xc4,
0x32, 0xc5, 0x53, 0x6b, 0x5d, 0xe7, 0x8b, 0x53, 0x5c, 0x6f, 0xf4, 0xb6, 0x20, 0x83, 0x2f, 0x0e,
0x74, 0xde, 0xca, 0xed, 0x39, 0x4b, 0x53, 0x32, 0x86, 0xc1, 0x5a, 0x70, 0x4c, 0xd5, 0x3c, 0x66,
0x69, 0x3a, 0x7f, 0xaf, 0x44, 0xe6, 0x3b, 0x23, 0x67, 0xdc, 0xa3, 0xfd, 0x02, 0x37, 0x5e, 0xaf,
0x94, 0xc8, 0xc8, 0x08, 0x3c, 0x95, 0x0a, 0x3d, 0x5f, 0x31, 0xb5, 0x9a, 0x27, 0xdc, 0xaf, 0x5b,
0x2f, 0x30, 0x58, 0xc4, 0xd4, 0xea, 0x25, 0x27, 0x67, 0x00, 0xf8, 0x51, 0x63, 0xa6, 0x12, 0x91,
0x29, 0xbf, 0x31, 0x6a, 0x8c, 0xdd, 0x89, 0x1f, 0x96, 0x95, 0xc2, 0x69, 0x45, 0x4d, 0x33, 0x2d,
0xb7, 0x74, 0xcf, 0x77, 0xf8, 0x14, 0x8e, 0xef, 0xd1, 0x64, 0x00, 0x8d, 0x1b, 0xdc, 0x96, 0xbd,
0x98, 0x4f, 0xf2, 0x13, 0xb4, 0x6e, 0x59, 0x9a, 0x63, 0x59, 0xb9, 0x30, 0x9e, 0xd4, 0xcf, 0x9c,
0xe0, 0x1f, 0xe8, 0x5d, 0x30, 0xcd, 0x2e, 0x25, 0x5b, 0x23, 0x21, 0xd0, 0xe4, 0x4c, 0x33, 0x1b,
0xe9, 0x51, 0xfb, 0x6d, 0x92, 0xa1, 0x58, 0xd8, 0xc0, 0x2e, 0x35, 0x9f, 0xc1, 0x7f, 0x00, 0x91,
0xd6, 0x9b, 0x08, 0x19, 0x47, 0xf9, 0xa3, 0xc5, 0x82, 0x77, 0xe0, 0x99, 0x28, 0x8a, 0x6a, 0x73,
0x85, 0x9a, 0x91, 0x5f, 0xc1, 0x55, 0x9a, 0xe9, 0x5c, 0xcd, 0x63, 0xc1, 0xd1, 0xc6, 0xb7, 0x28,
0x14, 0xd0, 0xb9, 0xe0, 0x48, 0xfe, 0x80, 0xce, 0xca, 0x96, 0x50, 0x7e, 0xdd, 0xee, 0xc3, 0x0d,
0xef, 0xca, 0xd2, 0x1d, 0x17, 0x3c, 0x83, 0x63, 0xb3, 0x23, 0x8a, 0x2a, 0x4f, 0xf5, 0x4c, 0x33,
0xa9, 0xc9, 0x6f, 0xd0, 0x5c, 0x69, 0xbd, 0xf1, 0xf9, 0xc8, 0x19, 0xbb, 0x93, 0xa3, 0x70, 0xbf,
0x6e, 0x54, 0xa3, 0x96, 0x7c, 0xd1, 0x86, 0xe6, 0x1a, 0x35, 0x0b, 0xbe, 0x3a, 0xe0, 0x99, 0x04,
0x97, 0x49, 0x96, 0xa8, 0x15, 0x72, 0xe2, 0x43, 0x47, 0xe5, 0x71, 0x8c, 0x4a, 0xd9, 0xa6, 0xba,
0x74, 0x67, 0x1a, 0x86, 0xa3, 0x66, 0x49, 0xaa, 0xca, 0xd1, 0x76, 0x26, 0x39, 0x81, 0x1e, 0x4a,
0x29, 0xa4, 0x69, 0xdc, 0x6f, 0xd8, 0x51, 0xee, 0x00, 0x32, 0x84, 0xae, 0x35, 0x66, 0x5a, 0xfa,
0x4d, 0x1b, 0x58, 0xd9, 0x26, 0x32, 0x96, 0xc8, 0x34, 0xf2, 0xe7, 0xda, 0x6f, 0x59, 0xf2, 0x0e,
0x30, 0xac, 0x32, 0x23, 0x59, 0xb6, 0x5d, 0xb0, 0x15, 0x40, 0x46, 0xe0, 0xc6, 0x62, 0xbd, 0x49,
0xb1, 0xe0, 0x3b, 0x96, 0xdf, 0x87, 0x82, 0x19, 0xf4, 0xce, 0xd3, 0x04, 0x33, 0x7d, 0xa5, 0x96,
0xe4, 0x04, 0x1a, 0x5a, 0x16, 0x4a, 0xb9, 0x93, 0xee, 0xee, 0xb8, 0xa2, 0x1a, 0x35, 0x30, 0x19,
0x95, 0xda, 0xd7, 0x2d, 0x0d, 0x61, 0x75, 0x15, 0x66, 0x63, 0x86, 0x31, 0x1b, 0xbb, 0x16, 0x7c,
0x1b, 0x7c, 0x76, 0xa0, 0x47, 0xed, 0x1f, 0x63, 0xb2, 0xfe, 0x0f, 0x9e, 0xb4, 0xbb, 0x9f, 0xdb,
0xc6, 0xca, 0xf4, 0x83, 0xf0, 0x9e, 0x28, 0x51, 0x8d, 0xba, 0x72, 0x4f, 0xa3, 0x47, 0xcb, 0x91,
0xbf, 0xa0, 0xbb, 0x28, 0x35, 0xb1, 0x2b, 0x35, 0x4a, 0xee, 0x0b, 0x15, 0xd5, 0x68, 0xe5, 0x50,
0xf5, 0xf6, 0xa9, 0x01, 0x5e, 0xd1, 0xdb, 0xcc, 0x5e, 0x12, 0xf9, 0x19, 0xda, 0x2c, 0xd6, 0xc9,
0x6d, 0x71, 0x8d, 0x2d, 0x5a, 0x5a, 0x06, 0x5f, 0xb0, 0x24, 0x2d, 0x73, 0x77, 0x69, 0x69, 0x91,
0x3e, 0xd4, 0x13, 0x5e, 0xaa, 0x54, 0x4f, 0xf8, 0xbe, 0xe6, 0xad, 0x03, 0x9a, 0xb7, 0x0f, 0x69,
0xde, 0x39, 0xa4, 0x79, 0xf7, 0xa0, 0xe6, 0xbd, 0x47, 0x34, 0x87, 0x07, 0x9a, 0x9b, 0xc9, 0x62,
0x16, 0x9b, 0xad, 0xb9, 0xc5, 0x64, 0x85, 0x45, 0xfe, 0x84, 0x81, 0xc4, 0x0f, 0x39, 0x2a, 0xad,
0x28, 0xc6, 0x98, 0xdc, 0x22, 0xf7, 0xbd, 0x91, 0x33, 0x6e, 0xd2, 0x07, 0x38, 0x19, 0xc3, 0xf1,
0x0e, 0x8b, 0x58, 0xc6, 0xcd, 0x9a, 0x8e, 0xac, 0xeb, 0x7d, 0x98, 0x04, 0xe0, 0xdd, 0xf0, 0x7c,
0xbd, 0x51, 0xaf, 0xb3, 0x8b, 0x44, 0xdd, 0xf8, 0x7d, 0xeb, 0xf6, 0x1d, 0x36, 0x59, 0x42, 0xbf,
0xd0, 0xe4, 0x8d, 0x79, 0x43, 0x63, 0x91, 0x92, 0xdf, 0xa1, 0x3d, 0xcd, 0x96, 0x6c, 0x89, 0x04,
0xc2, 0xea, 0x40, 0x87, 0x10, 0x56, 0x67, 0x35, 0x76, 0xfe, 0x76, 0xc8, 0x29, 0xb4, 0x77, 0x2a,
0x86, 0xc5, 0xa3, 0x1c, 0xee, 0x1e, 0xe5, 0x70, 0x6a, 0x1e, 0xe5, 0xe1, 0x51, 0xb8, 0x2f, 0xf6,
0x75, 0xdb, 0xd2, 0xff, 0x7e, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xd3, 0x9f, 0x0c, 0x13, 0xd1, 0x05,
0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
var _ context.Context var _ context.Context
var _ grpc.ClientConn var _ grpc.ClientConn
@@ -698,12 +960,13 @@ var _ grpc.ClientConn
// is compatible with the grpc package it is being compiled against. // is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4 const _ = grpc.SupportPackageIsVersion4
// Client API for RunnerProtocol service // RunnerProtocolClient is the client API for RunnerProtocol service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type RunnerProtocolClient interface { type RunnerProtocolClient interface {
Engage(ctx context.Context, opts ...grpc.CallOption) (RunnerProtocol_EngageClient, error) Engage(ctx context.Context, opts ...grpc.CallOption) (RunnerProtocol_EngageClient, error)
// Rather than rely on Prometheus for this, expose status that's specific to the runner lifecycle through this. // Rather than rely on Prometheus for this, expose status that's specific to the runner lifecycle through this.
Status(ctx context.Context, in *google_protobuf.Empty, opts ...grpc.CallOption) (*RunnerStatus, error) Status(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*RunnerStatus, error)
} }
type runnerProtocolClient struct { type runnerProtocolClient struct {
@@ -715,7 +978,7 @@ func NewRunnerProtocolClient(cc *grpc.ClientConn) RunnerProtocolClient {
} }
func (c *runnerProtocolClient) Engage(ctx context.Context, opts ...grpc.CallOption) (RunnerProtocol_EngageClient, error) { func (c *runnerProtocolClient) Engage(ctx context.Context, opts ...grpc.CallOption) (RunnerProtocol_EngageClient, error) {
stream, err := grpc.NewClientStream(ctx, &_RunnerProtocol_serviceDesc.Streams[0], c.cc, "/RunnerProtocol/Engage", opts...) stream, err := c.cc.NewStream(ctx, &_RunnerProtocol_serviceDesc.Streams[0], "/RunnerProtocol/Engage", opts...)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@@ -745,21 +1008,20 @@ func (x *runnerProtocolEngageClient) Recv() (*RunnerMsg, error) {
return m, nil return m, nil
} }
func (c *runnerProtocolClient) Status(ctx context.Context, in *google_protobuf.Empty, opts ...grpc.CallOption) (*RunnerStatus, error) { func (c *runnerProtocolClient) Status(ctx context.Context, in *empty.Empty, opts ...grpc.CallOption) (*RunnerStatus, error) {
out := new(RunnerStatus) out := new(RunnerStatus)
err := grpc.Invoke(ctx, "/RunnerProtocol/Status", in, out, c.cc, opts...) err := c.cc.Invoke(ctx, "/RunnerProtocol/Status", in, out, opts...)
if err != nil { if err != nil {
return nil, err return nil, err
} }
return out, nil return out, nil
} }
// Server API for RunnerProtocol service // RunnerProtocolServer is the server API for RunnerProtocol service.
type RunnerProtocolServer interface { type RunnerProtocolServer interface {
Engage(RunnerProtocol_EngageServer) error Engage(RunnerProtocol_EngageServer) error
// Rather than rely on Prometheus for this, expose status that's specific to the runner lifecycle through this. // Rather than rely on Prometheus for this, expose status that's specific to the runner lifecycle through this.
Status(context.Context, *google_protobuf.Empty) (*RunnerStatus, error) Status(context.Context, *empty.Empty) (*RunnerStatus, error)
} }
func RegisterRunnerProtocolServer(s *grpc.Server, srv RunnerProtocolServer) { func RegisterRunnerProtocolServer(s *grpc.Server, srv RunnerProtocolServer) {
@@ -793,7 +1055,7 @@ func (x *runnerProtocolEngageServer) Recv() (*ClientMsg, error) {
} }
func _RunnerProtocol_Status_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { func _RunnerProtocol_Status_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(google_protobuf.Empty) in := new(empty.Empty)
if err := dec(in); err != nil { if err := dec(in); err != nil {
return nil, err return nil, err
} }
@@ -805,7 +1067,7 @@ func _RunnerProtocol_Status_Handler(srv interface{}, ctx context.Context, dec fu
FullMethod: "/RunnerProtocol/Status", FullMethod: "/RunnerProtocol/Status",
} }
handler := func(ctx context.Context, req interface{}) (interface{}, error) { handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RunnerProtocolServer).Status(ctx, req.(*google_protobuf.Empty)) return srv.(RunnerProtocolServer).Status(ctx, req.(*empty.Empty))
} }
return interceptor(ctx, in, info, handler) return interceptor(ctx, in, info, handler)
} }
@@ -829,53 +1091,3 @@ var _RunnerProtocol_serviceDesc = grpc.ServiceDesc{
}, },
Metadata: "runner.proto", Metadata: "runner.proto",
} }
func init() { proto.RegisterFile("runner.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{
// 701 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0xed, 0x8a, 0xd3, 0x4c,
0x14, 0x6e, 0xfa, 0xdd, 0x93, 0xec, 0x6e, 0x19, 0x5e, 0x5e, 0x42, 0x5d, 0xb0, 0x44, 0x85, 0xa2,
0x90, 0xd5, 0xaa, 0xb0, 0x08, 0x0a, 0xba, 0x76, 0x89, 0xc2, 0x82, 0x4c, 0xc5, 0xbf, 0x65, 0x36,
0x73, 0xda, 0x46, 0xd3, 0x4c, 0x9d, 0x99, 0x2e, 0xf6, 0x52, 0xbc, 0x29, 0x2f, 0xc0, 0x8b, 0xf0,
0x1a, 0x64, 0x26, 0x69, 0x36, 0xec, 0x42, 0xd7, 0x7f, 0x39, 0xcf, 0x73, 0xbe, 0x9f, 0x93, 0x01,
0x4f, 0x6e, 0xb2, 0x0c, 0x65, 0xb8, 0x96, 0x42, 0x8b, 0xc1, 0xbd, 0x85, 0x10, 0x8b, 0x14, 0x4f,
0xac, 0x75, 0xb9, 0x99, 0x9f, 0xe0, 0x6a, 0xad, 0xb7, 0x39, 0x19, 0xfc, 0x72, 0xa0, 0xf3, 0x59,
0x6e, 0xcf, 0x58, 0x9a, 0x92, 0x11, 0xf4, 0x57, 0x82, 0x63, 0xaa, 0x66, 0x31, 0x4b, 0xd3, 0xd9,
0x57, 0x25, 0x32, 0xdf, 0x19, 0x3a, 0xa3, 0x1e, 0x3d, 0xcc, 0x71, 0xe3, 0xf5, 0x51, 0x89, 0x8c,
0x0c, 0xc1, 0x53, 0xa9, 0xd0, 0xb3, 0x25, 0x53, 0xcb, 0x59, 0xc2, 0xfd, 0xba, 0xf5, 0x02, 0x83,
0x45, 0x4c, 0x2d, 0x3f, 0x70, 0x72, 0x0a, 0x80, 0x3f, 0x34, 0x66, 0x2a, 0x11, 0x99, 0xf2, 0x1b,
0xc3, 0xc6, 0xc8, 0x1d, 0xfb, 0x61, 0x51, 0x29, 0x9c, 0x94, 0xd4, 0x24, 0xd3, 0x72, 0x4b, 0x2b,
0xbe, 0x83, 0xd7, 0x70, 0x74, 0x83, 0x26, 0x7d, 0x68, 0x7c, 0xc3, 0x6d, 0xd1, 0x8b, 0xf9, 0x24,
0xff, 0x41, 0xeb, 0x8a, 0xa5, 0x1b, 0x2c, 0x2a, 0xe7, 0xc6, 0xab, 0xfa, 0xa9, 0x13, 0x3c, 0x83,
0xde, 0x7b, 0xa6, 0xd9, 0xb9, 0x64, 0x2b, 0x24, 0x04, 0x9a, 0x9c, 0x69, 0x66, 0x23, 0x3d, 0x6a,
0xbf, 0x4d, 0x32, 0x14, 0x73, 0x1b, 0xd8, 0xa5, 0xe6, 0x33, 0x78, 0x01, 0x10, 0x69, 0xbd, 0x8e,
0x90, 0x71, 0x94, 0xff, 0x5a, 0x2c, 0xf8, 0x02, 0x9e, 0x89, 0xa2, 0xa8, 0xd6, 0x17, 0xa8, 0x19,
0xb9, 0x0f, 0xae, 0xd2, 0x4c, 0x6f, 0xd4, 0x2c, 0x16, 0x1c, 0x6d, 0x7c, 0x8b, 0x42, 0x0e, 0x9d,
0x09, 0x8e, 0xe4, 0x11, 0x74, 0x96, 0xb6, 0x84, 0xf2, 0xeb, 0x76, 0x1f, 0x6e, 0x78, 0x5d, 0x96,
0xee, 0xb8, 0xe0, 0x0d, 0x1c, 0x99, 0x1d, 0x51, 0x54, 0x9b, 0x54, 0x4f, 0x35, 0x93, 0x9a, 0x3c,
0x80, 0xe6, 0x52, 0xeb, 0xb5, 0xcf, 0x87, 0xce, 0xc8, 0x1d, 0x1f, 0x84, 0xd5, 0xba, 0x51, 0x8d,
0x5a, 0xf2, 0x5d, 0x1b, 0x9a, 0x2b, 0xd4, 0x2c, 0xf8, 0xed, 0x80, 0x67, 0x12, 0x9c, 0x27, 0x59,
0xa2, 0x96, 0xc8, 0x89, 0x0f, 0x1d, 0xb5, 0x89, 0x63, 0x54, 0xca, 0x36, 0xd5, 0xa5, 0x3b, 0xd3,
0x30, 0x1c, 0x35, 0x4b, 0x52, 0x55, 0x8c, 0xb6, 0x33, 0xc9, 0x31, 0xf4, 0x50, 0x4a, 0x21, 0x4d,
0xe3, 0x7e, 0xc3, 0x8e, 0x72, 0x0d, 0x90, 0x01, 0x74, 0xad, 0x31, 0xd5, 0xd2, 0x6f, 0xda, 0xc0,
0xd2, 0x36, 0x91, 0xb1, 0x44, 0xa6, 0x91, 0xbf, 0xd5, 0x7e, 0xcb, 0x92, 0xd7, 0x80, 0x61, 0x95,
0x19, 0xc9, 0xb2, 0xed, 0x9c, 0x2d, 0x01, 0x32, 0x04, 0x37, 0x16, 0xab, 0x75, 0x8a, 0x39, 0xdf,
0xb1, 0x7c, 0x15, 0x0a, 0xa6, 0xd0, 0x3b, 0x4b, 0x13, 0xcc, 0xf4, 0x85, 0x5a, 0x90, 0x63, 0x68,
0x68, 0x99, 0x2b, 0xe5, 0x8e, 0xbb, 0xbb, 0xe3, 0x8a, 0x6a, 0xd4, 0xc0, 0x64, 0x58, 0x68, 0x5f,
0xb7, 0x34, 0x84, 0xe5, 0x55, 0x98, 0x8d, 0x19, 0xc6, 0x6c, 0xec, 0x52, 0xf0, 0x6d, 0xf0, 0xd3,
0x81, 0x1e, 0xb5, 0x7f, 0x8c, 0xc9, 0xfa, 0x12, 0x3c, 0x69, 0x77, 0x3f, 0xb3, 0x8d, 0x15, 0xe9,
0xfb, 0xe1, 0x0d, 0x51, 0xa2, 0x1a, 0x75, 0x65, 0x45, 0xa3, 0x3b, 0xcb, 0x91, 0x27, 0xd0, 0x9d,
0x17, 0x9a, 0xd8, 0x95, 0x1a, 0x25, 0xab, 0x42, 0x45, 0x35, 0x5a, 0x3a, 0x94, 0xbd, 0xfd, 0xa9,
0x83, 0x97, 0xf7, 0x36, 0xb5, 0x97, 0x44, 0xfe, 0x87, 0x36, 0x8b, 0x75, 0x72, 0x95, 0x5f, 0x63,
0x8b, 0x16, 0x96, 0xc1, 0xe7, 0x2c, 0x49, 0x8b, 0xdc, 0x5d, 0x5a, 0x58, 0xe4, 0x10, 0xea, 0x09,
0x2f, 0x54, 0xaa, 0x27, 0xbc, 0xaa, 0x79, 0x6b, 0x8f, 0xe6, 0xed, 0x7d, 0x9a, 0x77, 0xf6, 0x69,
0xde, 0xdd, 0xab, 0x79, 0xef, 0x0e, 0xcd, 0xe1, 0x96, 0xe6, 0x66, 0xb2, 0x98, 0xc5, 0x66, 0x6b,
0x6e, 0x3e, 0x59, 0x6e, 0x91, 0xc7, 0xd0, 0x97, 0xf8, 0x7d, 0x83, 0x4a, 0x2b, 0x8a, 0x31, 0x26,
0x57, 0xc8, 0x7d, 0x6f, 0xe8, 0x8c, 0x9a, 0xf4, 0x16, 0x4e, 0x46, 0x70, 0xb4, 0xc3, 0x22, 0x96,
0x71, 0xb3, 0xa6, 0x03, 0xeb, 0x7a, 0x13, 0x1e, 0x2f, 0xe0, 0x30, 0xdf, 0xf7, 0x27, 0xf3, 0x3e,
0xc6, 0x22, 0x25, 0x0f, 0xa1, 0x3d, 0xc9, 0x16, 0x6c, 0x81, 0x04, 0xc2, 0xf2, 0xf8, 0x06, 0x10,
0x96, 0x27, 0x33, 0x72, 0x9e, 0x3a, 0xe4, 0x04, 0xda, 0x3b, 0x85, 0xc2, 0xfc, 0xc1, 0x0d, 0x77,
0x0f, 0x6e, 0x38, 0x31, 0x0f, 0xee, 0xe0, 0x20, 0xac, 0x0a, 0x79, 0xd9, 0xb6, 0xf4, 0xf3, 0xbf,
0x01, 0x00, 0x00, 0xff, 0xff, 0x90, 0xc2, 0xda, 0x0f, 0xad, 0x05, 0x00, 0x00,
}

View File

@@ -75,6 +75,7 @@ message RunnerStatus {
bool cached = 11; // true if status response was provided from cache bool cached = 11; // true if status response was provided from cache
uint64 requestsReceived = 12; // number of requests received by runner uint64 requestsReceived = 12; // number of requests received by runner
uint64 requestsHandled = 13; // number of requests processed by runner without NACK uint64 requestsHandled = 13; // number of requests processed by runner without NACK
uint64 kdumpsOnDisk = 14; // number of kdumps on local disk
} }
service RunnerProtocol { service RunnerProtocol {

View File

@@ -542,6 +542,7 @@ type statusTracker struct {
inflight int32 inflight int32
requestsReceived uint64 requestsReceived uint64
requestsHandled uint64 requestsHandled uint64
kdumpsOnDisk uint64
imageName string imageName string
// lock protects expiry/cache/wait fields below. RunnerStatus ptr itself // lock protects expiry/cache/wait fields below. RunnerStatus ptr itself
@@ -899,6 +900,7 @@ func (pr *pureRunner) handleStatusCall(ctx context.Context) (*runner.RunnerStatu
cachePtr.Active = atomic.LoadInt32(&pr.status.inflight) cachePtr.Active = atomic.LoadInt32(&pr.status.inflight)
cachePtr.RequestsReceived = atomic.LoadUint64(&pr.status.requestsReceived) cachePtr.RequestsReceived = atomic.LoadUint64(&pr.status.requestsReceived)
cachePtr.RequestsHandled = atomic.LoadUint64(&pr.status.requestsHandled) cachePtr.RequestsHandled = atomic.LoadUint64(&pr.status.requestsHandled)
cachePtr.KdumpsOnDisk = atomic.LoadUint64(&pr.status.kdumpsOnDisk)
now = time.Now() now = time.Now()
// Pointer store of 'cachePtr' is sufficient here as isWaiter/isCached above perform a shallow // Pointer store of 'cachePtr' is sufficient here as isWaiter/isCached above perform a shallow
@@ -997,6 +999,19 @@ func PureRunnerWithStatusImage(imgName string) PureRunnerOption {
} }
} }
// PureRunnerWithKdumpsOnDisk returns a PureRunnerOption that indicates that
// kdumps have been found on disk. The argument numKdump is a counter that
// indicates how many dumps were on disk at the time the runner was created.
func PureRunnerWithKdumpsOnDisk(numKdumps uint64) PureRunnerOption {
return func(pr *pureRunner) error {
if pr.status.kdumpsOnDisk != 0 {
return fmt.Errorf("Duplicate kdump count configuration! old=%d new=%d", pr.status.kdumpsOnDisk, numKdumps)
}
pr.status.kdumpsOnDisk = numKdumps
return nil
}
}
func PureRunnerWithDetached() PureRunnerOption { func PureRunnerWithDetached() PureRunnerOption {
return func(pr *pureRunner) error { return func(pr *pureRunner) error {
pr.AddCallListener(pr) pr.AddCallListener(pr)

View File

@@ -120,6 +120,7 @@ func TranslateGRPCStatusToRunnerStatus(status *pb.RunnerStatus) *pool.RunnerStat
RequestsReceived: status.RequestsReceived, RequestsReceived: status.RequestsReceived,
RequestsHandled: status.RequestsHandled, RequestsHandled: status.RequestsHandled,
StatusFailed: status.Failed, StatusFailed: status.Failed,
KdumpsOnDisk: status.KdumpsOnDisk,
Cached: status.Cached, Cached: status.Cached,
StatusId: status.Id, StatusId: status.Id,
Details: status.Details, Details: status.Details,

View File

@@ -32,6 +32,7 @@ type RunnerStatus struct {
ActiveRequestCount int32 // Number of active running requests on Runner ActiveRequestCount int32 // Number of active running requests on Runner
RequestsReceived uint64 // Number of requests received by Runner RequestsReceived uint64 // Number of requests received by Runner
RequestsHandled uint64 // Number of requests handled without NACK by Runner RequestsHandled uint64 // Number of requests handled without NACK by Runner
KdumpsOnDisk uint64 // Number of kdumps on disk
StatusFailed bool // True if Status execution failed StatusFailed bool // True if Status execution failed
Cached bool // True if Status was provided from cache Cached bool // True if Status was provided from cache
StatusId string // Call ID for Status StatusId string // Call ID for Status