blob: 613bf93444cc429737cd88a05741b657ca1e53e3 [file] [log] [blame]
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.34.1
// protoc v3.21.12
// source: sheriff_config.proto
package v1
import (
reflect "reflect"
sync "sync"
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)
)
type AnomalyConfig_Step int32
const (
// Step detection algorithm.
AnomalyConfig_ORIGINAL_STEP AnomalyConfig_Step = 0
// Step detection using absolute magnitude as threshold.
AnomalyConfig_ABSOLUTE_STEP AnomalyConfig_Step = 1
// Step detection using a constant as threshold.
AnomalyConfig_CONST_STEP AnomalyConfig_Step = 2
// Step detection that checks if step size is greater than some
// percentage of the mean of the first half of the trace.
AnomalyConfig_PERCENT_STEP AnomalyConfig_Step = 3
// CohenStep uses Cohen's d method to detect a change.
// https://en.wikipedia.org/wiki/Effect_size#Cohen's_d
AnomalyConfig_COHEN_STEP AnomalyConfig_Step = 4
// MannWhitneyU uses the Mann-Whitney U test to detect a change.
// https://en.wikipedia.org/wiki/Mann%E2%80%93Whitney_U_test
AnomalyConfig_MANN_WHITNEY_U AnomalyConfig_Step = 5
)
// Enum value maps for AnomalyConfig_Step.
var (
AnomalyConfig_Step_name = map[int32]string{
0: "ORIGINAL_STEP",
1: "ABSOLUTE_STEP",
2: "CONST_STEP",
3: "PERCENT_STEP",
4: "COHEN_STEP",
5: "MANN_WHITNEY_U",
}
AnomalyConfig_Step_value = map[string]int32{
"ORIGINAL_STEP": 0,
"ABSOLUTE_STEP": 1,
"CONST_STEP": 2,
"PERCENT_STEP": 3,
"COHEN_STEP": 4,
"MANN_WHITNEY_U": 5,
}
)
func (x AnomalyConfig_Step) Enum() *AnomalyConfig_Step {
p := new(AnomalyConfig_Step)
*p = x
return p
}
func (x AnomalyConfig_Step) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (AnomalyConfig_Step) Descriptor() protoreflect.EnumDescriptor {
return file_sheriff_config_proto_enumTypes[0].Descriptor()
}
func (AnomalyConfig_Step) Type() protoreflect.EnumType {
return &file_sheriff_config_proto_enumTypes[0]
}
func (x AnomalyConfig_Step) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use AnomalyConfig_Step.Descriptor instead.
func (AnomalyConfig_Step) EnumDescriptor() ([]byte, []int) {
return file_sheriff_config_proto_rawDescGZIP(), []int{1, 0}
}
// Which direction will trigger an alert.
type AnomalyConfig_Direction int32
const (
AnomalyConfig_BOTH AnomalyConfig_Direction = 0
AnomalyConfig_UP AnomalyConfig_Direction = 1
AnomalyConfig_DOWN AnomalyConfig_Direction = 2
)
// Enum value maps for AnomalyConfig_Direction.
var (
AnomalyConfig_Direction_name = map[int32]string{
0: "BOTH",
1: "UP",
2: "DOWN",
}
AnomalyConfig_Direction_value = map[string]int32{
"BOTH": 0,
"UP": 1,
"DOWN": 2,
}
)
func (x AnomalyConfig_Direction) Enum() *AnomalyConfig_Direction {
p := new(AnomalyConfig_Direction)
*p = x
return p
}
func (x AnomalyConfig_Direction) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (AnomalyConfig_Direction) Descriptor() protoreflect.EnumDescriptor {
return file_sheriff_config_proto_enumTypes[1].Descriptor()
}
func (AnomalyConfig_Direction) Type() protoreflect.EnumType {
return &file_sheriff_config_proto_enumTypes[1]
}
func (x AnomalyConfig_Direction) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use AnomalyConfig_Direction.Descriptor instead.
func (AnomalyConfig_Direction) EnumDescriptor() ([]byte, []int) {
return file_sheriff_config_proto_rawDescGZIP(), []int{1, 1}
}
// What actions should be taken for detected anomalies.
// - NOACTION: Only show anomaly in UI. Don't triage or bisect.
// - TRIAGE: File Buganizer issue for anomalies found. Don't bisect.
// - BISECT: Triage and bisect anomaly groups.
type AnomalyConfig_Action int32
const (
AnomalyConfig_NOACTION AnomalyConfig_Action = 0
AnomalyConfig_TRIAGE AnomalyConfig_Action = 1
AnomalyConfig_BISECT AnomalyConfig_Action = 2
)
// Enum value maps for AnomalyConfig_Action.
var (
AnomalyConfig_Action_name = map[int32]string{
0: "NOACTION",
1: "TRIAGE",
2: "BISECT",
}
AnomalyConfig_Action_value = map[string]int32{
"NOACTION": 0,
"TRIAGE": 1,
"BISECT": 2,
}
)
func (x AnomalyConfig_Action) Enum() *AnomalyConfig_Action {
p := new(AnomalyConfig_Action)
*p = x
return p
}
func (x AnomalyConfig_Action) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (AnomalyConfig_Action) Descriptor() protoreflect.EnumDescriptor {
return file_sheriff_config_proto_enumTypes[2].Descriptor()
}
func (AnomalyConfig_Action) Type() protoreflect.EnumType {
return &file_sheriff_config_proto_enumTypes[2]
}
func (x AnomalyConfig_Action) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use AnomalyConfig_Action.Descriptor instead.
func (AnomalyConfig_Action) EnumDescriptor() ([]byte, []int) {
return file_sheriff_config_proto_rawDescGZIP(), []int{1, 2}
}
// What Clustering Algorithm to use.
// StepFit: Look at each trace individually.
// KMeans: Cluster traces using K-Means Clustering.
type AnomalyConfig_Algo int32
const (
AnomalyConfig_STEPFIT AnomalyConfig_Algo = 0
AnomalyConfig_KMEANS AnomalyConfig_Algo = 1
)
// Enum value maps for AnomalyConfig_Algo.
var (
AnomalyConfig_Algo_name = map[int32]string{
0: "STEPFIT",
1: "KMEANS",
}
AnomalyConfig_Algo_value = map[string]int32{
"STEPFIT": 0,
"KMEANS": 1,
}
)
func (x AnomalyConfig_Algo) Enum() *AnomalyConfig_Algo {
p := new(AnomalyConfig_Algo)
*p = x
return p
}
func (x AnomalyConfig_Algo) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (AnomalyConfig_Algo) Descriptor() protoreflect.EnumDescriptor {
return file_sheriff_config_proto_enumTypes[3].Descriptor()
}
func (AnomalyConfig_Algo) Type() protoreflect.EnumType {
return &file_sheriff_config_proto_enumTypes[3]
}
func (x AnomalyConfig_Algo) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use AnomalyConfig_Algo.Descriptor instead.
func (AnomalyConfig_Algo) EnumDescriptor() ([]byte, []int) {
return file_sheriff_config_proto_rawDescGZIP(), []int{1, 3}
}
type Subscription_Priority int32
const (
// If unspecified, default is P2.
Subscription_P_UNSPECIFIED Subscription_Priority = 0
Subscription_P0 Subscription_Priority = 1
Subscription_P1 Subscription_Priority = 2
Subscription_P2 Subscription_Priority = 3
Subscription_P3 Subscription_Priority = 4
Subscription_P4 Subscription_Priority = 5
)
// Enum value maps for Subscription_Priority.
var (
Subscription_Priority_name = map[int32]string{
0: "P_UNSPECIFIED",
1: "P0",
2: "P1",
3: "P2",
4: "P3",
5: "P4",
}
Subscription_Priority_value = map[string]int32{
"P_UNSPECIFIED": 0,
"P0": 1,
"P1": 2,
"P2": 3,
"P3": 4,
"P4": 5,
}
)
func (x Subscription_Priority) Enum() *Subscription_Priority {
p := new(Subscription_Priority)
*p = x
return p
}
func (x Subscription_Priority) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Subscription_Priority) Descriptor() protoreflect.EnumDescriptor {
return file_sheriff_config_proto_enumTypes[4].Descriptor()
}
func (Subscription_Priority) Type() protoreflect.EnumType {
return &file_sheriff_config_proto_enumTypes[4]
}
func (x Subscription_Priority) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Subscription_Priority.Descriptor instead.
func (Subscription_Priority) EnumDescriptor() ([]byte, []int) {
return file_sheriff_config_proto_rawDescGZIP(), []int{2, 0}
}
type Subscription_Severity int32
const (
// If unspecified, default is S2.
Subscription_S_UNSPECIFIED Subscription_Severity = 0
Subscription_S0 Subscription_Severity = 1
Subscription_S1 Subscription_Severity = 2
Subscription_S2 Subscription_Severity = 3
Subscription_S3 Subscription_Severity = 4
Subscription_S4 Subscription_Severity = 5
)
// Enum value maps for Subscription_Severity.
var (
Subscription_Severity_name = map[int32]string{
0: "S_UNSPECIFIED",
1: "S0",
2: "S1",
3: "S2",
4: "S3",
5: "S4",
}
Subscription_Severity_value = map[string]int32{
"S_UNSPECIFIED": 0,
"S0": 1,
"S1": 2,
"S2": 3,
"S3": 4,
"S4": 5,
}
)
func (x Subscription_Severity) Enum() *Subscription_Severity {
p := new(Subscription_Severity)
*p = x
return p
}
func (x Subscription_Severity) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Subscription_Severity) Descriptor() protoreflect.EnumDescriptor {
return file_sheriff_config_proto_enumTypes[5].Descriptor()
}
func (Subscription_Severity) Type() protoreflect.EnumType {
return &file_sheriff_config_proto_enumTypes[5]
}
func (x Subscription_Severity) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Subscription_Severity.Descriptor instead.
func (Subscription_Severity) EnumDescriptor() ([]byte, []int) {
return file_sheriff_config_proto_rawDescGZIP(), []int{2, 1}
}
// Rules specify how to capture traces for Anomaly Detection.
//
// A match or exclude string must be of the string format:
// "{key1}={value1}&{key2=value2}&..."
// where key is the name of the parameter and value is the value to filter for.
// If a key doesn't match an actual key in the Skia DB, the alert config will simply get
// ignored.
//
// For matching, if a parameter is not specified, the default value is wildcard "*",
// meaning match to any value.
// For excluding, each statement must only include a single key.
//
// Consider the example below:
//
// {
// match: [
// "master=ChromiumPerf"&bot=~lacros-.*-perf&benchmark=Speedometer2",
// "master=ChromiumPerf&benchmark=Jetstream2",
// ],
// exclude: [
// "bot=lacros-eve-perf",
// "bot=lacros-x86-perf",
// ]
// }
//
// In SQL grammar, this would translate to:
// ...
// SELECT * FROM Metrics
// WHERE
// (main='ChromiumPerf' AND bot REGEXP 'lacros-.*-perf' AND benchmark='Speedometer2'
// AND bot!='lacros-eve-perf' AND bot!='lacros-x86-perf')
// OR
// (main='ChromiumPerf' AND benchmark='Jetstream'
// AND bot!='lacros-eve-perf' AND bot!='lacros-x86-perf')
type Rules struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Match []string `protobuf:"bytes,1,rep,name=match,proto3" json:"match,omitempty"`
Exclude []string `protobuf:"bytes,2,rep,name=exclude,proto3" json:"exclude,omitempty"`
}
func (x *Rules) Reset() {
*x = Rules{}
if protoimpl.UnsafeEnabled {
mi := &file_sheriff_config_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Rules) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Rules) ProtoMessage() {}
func (x *Rules) ProtoReflect() protoreflect.Message {
mi := &file_sheriff_config_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Rules.ProtoReflect.Descriptor instead.
func (*Rules) Descriptor() ([]byte, []int) {
return file_sheriff_config_proto_rawDescGZIP(), []int{0}
}
func (x *Rules) GetMatch() []string {
if x != nil {
return x.Match
}
return nil
}
func (x *Rules) GetExclude() []string {
if x != nil {
return x.Exclude
}
return nil
}
// An AnomalyConfig defines the bounds for which a change in a matching metric
// can be considered "anomalous". For metrics that are matched, we apply the
// anomaly config to determine whether we should create an alert.
//
// The configuration settings defined for an anomaly configuration override
// defaults that are defined by the anomaly detection algorithm.
//
// TODO(eduardoyap): Figure out default values and document them here.
type AnomalyConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Anomaly detection algorithm.
// Default: Original step.
Step AnomalyConfig_Step `protobuf:"varint,1,opt,name=step,proto3,enum=sheriff_config.v1.AnomalyConfig_Step" json:"step,omitempty"`
// How many commits to each side of a commit to consider when looking for a step.
// TODO(eduardoyap): Determine default and document here.
Radius *int32 `protobuf:"varint,2,opt,name=radius,proto3,oneof" json:"radius,omitempty"`
// The threshold value beyond which values become interesting
// (indicates a real regression). Range of this value depends on algorithm used.
Threshold float32 `protobuf:"fixed32,3,opt,name=threshold,proto3" json:"threshold,omitempty"`
// How many traces need to be found interesting before an alert is fired.
// Default: 1.
MinimumNum *int32 `protobuf:"varint,4,opt,name=minimum_num,json=minimumNum,proto3,oneof" json:"minimum_num,omitempty"`
// If true, only include commits that have data.
// Default: False
Sparse *bool `protobuf:"varint,5,opt,name=sparse,proto3,oneof" json:"sparse,omitempty"`
// If algo is set to K-means, this determines the K in K-means clustering.
// Default: 0.
K *int32 `protobuf:"varint,6,opt,name=k,proto3,oneof" json:"k,omitempty"`
// Comma separated list of keys that all clustering should be broken up accross.
// Keys must not be part of a pattern.
// Default: "".
GroupBy *string `protobuf:"bytes,7,opt,name=group_by,json=groupBy,proto3,oneof" json:"group_by,omitempty"`
// Default: Both
Direction AnomalyConfig_Direction `protobuf:"varint,8,opt,name=direction,proto3,enum=sheriff_config.v1.AnomalyConfig_Direction" json:"direction,omitempty"`
// Default: No Action.
Action AnomalyConfig_Action `protobuf:"varint,9,opt,name=action,proto3,enum=sheriff_config.v1.AnomalyConfig_Action" json:"action,omitempty"`
// Default: Step Fit Grouping
Algo AnomalyConfig_Algo `protobuf:"varint,10,opt,name=algo,proto3,enum=sheriff_config.v1.AnomalyConfig_Algo" json:"algo,omitempty"`
// Which metrics should be captured by this AnomalyConfig.
Rules *Rules `protobuf:"bytes,11,opt,name=rules,proto3" json:"rules,omitempty"`
}
func (x *AnomalyConfig) Reset() {
*x = AnomalyConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_sheriff_config_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AnomalyConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AnomalyConfig) ProtoMessage() {}
func (x *AnomalyConfig) ProtoReflect() protoreflect.Message {
mi := &file_sheriff_config_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AnomalyConfig.ProtoReflect.Descriptor instead.
func (*AnomalyConfig) Descriptor() ([]byte, []int) {
return file_sheriff_config_proto_rawDescGZIP(), []int{1}
}
func (x *AnomalyConfig) GetStep() AnomalyConfig_Step {
if x != nil {
return x.Step
}
return AnomalyConfig_ORIGINAL_STEP
}
func (x *AnomalyConfig) GetRadius() int32 {
if x != nil && x.Radius != nil {
return *x.Radius
}
return 0
}
func (x *AnomalyConfig) GetThreshold() float32 {
if x != nil {
return x.Threshold
}
return 0
}
func (x *AnomalyConfig) GetMinimumNum() int32 {
if x != nil && x.MinimumNum != nil {
return *x.MinimumNum
}
return 0
}
func (x *AnomalyConfig) GetSparse() bool {
if x != nil && x.Sparse != nil {
return *x.Sparse
}
return false
}
func (x *AnomalyConfig) GetK() int32 {
if x != nil && x.K != nil {
return *x.K
}
return 0
}
func (x *AnomalyConfig) GetGroupBy() string {
if x != nil && x.GroupBy != nil {
return *x.GroupBy
}
return ""
}
func (x *AnomalyConfig) GetDirection() AnomalyConfig_Direction {
if x != nil {
return x.Direction
}
return AnomalyConfig_BOTH
}
func (x *AnomalyConfig) GetAction() AnomalyConfig_Action {
if x != nil {
return x.Action
}
return AnomalyConfig_NOACTION
}
func (x *AnomalyConfig) GetAlgo() AnomalyConfig_Algo {
if x != nil {
return x.Algo
}
return AnomalyConfig_STEPFIT
}
func (x *AnomalyConfig) GetRules() *Rules {
if x != nil {
return x.Rules
}
return nil
}
// A Subscription describes a configuration through which we determine:
// - A set of metrics a group of users are interested in alert monitoring.
// These anomalies are grouped together into anomaly groups if they
// overlap.
// - Anomaly detection settings.
// - Alerting settings.
type Subscription struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// A name is a free-form name for human readability purposes. Also
// serves as a unique key for the subscription and should be unique from
// all other subscription names.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// The contact email address who owns this subscription. This is a required
// field. There must be an owner we can contact for each subscription.
ContactEmail string `protobuf:"bytes,2,opt,name=contact_email,json=contactEmail,proto3" json:"contact_email,omitempty"`
// A list of labels applied to the Buganizer issues associated with
// this subscription.
BugLabels []string `protobuf:"bytes,3,rep,name=bug_labels,json=bugLabels,proto3" json:"bug_labels,omitempty"`
// A list of Hotlist labels applied to the Buganizer issues associated with
// this subscription.
HotlistLabels []string `protobuf:"bytes,4,rep,name=hotlist_labels,json=hotlistLabels,proto3" json:"hotlist_labels,omitempty"`
// A Buganizer component in which to file issues for this subscription.
BugComponent string `protobuf:"bytes,6,opt,name=bug_component,json=bugComponent,proto3" json:"bug_component,omitempty"`
// Priority to set in Buganizer issue. Default is P2.
BugPriority Subscription_Priority `protobuf:"varint,9,opt,name=bug_priority,json=bugPriority,proto3,enum=sheriff_config.v1.Subscription_Priority" json:"bug_priority,omitempty"`
// Severity to set in Buganizer issue. Default is S2.
BugSeverity Subscription_Severity `protobuf:"varint,10,opt,name=bug_severity,json=bugSeverity,proto3,enum=sheriff_config.v1.Subscription_Severity" json:"bug_severity,omitempty"`
// A list of e-mails to add to Buganizer issue CC list.
BugCcEmails []string `protobuf:"bytes,7,rep,name=bug_cc_emails,json=bugCcEmails,proto3" json:"bug_cc_emails,omitempty"`
// Here we specify the subset of metrics we are interested in and what anomaly
// detection algorithms to apply. This field can be repeated so that
// different algorithms can be applied depending on the metrics captured.
//
// Anomaly configs in the same subscription should not have
// overlapping metrics.
AnomalyConfigs []*AnomalyConfig `protobuf:"bytes,8,rep,name=anomaly_configs,json=anomalyConfigs,proto3" json:"anomaly_configs,omitempty"`
// Specifies which instance this subscription should be imported to.
// e.g. "chrome-internal".
Instance string `protobuf:"bytes,11,opt,name=instance,proto3" json:"instance,omitempty"`
}
func (x *Subscription) Reset() {
*x = Subscription{}
if protoimpl.UnsafeEnabled {
mi := &file_sheriff_config_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Subscription) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Subscription) ProtoMessage() {}
func (x *Subscription) ProtoReflect() protoreflect.Message {
mi := &file_sheriff_config_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Subscription.ProtoReflect.Descriptor instead.
func (*Subscription) Descriptor() ([]byte, []int) {
return file_sheriff_config_proto_rawDescGZIP(), []int{2}
}
func (x *Subscription) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Subscription) GetContactEmail() string {
if x != nil {
return x.ContactEmail
}
return ""
}
func (x *Subscription) GetBugLabels() []string {
if x != nil {
return x.BugLabels
}
return nil
}
func (x *Subscription) GetHotlistLabels() []string {
if x != nil {
return x.HotlistLabels
}
return nil
}
func (x *Subscription) GetBugComponent() string {
if x != nil {
return x.BugComponent
}
return ""
}
func (x *Subscription) GetBugPriority() Subscription_Priority {
if x != nil {
return x.BugPriority
}
return Subscription_P_UNSPECIFIED
}
func (x *Subscription) GetBugSeverity() Subscription_Severity {
if x != nil {
return x.BugSeverity
}
return Subscription_S_UNSPECIFIED
}
func (x *Subscription) GetBugCcEmails() []string {
if x != nil {
return x.BugCcEmails
}
return nil
}
func (x *Subscription) GetAnomalyConfigs() []*AnomalyConfig {
if x != nil {
return x.AnomalyConfigs
}
return nil
}
func (x *Subscription) GetInstance() string {
if x != nil {
return x.Instance
}
return ""
}
// A SheriffConfig lists the subscriptions for a Skia Perf instance.
// Subscriptions may only capture metrics which are uploaded to the Skia Perf
// instance specified.
type SheriffConfig struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Subscriptions []*Subscription `protobuf:"bytes,1,rep,name=subscriptions,proto3" json:"subscriptions,omitempty"`
}
func (x *SheriffConfig) Reset() {
*x = SheriffConfig{}
if protoimpl.UnsafeEnabled {
mi := &file_sheriff_config_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SheriffConfig) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SheriffConfig) ProtoMessage() {}
func (x *SheriffConfig) ProtoReflect() protoreflect.Message {
mi := &file_sheriff_config_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SheriffConfig.ProtoReflect.Descriptor instead.
func (*SheriffConfig) Descriptor() ([]byte, []int) {
return file_sheriff_config_proto_rawDescGZIP(), []int{3}
}
func (x *SheriffConfig) GetSubscriptions() []*Subscription {
if x != nil {
return x.Subscriptions
}
return nil
}
var File_sheriff_config_proto protoreflect.FileDescriptor
var file_sheriff_config_proto_rawDesc = []byte{
0x0a, 0x14, 0x73, 0x68, 0x65, 0x72, 0x69, 0x66, 0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x73, 0x68, 0x65, 0x72, 0x69, 0x66, 0x66, 0x5f,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x22, 0x37, 0x0a, 0x05, 0x52, 0x75, 0x6c,
0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28,
0x09, 0x52, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x63, 0x6c,
0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x63, 0x6c, 0x75,
0x64, 0x65, 0x22, 0x98, 0x06, 0x0a, 0x0d, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x04, 0x73, 0x74, 0x65, 0x70, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0e, 0x32, 0x25, 0x2e, 0x73, 0x68, 0x65, 0x72, 0x69, 0x66, 0x66, 0x5f, 0x63, 0x6f, 0x6e,
0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x52, 0x04, 0x73, 0x74, 0x65, 0x70, 0x12,
0x1b, 0x0a, 0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48,
0x00, 0x52, 0x06, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x1c, 0x0a, 0x09,
0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52,
0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x69,
0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48,
0x01, 0x52, 0x0a, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x4e, 0x75, 0x6d, 0x88, 0x01, 0x01,
0x12, 0x1b, 0x0a, 0x06, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08,
0x48, 0x02, 0x52, 0x06, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x88, 0x01, 0x01, 0x12, 0x11, 0x0a,
0x01, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x01, 0x6b, 0x88, 0x01, 0x01,
0x12, 0x1e, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x62, 0x79, 0x18, 0x07, 0x20, 0x01,
0x28, 0x09, 0x48, 0x04, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x79, 0x88, 0x01, 0x01,
0x12, 0x48, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x73, 0x68, 0x65, 0x72, 0x69, 0x66, 0x66, 0x5f, 0x63, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x06, 0x61, 0x63,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x73, 0x68, 0x65,
0x72, 0x69, 0x66, 0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41,
0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, 0x74,
0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x04, 0x61,
0x6c, 0x67, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x73, 0x68, 0x65, 0x72,
0x69, 0x66, 0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e,
0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x6c, 0x67, 0x6f,
0x52, 0x04, 0x61, 0x6c, 0x67, 0x6f, 0x12, 0x2e, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18,
0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x68, 0x65, 0x72, 0x69, 0x66, 0x66, 0x5f,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52,
0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x72, 0x0a, 0x04, 0x53, 0x74, 0x65, 0x70, 0x12, 0x11,
0x0a, 0x0d, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x45, 0x50, 0x10,
0x00, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x53, 0x54,
0x45, 0x50, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x5f, 0x53, 0x54,
0x45, 0x50, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x45, 0x52, 0x43, 0x45, 0x4e, 0x54, 0x5f,
0x53, 0x54, 0x45, 0x50, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, 0x48, 0x45, 0x4e, 0x5f,
0x53, 0x54, 0x45, 0x50, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x4d, 0x41, 0x4e, 0x4e, 0x5f, 0x57,
0x48, 0x49, 0x54, 0x4e, 0x45, 0x59, 0x5f, 0x55, 0x10, 0x05, 0x22, 0x27, 0x0a, 0x09, 0x44, 0x69,
0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x54, 0x48, 0x10,
0x00, 0x12, 0x06, 0x0a, 0x02, 0x55, 0x50, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x4f, 0x57,
0x4e, 0x10, 0x02, 0x22, 0x2e, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0c, 0x0a,
0x08, 0x4e, 0x4f, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x54,
0x52, 0x49, 0x41, 0x47, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x49, 0x53, 0x45, 0x43,
0x54, 0x10, 0x02, 0x22, 0x1f, 0x0a, 0x04, 0x41, 0x6c, 0x67, 0x6f, 0x12, 0x0b, 0x0a, 0x07, 0x53,
0x54, 0x45, 0x50, 0x46, 0x49, 0x54, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4b, 0x4d, 0x45, 0x41,
0x4e, 0x53, 0x10, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x61, 0x64, 0x69, 0x75, 0x73, 0x42,
0x0e, 0x0a, 0x0c, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6e, 0x75, 0x6d, 0x42,
0x09, 0x0a, 0x07, 0x5f, 0x73, 0x70, 0x61, 0x72, 0x73, 0x65, 0x42, 0x04, 0x0a, 0x02, 0x5f, 0x6b,
0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x62, 0x79, 0x22, 0xe5, 0x04,
0x0a, 0x0c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12,
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x5f, 0x65, 0x6d,
0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x61,
0x63, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x75, 0x67, 0x5f, 0x6c,
0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x67,
0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x68, 0x6f, 0x74, 0x6c, 0x69, 0x73,
0x74, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d,
0x68, 0x6f, 0x74, 0x6c, 0x69, 0x73, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x23, 0x0a,
0x0d, 0x62, 0x75, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x06,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65,
0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x0c, 0x62, 0x75, 0x67, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69,
0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x73, 0x68, 0x65, 0x72, 0x69,
0x66, 0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62,
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69,
0x74, 0x79, 0x52, 0x0b, 0x62, 0x75, 0x67, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12,
0x4b, 0x0a, 0x0c, 0x62, 0x75, 0x67, 0x5f, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18,
0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x73, 0x68, 0x65, 0x72, 0x69, 0x66, 0x66, 0x5f,
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x52,
0x0b, 0x62, 0x75, 0x67, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0d,
0x62, 0x75, 0x67, 0x5f, 0x63, 0x63, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x07, 0x20,
0x03, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x75, 0x67, 0x43, 0x63, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x73,
0x12, 0x49, 0x0a, 0x0f, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66,
0x69, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x68, 0x65, 0x72,
0x69, 0x66, 0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e,
0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x61, 0x6e, 0x6f,
0x6d, 0x61, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x69,
0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69,
0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x45, 0x0a, 0x08, 0x50, 0x72, 0x69, 0x6f, 0x72,
0x69, 0x74, 0x79, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x50, 0x30, 0x10, 0x01, 0x12, 0x06,
0x0a, 0x02, 0x50, 0x31, 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, 0x50, 0x32, 0x10, 0x03, 0x12, 0x06,
0x0a, 0x02, 0x50, 0x33, 0x10, 0x04, 0x12, 0x06, 0x0a, 0x02, 0x50, 0x34, 0x10, 0x05, 0x22, 0x45,
0x0a, 0x08, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x5f,
0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x06, 0x0a,
0x02, 0x53, 0x30, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x53, 0x31, 0x10, 0x02, 0x12, 0x06, 0x0a,
0x02, 0x53, 0x32, 0x10, 0x03, 0x12, 0x06, 0x0a, 0x02, 0x53, 0x33, 0x10, 0x04, 0x12, 0x06, 0x0a,
0x02, 0x53, 0x34, 0x10, 0x05, 0x22, 0x56, 0x0a, 0x0d, 0x53, 0x68, 0x65, 0x72, 0x69, 0x66, 0x66,
0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x45, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
0x73, 0x68, 0x65, 0x72, 0x69, 0x66, 0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x76,
0x31, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d,
0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x32, 0x5a,
0x30, 0x67, 0x6f, 0x2e, 0x73, 0x6b, 0x69, 0x61, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x69, 0x6e, 0x66,
0x72, 0x61, 0x2f, 0x70, 0x65, 0x72, 0x66, 0x2f, 0x67, 0x6f, 0x2f, 0x73, 0x68, 0x65, 0x72, 0x69,
0x66, 0x66, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76,
0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_sheriff_config_proto_rawDescOnce sync.Once
file_sheriff_config_proto_rawDescData = file_sheriff_config_proto_rawDesc
)
func file_sheriff_config_proto_rawDescGZIP() []byte {
file_sheriff_config_proto_rawDescOnce.Do(func() {
file_sheriff_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_sheriff_config_proto_rawDescData)
})
return file_sheriff_config_proto_rawDescData
}
var file_sheriff_config_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
var file_sheriff_config_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_sheriff_config_proto_goTypes = []interface{}{
(AnomalyConfig_Step)(0), // 0: sheriff_config.v1.AnomalyConfig.Step
(AnomalyConfig_Direction)(0), // 1: sheriff_config.v1.AnomalyConfig.Direction
(AnomalyConfig_Action)(0), // 2: sheriff_config.v1.AnomalyConfig.Action
(AnomalyConfig_Algo)(0), // 3: sheriff_config.v1.AnomalyConfig.Algo
(Subscription_Priority)(0), // 4: sheriff_config.v1.Subscription.Priority
(Subscription_Severity)(0), // 5: sheriff_config.v1.Subscription.Severity
(*Rules)(nil), // 6: sheriff_config.v1.Rules
(*AnomalyConfig)(nil), // 7: sheriff_config.v1.AnomalyConfig
(*Subscription)(nil), // 8: sheriff_config.v1.Subscription
(*SheriffConfig)(nil), // 9: sheriff_config.v1.SheriffConfig
}
var file_sheriff_config_proto_depIdxs = []int32{
0, // 0: sheriff_config.v1.AnomalyConfig.step:type_name -> sheriff_config.v1.AnomalyConfig.Step
1, // 1: sheriff_config.v1.AnomalyConfig.direction:type_name -> sheriff_config.v1.AnomalyConfig.Direction
2, // 2: sheriff_config.v1.AnomalyConfig.action:type_name -> sheriff_config.v1.AnomalyConfig.Action
3, // 3: sheriff_config.v1.AnomalyConfig.algo:type_name -> sheriff_config.v1.AnomalyConfig.Algo
6, // 4: sheriff_config.v1.AnomalyConfig.rules:type_name -> sheriff_config.v1.Rules
4, // 5: sheriff_config.v1.Subscription.bug_priority:type_name -> sheriff_config.v1.Subscription.Priority
5, // 6: sheriff_config.v1.Subscription.bug_severity:type_name -> sheriff_config.v1.Subscription.Severity
7, // 7: sheriff_config.v1.Subscription.anomaly_configs:type_name -> sheriff_config.v1.AnomalyConfig
8, // 8: sheriff_config.v1.SheriffConfig.subscriptions:type_name -> sheriff_config.v1.Subscription
9, // [9:9] is the sub-list for method output_type
9, // [9:9] is the sub-list for method input_type
9, // [9:9] is the sub-list for extension type_name
9, // [9:9] is the sub-list for extension extendee
0, // [0:9] is the sub-list for field type_name
}
func init() { file_sheriff_config_proto_init() }
func file_sheriff_config_proto_init() {
if File_sheriff_config_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_sheriff_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Rules); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sheriff_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AnomalyConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sheriff_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Subscription); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_sheriff_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SheriffConfig); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_sheriff_config_proto_msgTypes[1].OneofWrappers = []interface{}{}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_sheriff_config_proto_rawDesc,
NumEnums: 6,
NumMessages: 4,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_sheriff_config_proto_goTypes,
DependencyIndexes: file_sheriff_config_proto_depIdxs,
EnumInfos: file_sheriff_config_proto_enumTypes,
MessageInfos: file_sheriff_config_proto_msgTypes,
}.Build()
File_sheriff_config_proto = out.File
file_sheriff_config_proto_rawDesc = nil
file_sheriff_config_proto_goTypes = nil
file_sheriff_config_proto_depIdxs = nil
}