Versions in this module Expand all Collapse all v0 v0.1.0 Aug 23, 2019 Changes in this version + type Batch struct + AccountID string + AnonymizeIP bool + ClientName string + ClientVersion string + EnrichDecisions bool + ProjectID string + Revision string + Visitors []Visitor + type Context struct + AccountID string + AnonymizeIP bool + BotFiltering bool + ClientName string + ClientVersion string + ProjectID string + Revision string + func CreateEventContext(projectConfig optimizely.ProjectConfig) Context + type ConversionEvent struct + Attributes []VisitorAttribute + EntityID string + Key string + Revenue *int64 + Tags map[string]interface{} + Value *float64 + type Decision struct + CampaignID string + ExperimentID string + VariationID string + type Dispatcher interface + DispatchEvent func(event LogEvent, callback func(success bool)) + type HTTPEventDispatcher struct + func (*HTTPEventDispatcher) DispatchEvent(event LogEvent, callback func(success bool)) + type ImpressionEvent struct + Attributes []VisitorAttribute + CampaignID string + EntityID string + ExperimentID string + Key string + VariationID string + type InMemoryQueue struct + Mux sync.Mutex + Queue []interface{} + func (i *InMemoryQueue) Add(item interface{}) + func (i *InMemoryQueue) Get(count int) []interface{} + func (i *InMemoryQueue) Remove(count int) []interface{} + func (i *InMemoryQueue) Size() int + type LogEvent struct + type Processor interface + ProcessEvent func(event UserEvent) + type Queue interface + Add func(item interface{}) + Get func(count int) []interface{} + Remove func(count int) []interface{} + Size func() int + func NewInMemoryQueue(queueSize int) Queue + type QueueingEventProcessor struct + BatchSize int + EventDispatcher Dispatcher + FlushInterval time.Duration + MaxQueueSize int + Mux sync.Mutex + Q Queue + Ticker *time.Ticker + func NewEventProcessor(ctx context.Context, queueSize int, flushInterval time.Duration) *QueueingEventProcessor + func (p *QueueingEventProcessor) EventsCount() int + func (p *QueueingEventProcessor) FlushEvents() + func (p *QueueingEventProcessor) GetEvents(count int) []interface{} + func (p *QueueingEventProcessor) ProcessEvent(event UserEvent) + func (p *QueueingEventProcessor) Remove(count int) []interface{} + func (p *QueueingEventProcessor) StartTicker(ctx context.Context) + type Snapshot struct + Decisions []Decision + Events []SnapshotEvent + type SnapshotEvent struct + EntityID string + Key string + Revenue *int64 + Tags map[string]interface{} + Timestamp int64 + UUID string + Value *float64 + type UserEvent struct + Conversion *ConversionEvent + EventContext Context + Impression *ImpressionEvent + Timestamp int64 + UUID string + VisitorID string + func CreateConversionUserEvent(projectConfig optimizely.ProjectConfig, event entities.Event, ...) UserEvent + func CreateImpressionUserEvent(projectConfig optimizely.ProjectConfig, experiment entities.Experiment, ...) UserEvent + type Visitor struct + Attributes []VisitorAttribute + Snapshots []Snapshot + VisitorID string + type VisitorAttribute struct + AttributeType string + EntityID string + Key string + Value interface{}