monitoring

package
v0.0.0-...-6cc63a5 Latest Latest
Warning

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

Go to latest
Published: Jun 14, 2023 License: Apache-2.0 Imports: 22 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_api_proto_logs_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type AssignedTreatmentLog

type AssignedTreatmentLog struct {
	ProjectID         models.ProjectId
	RequestID         string
	Experiment        *_pubsub.Experiment
	Treatment         *_pubsub.ExperimentTreatment
	TreatmentMetadata *TreatmentMetadata
	Request           *Request
	Segmenters        []models.SegmentFilter
	Error             *ErrorResponseLog
}

type AssignedTreatmentLogger

type AssignedTreatmentLogger struct {
	// contains filtered or unexported fields
}

func NewBQAssignedTreatmentLogger

func NewBQAssignedTreatmentLogger(
	config config.BigqueryConfig,
	queueLength int,
	flushInterval time.Duration,
	googleApplicationCredentialsEnvVar string,
) (*AssignedTreatmentLogger, error)

func NewKafkaAssignedTreatmentLogger

func NewKafkaAssignedTreatmentLogger(
	config config.KafkaConfig,
	queueLength int,
	flushInterval time.Duration,
) (*AssignedTreatmentLogger, error)

func NewNoopAssignedTreatmentLogger

func NewNoopAssignedTreatmentLogger() (*AssignedTreatmentLogger, error)

func (*AssignedTreatmentLogger) Append

type AssignedTreatmentPublisher

type AssignedTreatmentPublisher interface {
	Publish(log []*AssignedTreatmentLog) error
}

type BQLogPublisher

type BQLogPublisher struct {
	// contains filtered or unexported fields
}

func NewBQLogPublisher

func NewBQLogPublisher(
	project string,
	dataset string,
	tableName string,
	googleApplicationCredentialsEnvVar string,
) (*BQLogPublisher, error)

func (*BQLogPublisher) Publish

func (p *BQLogPublisher) Publish(logs []*AssignedTreatmentLog) error

type BQLogRow

type BQLogRow struct {
	EventTimestamp time.Time `bigquery:"event_timestamp"`

	ProjectId models.ProjectId `bigquery:"project_id"`
	RequestId string           `bigquery:"request_id"`

	Request *Request `bigquery:"request"`
	Segment string   `bigquery:"segment"`

	ExperimentId   int64  `bigquery:"experiment_id"`
	ExperimentName string `bigquery:"experiment_name"`

	TreatmentName     string `bigquery:"treatment_name"`
	TreatmentConfig   string `bigquery:"treatment_config"`
	TreatmentMetadata string `bigquery:"treatment_metadata"`

	Error string `bigquery:"error"`
}

type ErrorResponseLog

type ErrorResponseLog struct {
	Code  int
	Error string
}

ErrorResponseLog contains the status code and error string to be included in outcome logging

type KafkaLogPublisher

type KafkaLogPublisher struct {
	// contains filtered or unexported fields
}

func NewKafkaLogPublisher

func NewKafkaLogPublisher(
	kafkaBrokers string,
	kafkaTopic string,
	kafkaMaxMessageBytes int,
	kafkaCompressionType string,
	KafkaConnectTimeoutMS int,
) (*KafkaLogPublisher, error)

func (*KafkaLogPublisher) Publish

func (p *KafkaLogPublisher) Publish(logs []*AssignedTreatmentLog) error

type Request

type Request struct {

	// The header from the incoming request to XP services. The map value is a
	// comma-delimited string.
	Header string `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	// The JSON body of the request to XP services, UTF-8-encoded
	Body string `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"`
	// contains filtered or unexported fields
}

func (*Request) Descriptor deprecated

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

Deprecated: Use Request.ProtoReflect.Descriptor instead.

func (*Request) GetBody

func (x *Request) GetBody() string

func (*Request) GetHeader

func (x *Request) GetHeader() string

func (*Request) ProtoMessage

func (*Request) ProtoMessage()

func (*Request) ProtoReflect

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

func (*Request) Reset

func (x *Request) Reset()

func (*Request) String

func (x *Request) String() string

type TreatmentMetadata

type TreatmentMetadata struct {
	ExperimentType     string `json:"experiment_type"`
	ExperimentVersion  int64  `json:"experiment_version"`
	SwitchbackWindowId *int64 `json:"switchback_window_id"`
}

type TreatmentServiceResultLogKey

type TreatmentServiceResultLogKey struct {

	// The unique request id generated by Treatment Service, for every incoming
	// request
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// The time at which the final response from Treatment Service is generated
	EventTimestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=event_timestamp,json=eventTimestamp,proto3" json:"event_timestamp,omitempty"`
	// contains filtered or unexported fields
}

key

func (*TreatmentServiceResultLogKey) Descriptor deprecated

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

Deprecated: Use TreatmentServiceResultLogKey.ProtoReflect.Descriptor instead.

func (*TreatmentServiceResultLogKey) GetEventTimestamp

func (x *TreatmentServiceResultLogKey) GetEventTimestamp() *timestamppb.Timestamp

func (*TreatmentServiceResultLogKey) GetRequestId

func (x *TreatmentServiceResultLogKey) GetRequestId() string

func (*TreatmentServiceResultLogKey) ProtoMessage

func (*TreatmentServiceResultLogKey) ProtoMessage()

func (*TreatmentServiceResultLogKey) ProtoReflect

func (*TreatmentServiceResultLogKey) Reset

func (x *TreatmentServiceResultLogKey) Reset()

func (*TreatmentServiceResultLogKey) String

type TreatmentServiceResultLogMessage

type TreatmentServiceResultLogMessage struct {

	// The unique request id generated by Treatment Service, for every incoming
	// request
	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// The time at which the final response from Treatment Service is generated
	EventTimestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=event_timestamp,json=eventTimestamp,proto3" json:"event_timestamp,omitempty"`
	// The original request to Treatment Service
	Request *Request `protobuf:"bytes,3,opt,name=request,proto3" json:"request,omitempty"`
	// The parsed segment based on registered experiment variables via Project
	// Settings
	Segment string `protobuf:"bytes,4,opt,name=segment,proto3" json:"segment,omitempty"`
	// The project's id of the request
	ProjectId uint32 `protobuf:"varint,5,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	// The matched experiment's id based on request's segment values
	ExperimentId int64 `protobuf:"varint,6,opt,name=experiment_id,json=experimentId,proto3" json:"experiment_id,omitempty"`
	// The matched experiment's name based on request's segment values
	ExperimentName string `protobuf:"bytes,7,opt,name=experiment_name,json=experimentName,proto3" json:"experiment_name,omitempty"`
	// The assigned treatment's name based on matched experiment
	TreatmentName string `protobuf:"bytes,8,opt,name=treatment_name,json=treatmentName,proto3" json:"treatment_name,omitempty"`
	// The assigned treatment's config (JSON string) in based on matched
	// experiment
	TreatmentConfig string `protobuf:"bytes,9,opt,name=treatment_config,json=treatmentConfig,proto3" json:"treatment_config,omitempty"`
	// The error (if any) of the request
	Error string `protobuf:"bytes,10,opt,name=error,proto3" json:"error,omitempty"`
	// The assigned treatment metadata, if any
	TreatmentMetadata string `protobuf:"bytes,11,opt,name=treatment_metadata,json=treatmentMetadata,proto3" json:"treatment_metadata,omitempty"`
	// contains filtered or unexported fields
}

message

func (*TreatmentServiceResultLogMessage) Descriptor deprecated

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

Deprecated: Use TreatmentServiceResultLogMessage.ProtoReflect.Descriptor instead.

func (*TreatmentServiceResultLogMessage) GetError

func (*TreatmentServiceResultLogMessage) GetEventTimestamp

func (x *TreatmentServiceResultLogMessage) GetEventTimestamp() *timestamppb.Timestamp

func (*TreatmentServiceResultLogMessage) GetExperimentId

func (x *TreatmentServiceResultLogMessage) GetExperimentId() int64

func (*TreatmentServiceResultLogMessage) GetExperimentName

func (x *TreatmentServiceResultLogMessage) GetExperimentName() string

func (*TreatmentServiceResultLogMessage) GetProjectId

func (x *TreatmentServiceResultLogMessage) GetProjectId() uint32

func (*TreatmentServiceResultLogMessage) GetRequest

func (x *TreatmentServiceResultLogMessage) GetRequest() *Request

func (*TreatmentServiceResultLogMessage) GetRequestId

func (x *TreatmentServiceResultLogMessage) GetRequestId() string

func (*TreatmentServiceResultLogMessage) GetSegment

func (x *TreatmentServiceResultLogMessage) GetSegment() string

func (*TreatmentServiceResultLogMessage) GetTreatmentConfig

func (x *TreatmentServiceResultLogMessage) GetTreatmentConfig() string

func (*TreatmentServiceResultLogMessage) GetTreatmentMetadata

func (x *TreatmentServiceResultLogMessage) GetTreatmentMetadata() string

func (*TreatmentServiceResultLogMessage) GetTreatmentName

func (x *TreatmentServiceResultLogMessage) GetTreatmentName() string

func (*TreatmentServiceResultLogMessage) ProtoMessage

func (*TreatmentServiceResultLogMessage) ProtoMessage()

func (*TreatmentServiceResultLogMessage) ProtoReflect

func (*TreatmentServiceResultLogMessage) Reset

func (*TreatmentServiceResultLogMessage) String

Jump to

Keyboard shortcuts

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