blob: 09f820bafd7c99b8da1adea779627614064a5d24 [file] [log] [blame]
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.6
// protoc v3.21.12
// source: anomalygroup_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)
)
// The action to take on a certain group. It is defined in the Alert config.
type GroupActionType int32
const (
// No action will be taken. It is used for backward compatibility
// for the existing Alerts before grouping is introduced.
GroupActionType_NOACTION GroupActionType = 0
// File a bug with a list of anomalies.
GroupActionType_REPORT GroupActionType = 1
// Launch a bisection job on the most signification anomaly, in order to
// find the culprit commit.
GroupActionType_BISECT GroupActionType = 2
)
// Enum value maps for GroupActionType.
var (
GroupActionType_name = map[int32]string{
0: "NOACTION",
1: "REPORT",
2: "BISECT",
}
GroupActionType_value = map[string]int32{
"NOACTION": 0,
"REPORT": 1,
"BISECT": 2,
}
)
func (x GroupActionType) Enum() *GroupActionType {
p := new(GroupActionType)
*p = x
return p
}
func (x GroupActionType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (GroupActionType) Descriptor() protoreflect.EnumDescriptor {
return file_anomalygroup_service_proto_enumTypes[0].Descriptor()
}
func (GroupActionType) Type() protoreflect.EnumType {
return &file_anomalygroup_service_proto_enumTypes[0]
}
func (x GroupActionType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use GroupActionType.Descriptor instead.
func (GroupActionType) EnumDescriptor() ([]byte, []int) {
return file_anomalygroup_service_proto_rawDescGZIP(), []int{0}
}
// Request object for CreateNewAnomalyGroup
type CreateNewAnomalyGroupRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The name of the subscription in sheriff config
SubscriptionName string `protobuf:"bytes,1,opt,name=subscription_name,json=subscriptionName,proto3" json:"subscription_name,omitempty"`
// The revision of the subscription
SubscriptionRevision string `protobuf:"bytes,2,opt,name=subscription_revision,json=subscriptionRevision,proto3" json:"subscription_revision,omitempty"`
// The domain of the test to group (The value of 'master' in alert config.)
Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"`
// The benchmark of the test to group
Benchmark string `protobuf:"bytes,4,opt,name=benchmark,proto3" json:"benchmark,omitempty"`
// The current start commit position of the group
StartCommit int64 `protobuf:"varint,5,opt,name=start_commit,json=startCommit,proto3" json:"start_commit,omitempty"`
// The current end commit position of the group
EndCommit int64 `protobuf:"varint,6,opt,name=end_commit,json=endCommit,proto3" json:"end_commit,omitempty"`
// The action of the group to take.
Action GroupActionType `protobuf:"varint,7,opt,name=action,proto3,enum=anomalygroup.v1.GroupActionType" json:"action,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CreateNewAnomalyGroupRequest) Reset() {
*x = CreateNewAnomalyGroupRequest{}
mi := &file_anomalygroup_service_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CreateNewAnomalyGroupRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateNewAnomalyGroupRequest) ProtoMessage() {}
func (x *CreateNewAnomalyGroupRequest) ProtoReflect() protoreflect.Message {
mi := &file_anomalygroup_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 CreateNewAnomalyGroupRequest.ProtoReflect.Descriptor instead.
func (*CreateNewAnomalyGroupRequest) Descriptor() ([]byte, []int) {
return file_anomalygroup_service_proto_rawDescGZIP(), []int{0}
}
func (x *CreateNewAnomalyGroupRequest) GetSubscriptionName() string {
if x != nil {
return x.SubscriptionName
}
return ""
}
func (x *CreateNewAnomalyGroupRequest) GetSubscriptionRevision() string {
if x != nil {
return x.SubscriptionRevision
}
return ""
}
func (x *CreateNewAnomalyGroupRequest) GetDomain() string {
if x != nil {
return x.Domain
}
return ""
}
func (x *CreateNewAnomalyGroupRequest) GetBenchmark() string {
if x != nil {
return x.Benchmark
}
return ""
}
func (x *CreateNewAnomalyGroupRequest) GetStartCommit() int64 {
if x != nil {
return x.StartCommit
}
return 0
}
func (x *CreateNewAnomalyGroupRequest) GetEndCommit() int64 {
if x != nil {
return x.EndCommit
}
return 0
}
func (x *CreateNewAnomalyGroupRequest) GetAction() GroupActionType {
if x != nil {
return x.Action
}
return GroupActionType_NOACTION
}
// Response object for CreateNewAnomalyGroup
type CreateNewAnomalyGroupResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The newly created anomaly group ID.
AnomalyGroupId string `protobuf:"bytes,1,opt,name=anomaly_group_id,json=anomalyGroupId,proto3" json:"anomaly_group_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CreateNewAnomalyGroupResponse) Reset() {
*x = CreateNewAnomalyGroupResponse{}
mi := &file_anomalygroup_service_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CreateNewAnomalyGroupResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CreateNewAnomalyGroupResponse) ProtoMessage() {}
func (x *CreateNewAnomalyGroupResponse) ProtoReflect() protoreflect.Message {
mi := &file_anomalygroup_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 CreateNewAnomalyGroupResponse.ProtoReflect.Descriptor instead.
func (*CreateNewAnomalyGroupResponse) Descriptor() ([]byte, []int) {
return file_anomalygroup_service_proto_rawDescGZIP(), []int{1}
}
func (x *CreateNewAnomalyGroupResponse) GetAnomalyGroupId() string {
if x != nil {
return x.AnomalyGroupId
}
return ""
}
// Request object for LoadAnomalyGroupByID
type LoadAnomalyGroupByIDRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The ID of the anomaly group to read from
AnomalyGroupId string `protobuf:"bytes,1,opt,name=anomaly_group_id,json=anomalyGroupId,proto3" json:"anomaly_group_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LoadAnomalyGroupByIDRequest) Reset() {
*x = LoadAnomalyGroupByIDRequest{}
mi := &file_anomalygroup_service_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LoadAnomalyGroupByIDRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LoadAnomalyGroupByIDRequest) ProtoMessage() {}
func (x *LoadAnomalyGroupByIDRequest) ProtoReflect() protoreflect.Message {
mi := &file_anomalygroup_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 LoadAnomalyGroupByIDRequest.ProtoReflect.Descriptor instead.
func (*LoadAnomalyGroupByIDRequest) Descriptor() ([]byte, []int) {
return file_anomalygroup_service_proto_rawDescGZIP(), []int{2}
}
func (x *LoadAnomalyGroupByIDRequest) GetAnomalyGroupId() string {
if x != nil {
return x.AnomalyGroupId
}
return ""
}
// Response object for LoadAnomalyGroupByID
type LoadAnomalyGroupByIDResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The anomaly group object
AnomalyGroup *AnomalyGroup `protobuf:"bytes,1,opt,name=anomaly_group,json=anomalyGroup,proto3" json:"anomaly_group,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LoadAnomalyGroupByIDResponse) Reset() {
*x = LoadAnomalyGroupByIDResponse{}
mi := &file_anomalygroup_service_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LoadAnomalyGroupByIDResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LoadAnomalyGroupByIDResponse) ProtoMessage() {}
func (x *LoadAnomalyGroupByIDResponse) ProtoReflect() protoreflect.Message {
mi := &file_anomalygroup_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 LoadAnomalyGroupByIDResponse.ProtoReflect.Descriptor instead.
func (*LoadAnomalyGroupByIDResponse) Descriptor() ([]byte, []int) {
return file_anomalygroup_service_proto_rawDescGZIP(), []int{3}
}
func (x *LoadAnomalyGroupByIDResponse) GetAnomalyGroup() *AnomalyGroup {
if x != nil {
return x.AnomalyGroup
}
return nil
}
// Request object for UpdateAnomalyGroup
type UpdateAnomalyGroupRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The ID of the anomaly group to update
AnomalyGroupId string `protobuf:"bytes,1,opt,name=anomaly_group_id,json=anomalyGroupId,proto3" json:"anomaly_group_id,omitempty"`
// The anomaly ID to append to the anomaly list.
AnomalyId string `protobuf:"bytes,2,opt,name=anomaly_id,json=anomalyId,proto3" json:"anomaly_id,omitempty"`
// The biesction ID to add to the anomaly group.
// This should be populated only when the action value is BISECT.
BisectionId string `protobuf:"bytes,3,opt,name=bisection_id,json=bisectionId,proto3" json:"bisection_id,omitempty"`
// The issue ID to add to the anomaly group.
// This should be populated only when the action value is REPORT.
IssueId string `protobuf:"bytes,4,opt,name=issue_id,json=issueId,proto3" json:"issue_id,omitempty"`
// The culprit IDs correlated to the group.
// Culprits are found by a bisection job. This should be populated
// only when the action value is BISECT and the bisection_id exists.
CulpritIds []string `protobuf:"bytes,5,rep,name=culprit_ids,json=culpritIds,proto3" json:"culprit_ids,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *UpdateAnomalyGroupRequest) Reset() {
*x = UpdateAnomalyGroupRequest{}
mi := &file_anomalygroup_service_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *UpdateAnomalyGroupRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateAnomalyGroupRequest) ProtoMessage() {}
func (x *UpdateAnomalyGroupRequest) ProtoReflect() protoreflect.Message {
mi := &file_anomalygroup_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 UpdateAnomalyGroupRequest.ProtoReflect.Descriptor instead.
func (*UpdateAnomalyGroupRequest) Descriptor() ([]byte, []int) {
return file_anomalygroup_service_proto_rawDescGZIP(), []int{4}
}
func (x *UpdateAnomalyGroupRequest) GetAnomalyGroupId() string {
if x != nil {
return x.AnomalyGroupId
}
return ""
}
func (x *UpdateAnomalyGroupRequest) GetAnomalyId() string {
if x != nil {
return x.AnomalyId
}
return ""
}
func (x *UpdateAnomalyGroupRequest) GetBisectionId() string {
if x != nil {
return x.BisectionId
}
return ""
}
func (x *UpdateAnomalyGroupRequest) GetIssueId() string {
if x != nil {
return x.IssueId
}
return ""
}
func (x *UpdateAnomalyGroupRequest) GetCulpritIds() []string {
if x != nil {
return x.CulpritIds
}
return nil
}
// Response object for UpdateAnomalyGroup
type UpdateAnomalyGroupResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *UpdateAnomalyGroupResponse) Reset() {
*x = UpdateAnomalyGroupResponse{}
mi := &file_anomalygroup_service_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *UpdateAnomalyGroupResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateAnomalyGroupResponse) ProtoMessage() {}
func (x *UpdateAnomalyGroupResponse) ProtoReflect() protoreflect.Message {
mi := &file_anomalygroup_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 UpdateAnomalyGroupResponse.ProtoReflect.Descriptor instead.
func (*UpdateAnomalyGroupResponse) Descriptor() ([]byte, []int) {
return file_anomalygroup_service_proto_rawDescGZIP(), []int{5}
}
// Request object for FindExistingGroups
type FindExistingGroupsRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The subscription name from the alert config, from which the
// anomaly is detected.
SubscriptionName string `protobuf:"bytes,1,opt,name=subscription_name,json=subscriptionName,proto3" json:"subscription_name,omitempty"`
// The revision of the subscription
SubscriptionRevision string `protobuf:"bytes,2,opt,name=subscription_revision,json=subscriptionRevision,proto3" json:"subscription_revision,omitempty"`
// The action value from the alert config.
Action GroupActionType `protobuf:"varint,3,opt,name=action,proto3,enum=anomalygroup.v1.GroupActionType" json:"action,omitempty"`
// The previous commit position before the anomaly's data point.
StartCommit int64 `protobuf:"varint,4,opt,name=start_commit,json=startCommit,proto3" json:"start_commit,omitempty"`
// The commit position before the anomaly's data point.
EndCommit int64 `protobuf:"varint,5,opt,name=end_commit,json=endCommit,proto3" json:"end_commit,omitempty"`
// The test path from the anomaly.
TestPath string `protobuf:"bytes,6,opt,name=test_path,json=testPath,proto3" json:"test_path,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *FindExistingGroupsRequest) Reset() {
*x = FindExistingGroupsRequest{}
mi := &file_anomalygroup_service_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *FindExistingGroupsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindExistingGroupsRequest) ProtoMessage() {}
func (x *FindExistingGroupsRequest) ProtoReflect() protoreflect.Message {
mi := &file_anomalygroup_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 FindExistingGroupsRequest.ProtoReflect.Descriptor instead.
func (*FindExistingGroupsRequest) Descriptor() ([]byte, []int) {
return file_anomalygroup_service_proto_rawDescGZIP(), []int{6}
}
func (x *FindExistingGroupsRequest) GetSubscriptionName() string {
if x != nil {
return x.SubscriptionName
}
return ""
}
func (x *FindExistingGroupsRequest) GetSubscriptionRevision() string {
if x != nil {
return x.SubscriptionRevision
}
return ""
}
func (x *FindExistingGroupsRequest) GetAction() GroupActionType {
if x != nil {
return x.Action
}
return GroupActionType_NOACTION
}
func (x *FindExistingGroupsRequest) GetStartCommit() int64 {
if x != nil {
return x.StartCommit
}
return 0
}
func (x *FindExistingGroupsRequest) GetEndCommit() int64 {
if x != nil {
return x.EndCommit
}
return 0
}
func (x *FindExistingGroupsRequest) GetTestPath() string {
if x != nil {
return x.TestPath
}
return ""
}
// Response object for FindExistingGroups
type FindExistingGroupsResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// A list of anomaly groups which an anomaly can be added to.
AnomalyGroups []*AnomalyGroup `protobuf:"bytes,1,rep,name=anomaly_groups,json=anomalyGroups,proto3" json:"anomaly_groups,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *FindExistingGroupsResponse) Reset() {
*x = FindExistingGroupsResponse{}
mi := &file_anomalygroup_service_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *FindExistingGroupsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindExistingGroupsResponse) ProtoMessage() {}
func (x *FindExistingGroupsResponse) ProtoReflect() protoreflect.Message {
mi := &file_anomalygroup_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 FindExistingGroupsResponse.ProtoReflect.Descriptor instead.
func (*FindExistingGroupsResponse) Descriptor() ([]byte, []int) {
return file_anomalygroup_service_proto_rawDescGZIP(), []int{7}
}
func (x *FindExistingGroupsResponse) GetAnomalyGroups() []*AnomalyGroup {
if x != nil {
return x.AnomalyGroups
}
return nil
}
// Request object for FindTopAnomaliesRequest
type FindTopAnomaliesRequest 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"`
Limit int64 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *FindTopAnomaliesRequest) Reset() {
*x = FindTopAnomaliesRequest{}
mi := &file_anomalygroup_service_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *FindTopAnomaliesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindTopAnomaliesRequest) ProtoMessage() {}
func (x *FindTopAnomaliesRequest) ProtoReflect() protoreflect.Message {
mi := &file_anomalygroup_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 FindTopAnomaliesRequest.ProtoReflect.Descriptor instead.
func (*FindTopAnomaliesRequest) Descriptor() ([]byte, []int) {
return file_anomalygroup_service_proto_rawDescGZIP(), []int{8}
}
func (x *FindTopAnomaliesRequest) GetAnomalyGroupId() string {
if x != nil {
return x.AnomalyGroupId
}
return ""
}
func (x *FindTopAnomaliesRequest) GetLimit() int64 {
if x != nil {
return x.Limit
}
return 0
}
// Response object for FindTopAnomaliesResponse
type FindTopAnomaliesResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Anomalies []*Anomaly `protobuf:"bytes,1,rep,name=anomalies,proto3" json:"anomalies,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *FindTopAnomaliesResponse) Reset() {
*x = FindTopAnomaliesResponse{}
mi := &file_anomalygroup_service_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *FindTopAnomaliesResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindTopAnomaliesResponse) ProtoMessage() {}
func (x *FindTopAnomaliesResponse) ProtoReflect() protoreflect.Message {
mi := &file_anomalygroup_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 FindTopAnomaliesResponse.ProtoReflect.Descriptor instead.
func (*FindTopAnomaliesResponse) Descriptor() ([]byte, []int) {
return file_anomalygroup_service_proto_rawDescGZIP(), []int{9}
}
func (x *FindTopAnomaliesResponse) GetAnomalies() []*Anomaly {
if x != nil {
return x.Anomalies
}
return nil
}
// Request object for FindIssuesFromCulpritsRequest
type FindIssuesFromCulpritsRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The ID of the anomaly group
AnomalyGroupId string `protobuf:"bytes,1,opt,name=anomaly_group_id,json=anomalyGroupId,proto3" json:"anomaly_group_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *FindIssuesFromCulpritsRequest) Reset() {
*x = FindIssuesFromCulpritsRequest{}
mi := &file_anomalygroup_service_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *FindIssuesFromCulpritsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindIssuesFromCulpritsRequest) ProtoMessage() {}
func (x *FindIssuesFromCulpritsRequest) ProtoReflect() protoreflect.Message {
mi := &file_anomalygroup_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 FindIssuesFromCulpritsRequest.ProtoReflect.Descriptor instead.
func (*FindIssuesFromCulpritsRequest) Descriptor() ([]byte, []int) {
return file_anomalygroup_service_proto_rawDescGZIP(), []int{10}
}
func (x *FindIssuesFromCulpritsRequest) GetAnomalyGroupId() string {
if x != nil {
return x.AnomalyGroupId
}
return ""
}
// Response object for FindIssuesFromCulpritsResponse
type FindIssuesFromCulpritsResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The issue IDs from the culprit IDs of the anomaly group
IssueIds []string `protobuf:"bytes,1,rep,name=issue_ids,json=issueIds,proto3" json:"issue_ids,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *FindIssuesFromCulpritsResponse) Reset() {
*x = FindIssuesFromCulpritsResponse{}
mi := &file_anomalygroup_service_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *FindIssuesFromCulpritsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindIssuesFromCulpritsResponse) ProtoMessage() {}
func (x *FindIssuesFromCulpritsResponse) ProtoReflect() protoreflect.Message {
mi := &file_anomalygroup_service_proto_msgTypes[11]
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 FindIssuesFromCulpritsResponse.ProtoReflect.Descriptor instead.
func (*FindIssuesFromCulpritsResponse) Descriptor() ([]byte, []int) {
return file_anomalygroup_service_proto_rawDescGZIP(), []int{11}
}
func (x *FindIssuesFromCulpritsResponse) GetIssueIds() []string {
if x != nil {
return x.IssueIds
}
return nil
}
// Simplified format for an anomaly group, which should be sufficient
// in the following use cases:
// 1. provide a list of anomalies for filing a bug.
// 2. provide the most significant anomaly to launch a bisection.
// 3. for the new anomaly to be added in, and decide whether the new anomaly
// needs to be added to an existing bug.
type AnomalyGroup struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The ID of the anomaly group.
GroupId string `protobuf:"bytes,1,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"`
// The action to take for the anomaly group.
GroupAction GroupActionType `protobuf:"varint,2,opt,name=group_action,json=groupAction,proto3,enum=anomalygroup.v1.GroupActionType" json:"group_action,omitempty"`
// The anomalies added to this group.
AnomalyIds []string `protobuf:"bytes,3,rep,name=anomaly_ids,json=anomalyIds,proto3" json:"anomaly_ids,omitempty"`
// The culprits associated to this group.
CulpritIds []string `protobuf:"bytes,4,rep,name=culprit_ids,json=culpritIds,proto3" json:"culprit_ids,omitempty"`
// The reported issue associated to this group.
ReportedIssueId int64 `protobuf:"varint,5,opt,name=reported_issue_id,json=reportedIssueId,proto3" json:"reported_issue_id,omitempty"`
// The subscription name this anomaly group belongs to. (from group metadata)
SubsciptionName string `protobuf:"bytes,6,opt,name=subsciption_name,json=subsciptionName,proto3" json:"subsciption_name,omitempty"`
// The subscription revision this anomaly group belongs to. (from group metadata)
SubscriptionRevision string `protobuf:"bytes,7,opt,name=subscription_revision,json=subscriptionRevision,proto3" json:"subscription_revision,omitempty"`
// The name of the benchmark this anomaly group is based on. (from group metadata)
BenchmarkName string `protobuf:"bytes,8,opt,name=benchmark_name,json=benchmarkName,proto3" json:"benchmark_name,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *AnomalyGroup) Reset() {
*x = AnomalyGroup{}
mi := &file_anomalygroup_service_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *AnomalyGroup) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnomalyGroup) ProtoMessage() {}
func (x *AnomalyGroup) ProtoReflect() protoreflect.Message {
mi := &file_anomalygroup_service_proto_msgTypes[12]
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 AnomalyGroup.ProtoReflect.Descriptor instead.
func (*AnomalyGroup) Descriptor() ([]byte, []int) {
return file_anomalygroup_service_proto_rawDescGZIP(), []int{12}
}
func (x *AnomalyGroup) GetGroupId() string {
if x != nil {
return x.GroupId
}
return ""
}
func (x *AnomalyGroup) GetGroupAction() GroupActionType {
if x != nil {
return x.GroupAction
}
return GroupActionType_NOACTION
}
func (x *AnomalyGroup) GetAnomalyIds() []string {
if x != nil {
return x.AnomalyIds
}
return nil
}
func (x *AnomalyGroup) GetCulpritIds() []string {
if x != nil {
return x.CulpritIds
}
return nil
}
func (x *AnomalyGroup) GetReportedIssueId() int64 {
if x != nil {
return x.ReportedIssueId
}
return 0
}
func (x *AnomalyGroup) GetSubsciptionName() string {
if x != nil {
return x.SubsciptionName
}
return ""
}
func (x *AnomalyGroup) GetSubscriptionRevision() string {
if x != nil {
return x.SubscriptionRevision
}
return ""
}
func (x *AnomalyGroup) GetBenchmarkName() string {
if x != nil {
return x.BenchmarkName
}
return ""
}
// Regression object in a format used for anomaly group actions,
// including filing a new bug and triggering a new bisection job.
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_anomalygroup_service_proto_msgTypes[13]
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_anomalygroup_service_proto_msgTypes[13]
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_anomalygroup_service_proto_rawDescGZIP(), []int{13}
}
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
}
var File_anomalygroup_service_proto protoreflect.FileDescriptor
const file_anomalygroup_service_proto_rawDesc = "" +
"\n" +
"\x1aanomalygroup_service.proto\x12\x0fanomalygroup.v1\"\xb2\x02\n" +
"\x1cCreateNewAnomalyGroupRequest\x12+\n" +
"\x11subscription_name\x18\x01 \x01(\tR\x10subscriptionName\x123\n" +
"\x15subscription_revision\x18\x02 \x01(\tR\x14subscriptionRevision\x12\x16\n" +
"\x06domain\x18\x03 \x01(\tR\x06domain\x12\x1c\n" +
"\tbenchmark\x18\x04 \x01(\tR\tbenchmark\x12!\n" +
"\fstart_commit\x18\x05 \x01(\x03R\vstartCommit\x12\x1d\n" +
"\n" +
"end_commit\x18\x06 \x01(\x03R\tendCommit\x128\n" +
"\x06action\x18\a \x01(\x0e2 .anomalygroup.v1.GroupActionTypeR\x06action\"I\n" +
"\x1dCreateNewAnomalyGroupResponse\x12(\n" +
"\x10anomaly_group_id\x18\x01 \x01(\tR\x0eanomalyGroupId\"G\n" +
"\x1bLoadAnomalyGroupByIDRequest\x12(\n" +
"\x10anomaly_group_id\x18\x01 \x01(\tR\x0eanomalyGroupId\"b\n" +
"\x1cLoadAnomalyGroupByIDResponse\x12B\n" +
"\ranomaly_group\x18\x01 \x01(\v2\x1d.anomalygroup.v1.AnomalyGroupR\fanomalyGroup\"\xc3\x01\n" +
"\x19UpdateAnomalyGroupRequest\x12(\n" +
"\x10anomaly_group_id\x18\x01 \x01(\tR\x0eanomalyGroupId\x12\x1d\n" +
"\n" +
"anomaly_id\x18\x02 \x01(\tR\tanomalyId\x12!\n" +
"\fbisection_id\x18\x03 \x01(\tR\vbisectionId\x12\x19\n" +
"\bissue_id\x18\x04 \x01(\tR\aissueId\x12\x1f\n" +
"\vculprit_ids\x18\x05 \x03(\tR\n" +
"culpritIds\"\x1c\n" +
"\x1aUpdateAnomalyGroupResponse\"\x96\x02\n" +
"\x19FindExistingGroupsRequest\x12+\n" +
"\x11subscription_name\x18\x01 \x01(\tR\x10subscriptionName\x123\n" +
"\x15subscription_revision\x18\x02 \x01(\tR\x14subscriptionRevision\x128\n" +
"\x06action\x18\x03 \x01(\x0e2 .anomalygroup.v1.GroupActionTypeR\x06action\x12!\n" +
"\fstart_commit\x18\x04 \x01(\x03R\vstartCommit\x12\x1d\n" +
"\n" +
"end_commit\x18\x05 \x01(\x03R\tendCommit\x12\x1b\n" +
"\ttest_path\x18\x06 \x01(\tR\btestPath\"b\n" +
"\x1aFindExistingGroupsResponse\x12D\n" +
"\x0eanomaly_groups\x18\x01 \x03(\v2\x1d.anomalygroup.v1.AnomalyGroupR\ranomalyGroups\"Y\n" +
"\x17FindTopAnomaliesRequest\x12(\n" +
"\x10anomaly_group_id\x18\x01 \x01(\tR\x0eanomalyGroupId\x12\x14\n" +
"\x05limit\x18\x02 \x01(\x03R\x05limit\"R\n" +
"\x18FindTopAnomaliesResponse\x126\n" +
"\tanomalies\x18\x01 \x03(\v2\x18.anomalygroup.v1.AnomalyR\tanomalies\"I\n" +
"\x1dFindIssuesFromCulpritsRequest\x12(\n" +
"\x10anomaly_group_id\x18\x01 \x01(\tR\x0eanomalyGroupId\"=\n" +
"\x1eFindIssuesFromCulpritsResponse\x12\x1b\n" +
"\tissue_ids\x18\x01 \x03(\tR\bissueIds\"\xe3\x02\n" +
"\fAnomalyGroup\x12\x19\n" +
"\bgroup_id\x18\x01 \x01(\tR\agroupId\x12C\n" +
"\fgroup_action\x18\x02 \x01(\x0e2 .anomalygroup.v1.GroupActionTypeR\vgroupAction\x12\x1f\n" +
"\vanomaly_ids\x18\x03 \x03(\tR\n" +
"anomalyIds\x12\x1f\n" +
"\vculprit_ids\x18\x04 \x03(\tR\n" +
"culpritIds\x12*\n" +
"\x11reported_issue_id\x18\x05 \x01(\x03R\x0freportedIssueId\x12)\n" +
"\x10subsciption_name\x18\x06 \x01(\tR\x0fsubsciptionName\x123\n" +
"\x15subscription_revision\x18\a \x01(\tR\x14subscriptionRevision\x12%\n" +
"\x0ebenchmark_name\x18\b \x01(\tR\rbenchmarkName\"\xc9\x02\n" +
"\aAnomaly\x12!\n" +
"\fstart_commit\x18\x01 \x01(\x03R\vstartCommit\x12\x1d\n" +
"\n" +
"end_commit\x18\x02 \x01(\x03R\tendCommit\x12B\n" +
"\bparamset\x18\x03 \x03(\v2&.anomalygroup.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*7\n" +
"\x0fGroupActionType\x12\f\n" +
"\bNOACTION\x10\x00\x12\n" +
"\n" +
"\x06REPORT\x10\x01\x12\n" +
"\n" +
"\x06BISECT\x10\x022\xd0\x05\n" +
"\x13AnomalyGroupService\x12x\n" +
"\x15CreateNewAnomalyGroup\x12-.anomalygroup.v1.CreateNewAnomalyGroupRequest\x1a..anomalygroup.v1.CreateNewAnomalyGroupResponse\"\x00\x12u\n" +
"\x14LoadAnomalyGroupByID\x12,.anomalygroup.v1.LoadAnomalyGroupByIDRequest\x1a-.anomalygroup.v1.LoadAnomalyGroupByIDResponse\"\x00\x12o\n" +
"\x12UpdateAnomalyGroup\x12*.anomalygroup.v1.UpdateAnomalyGroupRequest\x1a+.anomalygroup.v1.UpdateAnomalyGroupResponse\"\x00\x12o\n" +
"\x12FindExistingGroups\x12*.anomalygroup.v1.FindExistingGroupsRequest\x1a+.anomalygroup.v1.FindExistingGroupsResponse\"\x00\x12i\n" +
"\x10FindTopAnomalies\x12(.anomalygroup.v1.FindTopAnomaliesRequest\x1a).anomalygroup.v1.FindTopAnomaliesResponse\"\x00\x12{\n" +
"\x16FindIssuesFromCulprits\x12..anomalygroup.v1.FindIssuesFromCulpritsRequest\x1a/.anomalygroup.v1.FindIssuesFromCulpritsResponse\"\x00B1Z/go.skia.org/infra/perf/go/anomalygroup/proto/v1b\x06proto3"
var (
file_anomalygroup_service_proto_rawDescOnce sync.Once
file_anomalygroup_service_proto_rawDescData []byte
)
func file_anomalygroup_service_proto_rawDescGZIP() []byte {
file_anomalygroup_service_proto_rawDescOnce.Do(func() {
file_anomalygroup_service_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_anomalygroup_service_proto_rawDesc), len(file_anomalygroup_service_proto_rawDesc)))
})
return file_anomalygroup_service_proto_rawDescData
}
var file_anomalygroup_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_anomalygroup_service_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
var file_anomalygroup_service_proto_goTypes = []any{
(GroupActionType)(0), // 0: anomalygroup.v1.GroupActionType
(*CreateNewAnomalyGroupRequest)(nil), // 1: anomalygroup.v1.CreateNewAnomalyGroupRequest
(*CreateNewAnomalyGroupResponse)(nil), // 2: anomalygroup.v1.CreateNewAnomalyGroupResponse
(*LoadAnomalyGroupByIDRequest)(nil), // 3: anomalygroup.v1.LoadAnomalyGroupByIDRequest
(*LoadAnomalyGroupByIDResponse)(nil), // 4: anomalygroup.v1.LoadAnomalyGroupByIDResponse
(*UpdateAnomalyGroupRequest)(nil), // 5: anomalygroup.v1.UpdateAnomalyGroupRequest
(*UpdateAnomalyGroupResponse)(nil), // 6: anomalygroup.v1.UpdateAnomalyGroupResponse
(*FindExistingGroupsRequest)(nil), // 7: anomalygroup.v1.FindExistingGroupsRequest
(*FindExistingGroupsResponse)(nil), // 8: anomalygroup.v1.FindExistingGroupsResponse
(*FindTopAnomaliesRequest)(nil), // 9: anomalygroup.v1.FindTopAnomaliesRequest
(*FindTopAnomaliesResponse)(nil), // 10: anomalygroup.v1.FindTopAnomaliesResponse
(*FindIssuesFromCulpritsRequest)(nil), // 11: anomalygroup.v1.FindIssuesFromCulpritsRequest
(*FindIssuesFromCulpritsResponse)(nil), // 12: anomalygroup.v1.FindIssuesFromCulpritsResponse
(*AnomalyGroup)(nil), // 13: anomalygroup.v1.AnomalyGroup
(*Anomaly)(nil), // 14: anomalygroup.v1.Anomaly
nil, // 15: anomalygroup.v1.Anomaly.ParamsetEntry
}
var file_anomalygroup_service_proto_depIdxs = []int32{
0, // 0: anomalygroup.v1.CreateNewAnomalyGroupRequest.action:type_name -> anomalygroup.v1.GroupActionType
13, // 1: anomalygroup.v1.LoadAnomalyGroupByIDResponse.anomaly_group:type_name -> anomalygroup.v1.AnomalyGroup
0, // 2: anomalygroup.v1.FindExistingGroupsRequest.action:type_name -> anomalygroup.v1.GroupActionType
13, // 3: anomalygroup.v1.FindExistingGroupsResponse.anomaly_groups:type_name -> anomalygroup.v1.AnomalyGroup
14, // 4: anomalygroup.v1.FindTopAnomaliesResponse.anomalies:type_name -> anomalygroup.v1.Anomaly
0, // 5: anomalygroup.v1.AnomalyGroup.group_action:type_name -> anomalygroup.v1.GroupActionType
15, // 6: anomalygroup.v1.Anomaly.paramset:type_name -> anomalygroup.v1.Anomaly.ParamsetEntry
1, // 7: anomalygroup.v1.AnomalyGroupService.CreateNewAnomalyGroup:input_type -> anomalygroup.v1.CreateNewAnomalyGroupRequest
3, // 8: anomalygroup.v1.AnomalyGroupService.LoadAnomalyGroupByID:input_type -> anomalygroup.v1.LoadAnomalyGroupByIDRequest
5, // 9: anomalygroup.v1.AnomalyGroupService.UpdateAnomalyGroup:input_type -> anomalygroup.v1.UpdateAnomalyGroupRequest
7, // 10: anomalygroup.v1.AnomalyGroupService.FindExistingGroups:input_type -> anomalygroup.v1.FindExistingGroupsRequest
9, // 11: anomalygroup.v1.AnomalyGroupService.FindTopAnomalies:input_type -> anomalygroup.v1.FindTopAnomaliesRequest
11, // 12: anomalygroup.v1.AnomalyGroupService.FindIssuesFromCulprits:input_type -> anomalygroup.v1.FindIssuesFromCulpritsRequest
2, // 13: anomalygroup.v1.AnomalyGroupService.CreateNewAnomalyGroup:output_type -> anomalygroup.v1.CreateNewAnomalyGroupResponse
4, // 14: anomalygroup.v1.AnomalyGroupService.LoadAnomalyGroupByID:output_type -> anomalygroup.v1.LoadAnomalyGroupByIDResponse
6, // 15: anomalygroup.v1.AnomalyGroupService.UpdateAnomalyGroup:output_type -> anomalygroup.v1.UpdateAnomalyGroupResponse
8, // 16: anomalygroup.v1.AnomalyGroupService.FindExistingGroups:output_type -> anomalygroup.v1.FindExistingGroupsResponse
10, // 17: anomalygroup.v1.AnomalyGroupService.FindTopAnomalies:output_type -> anomalygroup.v1.FindTopAnomaliesResponse
12, // 18: anomalygroup.v1.AnomalyGroupService.FindIssuesFromCulprits:output_type -> anomalygroup.v1.FindIssuesFromCulpritsResponse
13, // [13:19] is the sub-list for method output_type
7, // [7:13] is the sub-list for method input_type
7, // [7:7] is the sub-list for extension type_name
7, // [7:7] is the sub-list for extension extendee
0, // [0:7] is the sub-list for field type_name
}
func init() { file_anomalygroup_service_proto_init() }
func file_anomalygroup_service_proto_init() {
if File_anomalygroup_service_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_anomalygroup_service_proto_rawDesc), len(file_anomalygroup_service_proto_rawDesc)),
NumEnums: 1,
NumMessages: 15,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_anomalygroup_service_proto_goTypes,
DependencyIndexes: file_anomalygroup_service_proto_depIdxs,
EnumInfos: file_anomalygroup_service_proto_enumTypes,
MessageInfos: file_anomalygroup_service_proto_msgTypes,
}.Build()
File_anomalygroup_service_proto = out.File
file_anomalygroup_service_proto_goTypes = nil
file_anomalygroup_service_proto_depIdxs = nil
}