proto

package
v0.11.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 27, 2021 License: Apache-2.0 Imports: 11 Imported by: 6

Documentation

Index

Constants

View Source
const (
	Default_SurfacerDef_MetricsBufferSize = int64(10000)
)

Default values for SurfacerDef fields.

Variables

View Source
var (
	Type_name = map[int32]string{
		0:  "NONE",
		1:  "PROMETHEUS",
		2:  "STACKDRIVER",
		3:  "FILE",
		4:  "POSTGRES",
		5:  "PUBSUB",
		6:  "CLOUDWATCH",
		7:  "DATADOG",
		99: "USER_DEFINED",
	}
	Type_value = map[string]int32{
		"NONE":         0,
		"PROMETHEUS":   1,
		"STACKDRIVER":  2,
		"FILE":         3,
		"POSTGRES":     4,
		"PUBSUB":       5,
		"CLOUDWATCH":   6,
		"DATADOG":      7,
		"USER_DEFINED": 99,
	}
)

Enum value maps for Type.

View Source
var File_github_com_google_cloudprober_surfacers_proto_config_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type LabelFilter added in v0.11.3

type LabelFilter struct {
	Key   *string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
	Value *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
	// contains filtered or unexported fields
}

func (*LabelFilter) Descriptor deprecated added in v0.11.3

func (*LabelFilter) Descriptor() ([]byte, []int)

Deprecated: Use LabelFilter.ProtoReflect.Descriptor instead.

func (*LabelFilter) GetKey added in v0.11.3

func (x *LabelFilter) GetKey() string

func (*LabelFilter) GetValue added in v0.11.3

func (x *LabelFilter) GetValue() string

func (*LabelFilter) ProtoMessage added in v0.11.3

func (*LabelFilter) ProtoMessage()

func (*LabelFilter) ProtoReflect added in v0.11.3

func (x *LabelFilter) ProtoReflect() protoreflect.Message

func (*LabelFilter) Reset added in v0.11.3

func (x *LabelFilter) Reset()

func (*LabelFilter) String added in v0.11.3

func (x *LabelFilter) String() string

type SurfacerDef

type SurfacerDef struct {

	// This name is used for logging. If not defined, it's derived from the type.
	// Note that this field is required for the USER_DEFINED surfacer type and
	// should match with the name that you used while registering the user defined
	// surfacer.
	Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Type *Type   `protobuf:"varint,2,opt,name=type,enum=cloudprober.surfacer.Type" json:"type,omitempty"`
	// How many metrics entries (EventMetrics) to buffer. This is the buffer
	// between incoming metrics and the metrics that are being processed. Default
	// value should work in most cases. You may need to increase it on a busy
	// system, but that's usually a sign that you metrics processing pipeline is
	// slow for some reason, e.g. slow writes to a remote file.
	// Note: Only file and pubsub surfacer supports this option right now.
	MetricsBufferSize *int64 `protobuf:"varint,3,opt,name=metrics_buffer_size,json=metricsBufferSize,def=10000" json:"metrics_buffer_size,omitempty"`
	// If specified, only allow metrics that match any of these label filters.
	// Example:
	// allow_metrics_with_label {
	//   key: "probe",
	//   value: "check_homepage",
	// }
	AllowMetricsWithLabel []*LabelFilter `protobuf:"bytes,4,rep,name=allow_metrics_with_label,json=allowMetricsWithLabel" json:"allow_metrics_with_label,omitempty"`
	// Ignore metrics that match any of these label filters. Ignore has precedence
	// over allow filters.
	// Example:
	// ignore_metrics_with_label {
	//   key: "probe",
	//   value: "sysvars",
	// }
	IgnoreMetricsWithLabel []*LabelFilter `protobuf:"bytes,5,rep,name=ignore_metrics_with_label,json=ignoreMetricsWithLabel" json:"ignore_metrics_with_label,omitempty"`
	// Allow and ignore metrics based on their names. You can specify regexes
	// here. Ignore has precendence over allow.
	// Examples:
	//  ignore_metrics_with_name: "validation_failure"
	//  allow_metrics_with_name: "(total|success|latency)"
	//
	// For efficiency reasons, filtering by metric name has to be implemented by
	// individual surfacers (while going through metrics within an EventMetrics).
	// Currently following surfacers implement it:
	//     CLOUDWATCH, PROMETHEUS, STACKDRIVER
	AllowMetricsWithName  *string `protobuf:"bytes,6,opt,name=allow_metrics_with_name,json=allowMetricsWithName" json:"allow_metrics_with_name,omitempty"`
	IgnoreMetricsWithName *string `protobuf:"bytes,7,opt,name=ignore_metrics_with_name,json=ignoreMetricsWithName" json:"ignore_metrics_with_name,omitempty"`
	// Whether to add failure metric or not. For stackdriver surfacer, we add
	// failure metric by default.
	AddFailureMetric *bool `protobuf:"varint,8,opt,name=add_failure_metric,json=addFailureMetric" json:"add_failure_metric,omitempty"`
	// If set to true, cloudprober will export all metrics as gauge metrics. Note
	// that cloudprober inherently generates only cumulative metrics. To create
	// gauge metrics from cumulative metrics, we keep a copy of the old metrics
	// and subtract new metrics from the previous metrics. This transformation in
	// metrics has an increased memory-overhead because extra copies required.
	// However, it should not be noticeable unless you're producing large number
	// of metrics (say > 10000 metrics per second).
	ExportAsGauge *bool `protobuf:"varint,9,opt,name=export_as_gauge,json=exportAsGauge" json:"export_as_gauge,omitempty"`
	// Matching surfacer specific configuration (one for each type in the above
	// enum)
	//
	// Types that are assignable to Surfacer:
	//	*SurfacerDef_PrometheusSurfacer
	//	*SurfacerDef_StackdriverSurfacer
	//	*SurfacerDef_FileSurfacer
	//	*SurfacerDef_PostgresSurfacer
	//	*SurfacerDef_PubsubSurfacer
	//	*SurfacerDef_CloudwatchSurfacer
	//	*SurfacerDef_DatadogSurfacer
	Surfacer isSurfacerDef_Surfacer `protobuf_oneof:"surfacer"`
	// contains filtered or unexported fields
}

func (*SurfacerDef) Descriptor deprecated

func (*SurfacerDef) Descriptor() ([]byte, []int)

Deprecated: Use SurfacerDef.ProtoReflect.Descriptor instead.

func (*SurfacerDef) GetAddFailureMetric added in v0.11.3

func (x *SurfacerDef) GetAddFailureMetric() bool

func (*SurfacerDef) GetAllowMetricsWithLabel added in v0.11.3

func (x *SurfacerDef) GetAllowMetricsWithLabel() []*LabelFilter

func (*SurfacerDef) GetAllowMetricsWithName added in v0.11.3

func (x *SurfacerDef) GetAllowMetricsWithName() string

func (*SurfacerDef) GetCloudwatchSurfacer added in v0.11.3

func (x *SurfacerDef) GetCloudwatchSurfacer() *proto5.SurfacerConf

func (*SurfacerDef) GetDatadogSurfacer added in v0.11.3

func (x *SurfacerDef) GetDatadogSurfacer() *proto6.SurfacerConf

func (*SurfacerDef) GetExportAsGauge added in v0.11.3

func (x *SurfacerDef) GetExportAsGauge() bool

func (*SurfacerDef) GetFileSurfacer

func (x *SurfacerDef) GetFileSurfacer() *proto2.SurfacerConf

func (*SurfacerDef) GetIgnoreMetricsWithLabel added in v0.11.3

func (x *SurfacerDef) GetIgnoreMetricsWithLabel() []*LabelFilter

func (*SurfacerDef) GetIgnoreMetricsWithName added in v0.11.3

func (x *SurfacerDef) GetIgnoreMetricsWithName() string

func (*SurfacerDef) GetMetricsBufferSize added in v0.11.2

func (x *SurfacerDef) GetMetricsBufferSize() int64

func (*SurfacerDef) GetName

func (x *SurfacerDef) GetName() string

func (*SurfacerDef) GetPostgresSurfacer

func (x *SurfacerDef) GetPostgresSurfacer() *proto3.SurfacerConf

func (*SurfacerDef) GetPrometheusSurfacer

func (x *SurfacerDef) GetPrometheusSurfacer() *proto.SurfacerConf

func (*SurfacerDef) GetPubsubSurfacer added in v0.11.0

func (x *SurfacerDef) GetPubsubSurfacer() *proto4.SurfacerConf

func (*SurfacerDef) GetStackdriverSurfacer

func (x *SurfacerDef) GetStackdriverSurfacer() *proto1.SurfacerConf

func (*SurfacerDef) GetSurfacer

func (m *SurfacerDef) GetSurfacer() isSurfacerDef_Surfacer

func (*SurfacerDef) GetType

func (x *SurfacerDef) GetType() Type

func (*SurfacerDef) ProtoMessage

func (*SurfacerDef) ProtoMessage()

func (*SurfacerDef) ProtoReflect added in v0.10.8

func (x *SurfacerDef) ProtoReflect() protoreflect.Message

func (*SurfacerDef) Reset

func (x *SurfacerDef) Reset()

func (*SurfacerDef) String

func (x *SurfacerDef) String() string

type SurfacerDef_CloudwatchSurfacer added in v0.11.3

type SurfacerDef_CloudwatchSurfacer struct {
	CloudwatchSurfacer *proto5.SurfacerConf `protobuf:"bytes,15,opt,name=cloudwatch_surfacer,json=cloudwatchSurfacer,oneof"`
}

type SurfacerDef_DatadogSurfacer added in v0.11.3

type SurfacerDef_DatadogSurfacer struct {
	DatadogSurfacer *proto6.SurfacerConf `protobuf:"bytes,16,opt,name=datadog_surfacer,json=datadogSurfacer,oneof"`
}

type SurfacerDef_FileSurfacer

type SurfacerDef_FileSurfacer struct {
	FileSurfacer *proto2.SurfacerConf `protobuf:"bytes,12,opt,name=file_surfacer,json=fileSurfacer,oneof"`
}

type SurfacerDef_PostgresSurfacer

type SurfacerDef_PostgresSurfacer struct {
	PostgresSurfacer *proto3.SurfacerConf `protobuf:"bytes,13,opt,name=postgres_surfacer,json=postgresSurfacer,oneof"`
}

type SurfacerDef_PrometheusSurfacer

type SurfacerDef_PrometheusSurfacer struct {
	PrometheusSurfacer *proto.SurfacerConf `protobuf:"bytes,10,opt,name=prometheus_surfacer,json=prometheusSurfacer,oneof"`
}

type SurfacerDef_PubsubSurfacer added in v0.11.0

type SurfacerDef_PubsubSurfacer struct {
	PubsubSurfacer *proto4.SurfacerConf `protobuf:"bytes,14,opt,name=pubsub_surfacer,json=pubsubSurfacer,oneof"`
}

type SurfacerDef_StackdriverSurfacer

type SurfacerDef_StackdriverSurfacer struct {
	StackdriverSurfacer *proto1.SurfacerConf `protobuf:"bytes,11,opt,name=stackdriver_surfacer,json=stackdriverSurfacer,oneof"`
}

type Type

type Type int32

Enumeration for each type of surfacer we can parse and create

const (
	Type_NONE         Type = 0
	Type_PROMETHEUS   Type = 1
	Type_STACKDRIVER  Type = 2
	Type_FILE         Type = 3
	Type_POSTGRES     Type = 4
	Type_PUBSUB       Type = 5
	Type_CLOUDWATCH   Type = 6 // Experimental mode.
	Type_DATADOG      Type = 7 // Experimental mode.
	Type_USER_DEFINED Type = 99
)

func (Type) Descriptor added in v0.10.8

func (Type) Descriptor() protoreflect.EnumDescriptor

func (Type) Enum

func (x Type) Enum() *Type

func (Type) EnumDescriptor deprecated

func (Type) EnumDescriptor() ([]byte, []int)

Deprecated: Use Type.Descriptor instead.

func (Type) Number added in v0.10.8

func (x Type) Number() protoreflect.EnumNumber

func (Type) String

func (x Type) String() string

func (Type) Type added in v0.10.8

func (Type) Type() protoreflect.EnumType

func (*Type) UnmarshalJSON deprecated

func (x *Type) UnmarshalJSON(b []byte) error

Deprecated: Do not use.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL