storage

package
v4.0.0-rc5 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: 3 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type EventStorageConsumer

type EventStorageConsumer interface {
	Count() int64
	Drop(size *int64) error
	Empty() bool
	PopN(n int64) ([]dtos.EventDTO, error)
	PopNWithMetadata(n int64) ([]dtos.QueueStoredEventDTO, error)
}

EventStorageConsumer interface should be implemented by structs that offer popping impressions

type EventStorageProducer

type EventStorageProducer interface {
	Push(event dtos.EventDTO, size int) error
}

EventStorageProducer interface should be implemented by structs that accept incoming events

type EventsStorage

type EventsStorage interface {
	EventStorageConsumer
	EventStorageProducer
}

EventsStorage wraps consumer and producer interfaces

type ImpressionStorage

type ImpressionStorage interface {
	ImpressionStorageConsumer
	ImpressionStorageProducer
}

ImpressionStorage wraps consumer & producer interfaces

type ImpressionStorageConsumer

type ImpressionStorageConsumer interface {
	Count() int64
	Drop(size *int64) error
	Empty() bool
	PopN(n int64) ([]dtos.Impression, error)
	PopNWithMetadata(n int64) ([]dtos.ImpressionQueueObject, error)
}

ImpressionStorageConsumer interface should be implemented by structs that offer popping impressions

type ImpressionStorageProducer

type ImpressionStorageProducer interface {
	LogImpressions(impressions []dtos.Impression) error
}

ImpressionStorageProducer interface should be impemented by structs that accept incoming impressions

type SegmentStorage

type SegmentStorage interface {
	SegmentStorageProducer
	SegmentStorageConsumer
}

SegmentStorage wraps consumer and producer interfaces

type SegmentStorageConsumer

type SegmentStorageConsumer interface {
	ChangeNumber(segmentName string) (int64, error)
	CountRemovedKeys(segmentName string) int64
	Keys(segmentName string) *set.ThreadUnsafeSet
	SegmentContainsKey(segmentName string, key string) (bool, error)
	SegmentKeysCount() int64
}

SegmentStorageConsumer interface should be implemented by all structs that ofer reading segments

type SegmentStorageProducer

type SegmentStorageProducer interface {
	Update(name string, toAdd *set.ThreadUnsafeSet, toRemove *set.ThreadUnsafeSet, changeNumber int64) error
	SetChangeNumber(segmentName string, till int64) error
}

SegmentStorageProducer interface should be implemented by all structs that offer writing segments

type SplitStorage

type SplitStorage interface {
	SplitStorageProducer
	SplitStorageConsumer
}

SplitStorage wraps consumer & producer interfaces

type SplitStorageConsumer

type SplitStorageConsumer interface {
	All() []dtos.SplitDTO
	ChangeNumber() (int64, error)
	FetchMany(splitNames []string) map[string]*dtos.SplitDTO
	SegmentNames() *set.ThreadUnsafeSet // Not in Spec
	Split(splitName string) *dtos.SplitDTO
	SplitNames() []string
	TrafficTypeExists(trafficType string) bool
}

SplitStorageConsumer should be implemented by structs that offer reading splits from storage

type SplitStorageProducer

type SplitStorageProducer interface {
	KillLocally(splitName string, defaultTreatment string, changeNumber int64)
	PutMany(splits []dtos.SplitDTO, changeNumber int64)
	Remove(splitName string)
	SetChangeNumber(changeNumber int64) error
}

SplitStorageProducer should be implemented by structs that offer writing splits in storage

type TelemetryConfigConsumer

type TelemetryConfigConsumer interface {
	GetNonReadyUsages() int64
	GetBURTimeouts() int64
}

TelemetryConfigConsumer interface for config data

type TelemetryConfigProducer

type TelemetryConfigProducer interface {
	RecordConfigData(configData dtos.Config) error
	RecordNonReadyUsage()
	RecordBURTimeout()
}

TelemetryConfigProducer interface for config data

type TelemetryEvaluationConsumer

type TelemetryEvaluationConsumer interface {
	PopLatencies() dtos.MethodLatencies
	PopExceptions() dtos.MethodExceptions
}

TelemetryEvaluationConsumer for evaluation

type TelemetryEvaluationProducer

type TelemetryEvaluationProducer interface {
	RecordLatency(method string, latency time.Duration)
	RecordException(method string)
}

TelemetryEvaluationProducer for evaluation

type TelemetryPeeker

type TelemetryPeeker interface {
	PeekHTTPLatencies(resource int) []int64
	PeekHTTPErrors(resource int) map[int]int
}

TelemetryPeeker interface

type TelemetryRedisProducer

type TelemetryRedisProducer interface {
	TelemetryConfigProducer
	TelemetryEvaluationProducer
}

TelemetryRedisProducer interface redis

type TelemetryRuntimeConsumer

type TelemetryRuntimeConsumer interface {
	GetImpressionsStats(dataType int) int64
	GetEventsStats(dataType int) int64
	GetLastSynchronization() dtos.LastSynchronization
	PopHTTPErrors() dtos.HTTPErrors
	PopHTTPLatencies() dtos.HTTPLatencies
	PopAuthRejections() int64
	PopTokenRefreshes() int64
	PopStreamingEvents() []dtos.StreamingEvent
	PopTags() []string
	GetSessionLength() int64
}

TelemetryRuntimeConsumer for runtime stats

type TelemetryRuntimeProducer

type TelemetryRuntimeProducer interface {
	AddTag(tag string)
	RecordImpressionsStats(dataType int, count int64)
	RecordEventsStats(dataType int, count int64)
	RecordSuccessfulSync(resource int, when time.Time)
	RecordSyncError(resource int, status int)
	RecordSyncLatency(resource int, latency time.Duration)
	RecordAuthRejections()
	RecordTokenRefreshes()
	RecordStreamingEvent(streamingEvent *dtos.StreamingEvent)
	RecordSessionLength(session int64)
}

TelemetryRuntimeProducer for runtime stats

type TelemetryStorage

type TelemetryStorage interface {
	TelemetryStorageConsumer
	TelemetryStorageProducer
}

TelemetryStorage wraps consumer and producer interfaces

type TelemetryStorageConsumer

TelemetryStorageConsumer interface should be implemented by structs that offer popping telemetry

type TelemetryStorageProducer

TelemetryStorageProducer interface should be implemented by struct that accepts incoming telemetry

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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