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 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 ¶ added in v3.1.0
TelemetryConfigConsumer interface for config data
type TelemetryConfigProducer ¶ added in v3.1.0
type TelemetryConfigProducer interface {
RecordConfigData(configData dtos.Config) error
RecordNonReadyUsage()
RecordBURTimeout()
}
TelemetryConfigProducer interface for config data
type TelemetryEvaluationConsumer ¶ added in v3.1.0
type TelemetryEvaluationConsumer interface {
PopLatencies() dtos.MethodLatencies
PopExceptions() dtos.MethodExceptions
}
TelemetryEvaluationConsumer for evaluation
type TelemetryEvaluationProducer ¶ added in v3.1.0
type TelemetryEvaluationProducer interface {
RecordLatency(method string, latency int64)
RecordException(method string)
}
TelemetryEvaluationProducer for evaluation
type TelemetryRedisProducer ¶ added in v3.1.0
type TelemetryRedisProducer interface {
TelemetryConfigProducer
TelemetryEvaluationProducer
}
TelemetryRedisProducer interface redis
type TelemetryRuntimeConsumer ¶ added in v3.1.0
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 ¶ added in v3.1.0
type TelemetryRuntimeProducer interface {
AddTag(tag string)
RecordImpressionsStats(dataType int, count int64)
RecordEventsStats(dataType int, count int64)
RecordSuccessfulSync(resource int, time int64)
RecordSyncError(resource int, status int)
RecordSyncLatency(resource int, latency int64)
RecordAuthRejections()
RecordTokenRefreshes()
RecordStreamingEvent(streamingEvent *dtos.StreamingEvent)
RecordSessionLength(session int64)
}
TelemetryRuntimeProducer for runtime stats
type TelemetryStorage ¶ added in v3.1.0
type TelemetryStorage interface {
TelemetryStorageConsumer
TelemetryStorageProducer
}
TelemetryStorage wraps consumer and producer interfaces
type TelemetryStorageConsumer ¶ added in v3.1.0
type TelemetryStorageConsumer interface {
TelemetryConfigConsumer
TelemetryEvaluationConsumer
TelemetryRuntimeConsumer
}
TelemetryStorageConsumer interface should be implemented by structs that offer popping telemetry
type TelemetryStorageProducer ¶ added in v3.1.0
type TelemetryStorageProducer interface {
TelemetryConfigProducer
TelemetryEvaluationProducer
TelemetryRuntimeProducer
}
TelemetryStorageProducer interface should be implemented by struct that accepts incoming telemetry