bucketer

package
v2.2.1 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2025 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package bucketer //

Package bucketer //

Index

Constants

View Source
const DefaultHashSeed = 1

DefaultHashSeed is the hash seed to use for murmurhash

Variables

This section is empty.

Functions

This section is empty.

Types

type Bucketer

type Bucketer interface {
	Generate(bucketingKey string) int
	BucketToEntity(bucketKey string, trafficAllocations []entities.Range) (entityID string)
}

Bucketer is used to generate bucket value using bucketing key

type ExperimentBucketer

type ExperimentBucketer interface {
	Bucket(bucketingID string, experiment entities.Experiment, group entities.Group) (*entities.Variation, reasons.Reason, error)
	// New method for CMAB - returns entity ID instead of variation
	BucketToEntityID(bucketingID string, experiment entities.Experiment, group entities.Group) (string, reasons.Reason, error)
}

ExperimentBucketer is used to bucket the user into a particular entity in the experiment's traffic alloc range

type MurmurhashBucketer

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

MurmurhashBucketer generates the bucketing value using the mmh3 algorightm

func NewMurmurhashBucketer

func NewMurmurhashBucketer(logger logging.OptimizelyLogProducer, hashSeed uint32) *MurmurhashBucketer

NewMurmurhashBucketer returns a new instance of the murmurhash bucketer

func (MurmurhashBucketer) BucketToEntity

func (b MurmurhashBucketer) BucketToEntity(bucketKey string, trafficAllocations []entities.Range) (entityID string)

BucketToEntity buckets into a traffic against given bucketKey

func (MurmurhashBucketer) Generate

func (b MurmurhashBucketer) Generate(bucketingKey string) int

Generate returns a bucketing value for bucketing key

type MurmurhashExperimentBucketer

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

MurmurhashExperimentBucketer buckets the user using the mmh3 algorightm

func NewMurmurhashExperimentBucketer

func NewMurmurhashExperimentBucketer(logger logging.OptimizelyLogProducer, hashSeed uint32) *MurmurhashExperimentBucketer

NewMurmurhashExperimentBucketer returns a new instance of the murmurhash experiment bucketer

func (MurmurhashExperimentBucketer) Bucket

Bucket buckets the user into the given experiment

func (MurmurhashExperimentBucketer) BucketToEntityID added in v2.2.1

func (b MurmurhashExperimentBucketer) BucketToEntityID(bucketingID string, experiment entities.Experiment, group entities.Group) (string, reasons.Reason, error)

BucketToEntityID buckets the user and returns the entity ID (for CMAB experiments)

Jump to

Keyboard shortcuts

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