Documentation
¶
Index ¶
- type EventStorageConsumer
- type EventStorageProducer
- type EventsStorage
- type ImpressionStorage
- type ImpressionStorageConsumer
- type ImpressionStorageProducer
- type SegmentStorage
- type SegmentStorageConsumer
- type SegmentStorageProducer
- type SplitStorage
- type SplitStorageConsumer
- type SplitStorageProducer
- type TelemetryConfigConsumer
- type TelemetryConfigProducer
- type TelemetryEvaluationConsumer
- type TelemetryEvaluationProducer
- type TelemetryPeeker
- type TelemetryRedisProducer
- type TelemetryRuntimeConsumer
- type TelemetryRuntimeProducer
- type TelemetryStorage
- type TelemetryStorageConsumer
- type TelemetryStorageProducer
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 ¶
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 ¶
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 ¶
type TelemetryStorageConsumer interface { TelemetryConfigConsumer TelemetryEvaluationConsumer TelemetryRuntimeConsumer }
TelemetryStorageConsumer interface should be implemented by structs that offer popping telemetry
type TelemetryStorageProducer ¶
type TelemetryStorageProducer interface { TelemetryConfigProducer TelemetryEvaluationProducer TelemetryRuntimeProducer }
TelemetryStorageProducer interface should be implemented by struct that accepts incoming telemetry