Documentation
¶
Overview ¶
Package bucketer //
Package bucketer //
Index ¶
- Constants
- type Bucketer
- type ExperimentBucketer
- type MurmurhashBucketer
- type MurmurhashExperimentBucketer
- func (b MurmurhashExperimentBucketer) Bucket(bucketingID string, experiment entities.Experiment, group entities.Group) (*entities.Variation, reasons.Reason, error)
- func (b MurmurhashExperimentBucketer) BucketToEntityID(bucketingID string, experiment entities.Experiment, group entities.Group) (string, reasons.Reason, error)
Constants ¶
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 ¶
func (b MurmurhashExperimentBucketer) Bucket(bucketingID string, experiment entities.Experiment, group entities.Group) (*entities.Variation, reasons.Reason, error)
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)