blob: c49c5c0b244022332df22df78d8f89538c24d7e8 [file] [log] [blame]
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.6
// protoc v3.21.12
// source: culprit_service.proto
package v1
import (
reflect "reflect"
sync "sync"
unsafe "unsafe"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// Request object for PersistCulprit rpc.
type PersistCulpritRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// List of commits identified as culprits.
Commits []*Commit `protobuf:"bytes,1,rep,name=commits,proto3" json:"commits,omitempty"`
// ID of the anomaly group corresponding to the bisection.
AnomalyGroupId string `protobuf:"bytes,2,opt,name=anomaly_group_id,json=anomalyGroupId,proto3" json:"anomaly_group_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PersistCulpritRequest) Reset() {
*x = PersistCulpritRequest{}
mi := &file_culprit_service_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PersistCulpritRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PersistCulpritRequest) ProtoMessage() {}
func (x *PersistCulpritRequest) ProtoReflect() protoreflect.Message {
mi := &file_culprit_service_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PersistCulpritRequest.ProtoReflect.Descriptor instead.
func (*PersistCulpritRequest) Descriptor() ([]byte, []int) {
return file_culprit_service_proto_rawDescGZIP(), []int{0}
}
func (x *PersistCulpritRequest) GetCommits() []*Commit {
if x != nil {
return x.Commits
}
return nil
}
func (x *PersistCulpritRequest) GetAnomalyGroupId() string {
if x != nil {
return x.AnomalyGroupId
}
return ""
}
// Response object for PersistCulprit rpc.
type PersistCulpritResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// List of culprit ids created.
CulpritIds []string `protobuf:"bytes,1,rep,name=culprit_ids,json=culpritIds,proto3" json:"culprit_ids,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PersistCulpritResponse) Reset() {
*x = PersistCulpritResponse{}
mi := &file_culprit_service_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PersistCulpritResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PersistCulpritResponse) ProtoMessage() {}
func (x *PersistCulpritResponse) ProtoReflect() protoreflect.Message {
mi := &file_culprit_service_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PersistCulpritResponse.ProtoReflect.Descriptor instead.
func (*PersistCulpritResponse) Descriptor() ([]byte, []int) {
return file_culprit_service_proto_rawDescGZIP(), []int{1}
}
func (x *PersistCulpritResponse) GetCulpritIds() []string {
if x != nil {
return x.CulpritIds
}
return nil
}
// Request object for GetCulprit rpc.
type GetCulpritRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
CulpritIds []string `protobuf:"bytes,1,rep,name=culprit_ids,json=culpritIds,proto3" json:"culprit_ids,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetCulpritRequest) Reset() {
*x = GetCulpritRequest{}
mi := &file_culprit_service_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetCulpritRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetCulpritRequest) ProtoMessage() {}
func (x *GetCulpritRequest) ProtoReflect() protoreflect.Message {
mi := &file_culprit_service_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetCulpritRequest.ProtoReflect.Descriptor instead.
func (*GetCulpritRequest) Descriptor() ([]byte, []int) {
return file_culprit_service_proto_rawDescGZIP(), []int{2}
}
func (x *GetCulpritRequest) GetCulpritIds() []string {
if x != nil {
return x.CulpritIds
}
return nil
}
// Response object for GetCulprit rpc.
type GetCulpritResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Culprits []*Culprit `protobuf:"bytes,1,rep,name=culprits,proto3" json:"culprits,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GetCulpritResponse) Reset() {
*x = GetCulpritResponse{}
mi := &file_culprit_service_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GetCulpritResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetCulpritResponse) ProtoMessage() {}
func (x *GetCulpritResponse) ProtoReflect() protoreflect.Message {
mi := &file_culprit_service_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetCulpritResponse.ProtoReflect.Descriptor instead.
func (*GetCulpritResponse) Descriptor() ([]byte, []int) {
return file_culprit_service_proto_rawDescGZIP(), []int{3}
}
func (x *GetCulpritResponse) GetCulprits() []*Culprit {
if x != nil {
return x.Culprits
}
return nil
}
// Request object for NotifyUserOfAnomaly rpc.
type NotifyUserOfAnomalyRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
AnomalyGroupId string `protobuf:"bytes,1,opt,name=anomaly_group_id,json=anomalyGroupId,proto3" json:"anomaly_group_id,omitempty"`
Anomaly []*Anomaly `protobuf:"bytes,2,rep,name=anomaly,proto3" json:"anomaly,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NotifyUserOfAnomalyRequest) Reset() {
*x = NotifyUserOfAnomalyRequest{}
mi := &file_culprit_service_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NotifyUserOfAnomalyRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NotifyUserOfAnomalyRequest) ProtoMessage() {}
func (x *NotifyUserOfAnomalyRequest) ProtoReflect() protoreflect.Message {
mi := &file_culprit_service_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NotifyUserOfAnomalyRequest.ProtoReflect.Descriptor instead.
func (*NotifyUserOfAnomalyRequest) Descriptor() ([]byte, []int) {
return file_culprit_service_proto_rawDescGZIP(), []int{4}
}
func (x *NotifyUserOfAnomalyRequest) GetAnomalyGroupId() string {
if x != nil {
return x.AnomalyGroupId
}
return ""
}
func (x *NotifyUserOfAnomalyRequest) GetAnomaly() []*Anomaly {
if x != nil {
return x.Anomaly
}
return nil
}
// Response object for NotifyUserOfAnomaly rpc.
type NotifyUserOfAnomalyResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Id of issue created
IssueId string `protobuf:"bytes,1,opt,name=issue_id,json=issueId,proto3" json:"issue_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NotifyUserOfAnomalyResponse) Reset() {
*x = NotifyUserOfAnomalyResponse{}
mi := &file_culprit_service_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NotifyUserOfAnomalyResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NotifyUserOfAnomalyResponse) ProtoMessage() {}
func (x *NotifyUserOfAnomalyResponse) ProtoReflect() protoreflect.Message {
mi := &file_culprit_service_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NotifyUserOfAnomalyResponse.ProtoReflect.Descriptor instead.
func (*NotifyUserOfAnomalyResponse) Descriptor() ([]byte, []int) {
return file_culprit_service_proto_rawDescGZIP(), []int{5}
}
func (x *NotifyUserOfAnomalyResponse) GetIssueId() string {
if x != nil {
return x.IssueId
}
return ""
}
// Request object for NotifyUserOfCulprit rpc.
type NotifyUserOfCulpritRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// List of culprit ids.
CulpritIds []string `protobuf:"bytes,1,rep,name=culprit_ids,json=culpritIds,proto3" json:"culprit_ids,omitempty"`
// ID of the anomaly group corresponding to the bisection.
AnomalyGroupId string `protobuf:"bytes,2,opt,name=anomaly_group_id,json=anomalyGroupId,proto3" json:"anomaly_group_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NotifyUserOfCulpritRequest) Reset() {
*x = NotifyUserOfCulpritRequest{}
mi := &file_culprit_service_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NotifyUserOfCulpritRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NotifyUserOfCulpritRequest) ProtoMessage() {}
func (x *NotifyUserOfCulpritRequest) ProtoReflect() protoreflect.Message {
mi := &file_culprit_service_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NotifyUserOfCulpritRequest.ProtoReflect.Descriptor instead.
func (*NotifyUserOfCulpritRequest) Descriptor() ([]byte, []int) {
return file_culprit_service_proto_rawDescGZIP(), []int{6}
}
func (x *NotifyUserOfCulpritRequest) GetCulpritIds() []string {
if x != nil {
return x.CulpritIds
}
return nil
}
func (x *NotifyUserOfCulpritRequest) GetAnomalyGroupId() string {
if x != nil {
return x.AnomalyGroupId
}
return ""
}
// Response object for NotifyUserOfCulprit rpc.
type NotifyUserOfCulpritResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// List of issue ids created
IssueIds []string `protobuf:"bytes,1,rep,name=issue_ids,json=issueIds,proto3" json:"issue_ids,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NotifyUserOfCulpritResponse) Reset() {
*x = NotifyUserOfCulpritResponse{}
mi := &file_culprit_service_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NotifyUserOfCulpritResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NotifyUserOfCulpritResponse) ProtoMessage() {}
func (x *NotifyUserOfCulpritResponse) ProtoReflect() protoreflect.Message {
mi := &file_culprit_service_proto_msgTypes[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NotifyUserOfCulpritResponse.ProtoReflect.Descriptor instead.
func (*NotifyUserOfCulpritResponse) Descriptor() ([]byte, []int) {
return file_culprit_service_proto_rawDescGZIP(), []int{7}
}
func (x *NotifyUserOfCulpritResponse) GetIssueIds() []string {
if x != nil {
return x.IssueIds
}
return nil
}
// Anomaly detected in a test
// Note: This is (right now) same as Anomaly object in anomalygroup_service.proto. But this has been
// duplicated because the two protos are used in two different service(culprit & anomlaygroup), and
// these services can evolve independently
type Anomaly struct {
state protoimpl.MessageState `protogen:"open.v1"`
// the start commit position of the detected anomaly
StartCommit int64 `protobuf:"varint,1,opt,name=start_commit,json=startCommit,proto3" json:"start_commit,omitempty"`
// the end commit position of the detected anomaly
EndCommit int64 `protobuf:"varint,2,opt,name=end_commit,json=endCommit,proto3" json:"end_commit,omitempty"`
// the paramset from the regression detected in Skia. The parameters
// are used in Skia alerts to define which tests to apply the deteciton
// rules.
// In chromeperf's context, it should include the following keys:
// - bot:
// the name of the bot (a.k.a, 'builder' in waterfall, and
// 'configuration' in pinpoint job page.)
// - benchmark:
// the name of the benchmark
// - story:
// the name of the story (a.k.a., test)
// - measurement:
// the metric to look at. (a.k.a., 'test' in skia query ui,
// and 'chart' in pinpoint job page)
// - stat:
// the aggregation method on the data points
Paramset map[string]string `protobuf:"bytes,3,rep,name=paramset,proto3" json:"paramset,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
// indicate the direction towards which the change should be
// considered as regression.
// The possible values are: UP, DOWN or UNKNOWN
ImprovementDirection string `protobuf:"bytes,4,opt,name=improvement_direction,json=improvementDirection,proto3" json:"improvement_direction,omitempty"`
// the median from the previous data point
MedianBefore float32 `protobuf:"fixed32,5,opt,name=median_before,json=medianBefore,proto3" json:"median_before,omitempty"`
// the median from the current data point
MedianAfter float32 `protobuf:"fixed32,6,opt,name=median_after,json=medianAfter,proto3" json:"median_after,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Anomaly) Reset() {
*x = Anomaly{}
mi := &file_culprit_service_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Anomaly) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Anomaly) ProtoMessage() {}
func (x *Anomaly) ProtoReflect() protoreflect.Message {
mi := &file_culprit_service_proto_msgTypes[8]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Anomaly.ProtoReflect.Descriptor instead.
func (*Anomaly) Descriptor() ([]byte, []int) {
return file_culprit_service_proto_rawDescGZIP(), []int{8}
}
func (x *Anomaly) GetStartCommit() int64 {
if x != nil {
return x.StartCommit
}
return 0
}
func (x *Anomaly) GetEndCommit() int64 {
if x != nil {
return x.EndCommit
}
return 0
}
func (x *Anomaly) GetParamset() map[string]string {
if x != nil {
return x.Paramset
}
return nil
}
func (x *Anomaly) GetImprovementDirection() string {
if x != nil {
return x.ImprovementDirection
}
return ""
}
func (x *Anomaly) GetMedianBefore() float32 {
if x != nil {
return x.MedianBefore
}
return 0
}
func (x *Anomaly) GetMedianAfter() float32 {
if x != nil {
return x.MedianAfter
}
return 0
}
// Represents the change which has been identified as a culprit.
// TODO(wenbinzhang): remove anomaly group ids and issue ids as we have
// the info needed the group issue map
type Culprit struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Commit *Commit `protobuf:"bytes,2,opt,name=commit,proto3" json:"commit,omitempty"`
AnomalyGroupIds []string `protobuf:"bytes,3,rep,name=anomaly_group_ids,json=anomalyGroupIds,proto3" json:"anomaly_group_ids,omitempty"`
IssueIds []string `protobuf:"bytes,4,rep,name=issue_ids,json=issueIds,proto3" json:"issue_ids,omitempty"`
GroupIssueMap map[string]string `protobuf:"bytes,5,rep,name=group_issue_map,json=groupIssueMap,proto3" json:"group_issue_map,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Culprit) Reset() {
*x = Culprit{}
mi := &file_culprit_service_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Culprit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Culprit) ProtoMessage() {}
func (x *Culprit) ProtoReflect() protoreflect.Message {
mi := &file_culprit_service_proto_msgTypes[9]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Culprit.ProtoReflect.Descriptor instead.
func (*Culprit) Descriptor() ([]byte, []int) {
return file_culprit_service_proto_rawDescGZIP(), []int{9}
}
func (x *Culprit) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *Culprit) GetCommit() *Commit {
if x != nil {
return x.Commit
}
return nil
}
func (x *Culprit) GetAnomalyGroupIds() []string {
if x != nil {
return x.AnomalyGroupIds
}
return nil
}
func (x *Culprit) GetIssueIds() []string {
if x != nil {
return x.IssueIds
}
return nil
}
func (x *Culprit) GetGroupIssueMap() map[string]string {
if x != nil {
return x.GroupIssueMap
}
return nil
}
// Represents a commit which has been identified as a culprit.
type Commit struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Repo host e.g. chromium.googlesource.com
Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
// Project inside the repo e.g. chromium/src
Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"`
// Repo ref e.g. "refs/heads/main
Ref string `protobuf:"bytes,3,opt,name=ref,proto3" json:"ref,omitempty"`
// Commit Hash
Revision string `protobuf:"bytes,4,opt,name=revision,proto3" json:"revision,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Commit) Reset() {
*x = Commit{}
mi := &file_culprit_service_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Commit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Commit) ProtoMessage() {}
func (x *Commit) ProtoReflect() protoreflect.Message {
mi := &file_culprit_service_proto_msgTypes[10]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Commit.ProtoReflect.Descriptor instead.
func (*Commit) Descriptor() ([]byte, []int) {
return file_culprit_service_proto_rawDescGZIP(), []int{10}
}
func (x *Commit) GetHost() string {
if x != nil {
return x.Host
}
return ""
}
func (x *Commit) GetProject() string {
if x != nil {
return x.Project
}
return ""
}
func (x *Commit) GetRef() string {
if x != nil {
return x.Ref
}
return ""
}
func (x *Commit) GetRevision() string {
if x != nil {
return x.Revision
}
return ""
}
var File_culprit_service_proto protoreflect.FileDescriptor
const file_culprit_service_proto_rawDesc = "" +
"\n" +
"\x15culprit_service.proto\x12\n" +
"culprit.v1\"o\n" +
"\x15PersistCulpritRequest\x12,\n" +
"\acommits\x18\x01 \x03(\v2\x12.culprit.v1.CommitR\acommits\x12(\n" +
"\x10anomaly_group_id\x18\x02 \x01(\tR\x0eanomalyGroupId\"9\n" +
"\x16PersistCulpritResponse\x12\x1f\n" +
"\vculprit_ids\x18\x01 \x03(\tR\n" +
"culpritIds\"4\n" +
"\x11GetCulpritRequest\x12\x1f\n" +
"\vculprit_ids\x18\x01 \x03(\tR\n" +
"culpritIds\"E\n" +
"\x12GetCulpritResponse\x12/\n" +
"\bculprits\x18\x01 \x03(\v2\x13.culprit.v1.CulpritR\bculprits\"u\n" +
"\x1aNotifyUserOfAnomalyRequest\x12(\n" +
"\x10anomaly_group_id\x18\x01 \x01(\tR\x0eanomalyGroupId\x12-\n" +
"\aanomaly\x18\x02 \x03(\v2\x13.culprit.v1.AnomalyR\aanomaly\"8\n" +
"\x1bNotifyUserOfAnomalyResponse\x12\x19\n" +
"\bissue_id\x18\x01 \x01(\tR\aissueId\"g\n" +
"\x1aNotifyUserOfCulpritRequest\x12\x1f\n" +
"\vculprit_ids\x18\x01 \x03(\tR\n" +
"culpritIds\x12(\n" +
"\x10anomaly_group_id\x18\x02 \x01(\tR\x0eanomalyGroupId\":\n" +
"\x1bNotifyUserOfCulpritResponse\x12\x1b\n" +
"\tissue_ids\x18\x01 \x03(\tR\bissueIds\"\xc4\x02\n" +
"\aAnomaly\x12!\n" +
"\fstart_commit\x18\x01 \x01(\x03R\vstartCommit\x12\x1d\n" +
"\n" +
"end_commit\x18\x02 \x01(\x03R\tendCommit\x12=\n" +
"\bparamset\x18\x03 \x03(\v2!.culprit.v1.Anomaly.ParamsetEntryR\bparamset\x123\n" +
"\x15improvement_direction\x18\x04 \x01(\tR\x14improvementDirection\x12#\n" +
"\rmedian_before\x18\x05 \x01(\x02R\fmedianBefore\x12!\n" +
"\fmedian_after\x18\x06 \x01(\x02R\vmedianAfter\x1a;\n" +
"\rParamsetEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xa0\x02\n" +
"\aCulprit\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12*\n" +
"\x06commit\x18\x02 \x01(\v2\x12.culprit.v1.CommitR\x06commit\x12*\n" +
"\x11anomaly_group_ids\x18\x03 \x03(\tR\x0fanomalyGroupIds\x12\x1b\n" +
"\tissue_ids\x18\x04 \x03(\tR\bissueIds\x12N\n" +
"\x0fgroup_issue_map\x18\x05 \x03(\v2&.culprit.v1.Culprit.GroupIssueMapEntryR\rgroupIssueMap\x1a@\n" +
"\x12GroupIssueMapEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"d\n" +
"\x06Commit\x12\x12\n" +
"\x04host\x18\x01 \x01(\tR\x04host\x12\x18\n" +
"\aproject\x18\x02 \x01(\tR\aproject\x12\x10\n" +
"\x03ref\x18\x03 \x01(\tR\x03ref\x12\x1a\n" +
"\brevision\x18\x04 \x01(\tR\brevision2\x8e\x03\n" +
"\x0eCulpritService\x12Y\n" +
"\x0ePersistCulprit\x12!.culprit.v1.PersistCulpritRequest\x1a\".culprit.v1.PersistCulpritResponse\"\x00\x12M\n" +
"\n" +
"GetCulprit\x12\x1d.culprit.v1.GetCulpritRequest\x1a\x1e.culprit.v1.GetCulpritResponse\"\x00\x12h\n" +
"\x13NotifyUserOfAnomaly\x12&.culprit.v1.NotifyUserOfAnomalyRequest\x1a'.culprit.v1.NotifyUserOfAnomalyResponse\"\x00\x12h\n" +
"\x13NotifyUserOfCulprit\x12&.culprit.v1.NotifyUserOfCulpritRequest\x1a'.culprit.v1.NotifyUserOfCulpritResponse\"\x00B,Z*go.skia.org/infra/perf/go/culprit/proto/v1b\x06proto3"
var (
file_culprit_service_proto_rawDescOnce sync.Once
file_culprit_service_proto_rawDescData []byte
)
func file_culprit_service_proto_rawDescGZIP() []byte {
file_culprit_service_proto_rawDescOnce.Do(func() {
file_culprit_service_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_culprit_service_proto_rawDesc), len(file_culprit_service_proto_rawDesc)))
})
return file_culprit_service_proto_rawDescData
}
var file_culprit_service_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
var file_culprit_service_proto_goTypes = []any{
(*PersistCulpritRequest)(nil), // 0: culprit.v1.PersistCulpritRequest
(*PersistCulpritResponse)(nil), // 1: culprit.v1.PersistCulpritResponse
(*GetCulpritRequest)(nil), // 2: culprit.v1.GetCulpritRequest
(*GetCulpritResponse)(nil), // 3: culprit.v1.GetCulpritResponse
(*NotifyUserOfAnomalyRequest)(nil), // 4: culprit.v1.NotifyUserOfAnomalyRequest
(*NotifyUserOfAnomalyResponse)(nil), // 5: culprit.v1.NotifyUserOfAnomalyResponse
(*NotifyUserOfCulpritRequest)(nil), // 6: culprit.v1.NotifyUserOfCulpritRequest
(*NotifyUserOfCulpritResponse)(nil), // 7: culprit.v1.NotifyUserOfCulpritResponse
(*Anomaly)(nil), // 8: culprit.v1.Anomaly
(*Culprit)(nil), // 9: culprit.v1.Culprit
(*Commit)(nil), // 10: culprit.v1.Commit
nil, // 11: culprit.v1.Anomaly.ParamsetEntry
nil, // 12: culprit.v1.Culprit.GroupIssueMapEntry
}
var file_culprit_service_proto_depIdxs = []int32{
10, // 0: culprit.v1.PersistCulpritRequest.commits:type_name -> culprit.v1.Commit
9, // 1: culprit.v1.GetCulpritResponse.culprits:type_name -> culprit.v1.Culprit
8, // 2: culprit.v1.NotifyUserOfAnomalyRequest.anomaly:type_name -> culprit.v1.Anomaly
11, // 3: culprit.v1.Anomaly.paramset:type_name -> culprit.v1.Anomaly.ParamsetEntry
10, // 4: culprit.v1.Culprit.commit:type_name -> culprit.v1.Commit
12, // 5: culprit.v1.Culprit.group_issue_map:type_name -> culprit.v1.Culprit.GroupIssueMapEntry
0, // 6: culprit.v1.CulpritService.PersistCulprit:input_type -> culprit.v1.PersistCulpritRequest
2, // 7: culprit.v1.CulpritService.GetCulprit:input_type -> culprit.v1.GetCulpritRequest
4, // 8: culprit.v1.CulpritService.NotifyUserOfAnomaly:input_type -> culprit.v1.NotifyUserOfAnomalyRequest
6, // 9: culprit.v1.CulpritService.NotifyUserOfCulprit:input_type -> culprit.v1.NotifyUserOfCulpritRequest
1, // 10: culprit.v1.CulpritService.PersistCulprit:output_type -> culprit.v1.PersistCulpritResponse
3, // 11: culprit.v1.CulpritService.GetCulprit:output_type -> culprit.v1.GetCulpritResponse
5, // 12: culprit.v1.CulpritService.NotifyUserOfAnomaly:output_type -> culprit.v1.NotifyUserOfAnomalyResponse
7, // 13: culprit.v1.CulpritService.NotifyUserOfCulprit:output_type -> culprit.v1.NotifyUserOfCulpritResponse
10, // [10:14] is the sub-list for method output_type
6, // [6:10] is the sub-list for method input_type
6, // [6:6] is the sub-list for extension type_name
6, // [6:6] is the sub-list for extension extendee
0, // [0:6] is the sub-list for field type_name
}
func init() { file_culprit_service_proto_init() }
func file_culprit_service_proto_init() {
if File_culprit_service_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_culprit_service_proto_rawDesc), len(file_culprit_service_proto_rawDesc)),
NumEnums: 0,
NumMessages: 13,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_culprit_service_proto_goTypes,
DependencyIndexes: file_culprit_service_proto_depIdxs,
MessageInfos: file_culprit_service_proto_msgTypes,
}.Build()
File_culprit_service_proto = out.File
file_culprit_service_proto_goTypes = nil
file_culprit_service_proto_depIdxs = nil
}