Documentation
¶
Index ¶
- type ClientOption
- type Config
- type ExperimentClient
- func (e *ExperimentClient) BackflowFeatureConsistencyCheckJobData(backflowData *model.FeatureConsistencyBackflowData) (api.FeatureConsistencyBackflowResponse, error)
- func (e *ExperimentClient) CheckIfTrafficControlTargetIsEnabled(env string, targetId int, currentTimestamp int64) bool
- func (e *ExperimentClient) GetSceneParams(sceneName string) model.SceneParams
- func (e *ExperimentClient) GetTrafficControlTargetData(env, sceneName string, currentTimestamp int64) map[string]model.TrafficControlTarget
- func (e *ExperimentClient) GetTrafficControlTargetTraffic(env, sceneName string, idList ...string) []TrafficControlTargetTraffic
- func (e *ExperimentClient) GetTrafficControlTaskMetaData(env string, currentTimestamp int64) []model.TrafficControlTask
- func (e *ExperimentClient) LoadExperimentData()
- func (e *ExperimentClient) LoadSceneParamsData()
- func (e *ExperimentClient) LoadSceneTrafficControlTasksData()
- func (e *ExperimentClient) MatchExperiment(sceneName string, experimentContext *model.ExperimentContext) *model.ExperimentResult
- func (e *ExperimentClient) SetTrafficControlTraffic(trafficData model.TrafficControlTaskTrafficData) (string, error)
- func (e *ExperimentClient) SyncFeatureConsistencyCheckJobReplayLog(replyData *model.FeatureConsistencyReplyData) (api.FeatureConsistencyReplyResponse, error)
- func (e *ExperimentClient) Validate() error
- type Logger
- type LoggerFunc
- type TrafficControlTargetTraffic
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ClientOption ¶
type ClientOption func(c *ExperimentClient)
func WithDomain ¶ added in v2.0.1
func WithDomain(domian string) ClientOption
func WithErrorLogger ¶
func WithErrorLogger(l Logger) ClientOption
func WithLogger ¶
func WithLogger(l Logger) ClientOption
type ExperimentClient ¶
type ExperimentClient struct { // Environment control the sdk shoud get which environment data . // Valid value is daily, prepub,product Environment string // APIClient invoke api to connect to pairecservice open api APIClient *api.APIClient // SceneMap map[string]*model.Scene // Logger specifies a logger used to report internal changes within the writer Logger Logger // ErrorLogger is the logger to report errors ErrorLogger Logger // contains filtered or unexported fields }
func NewExperimentClient ¶
func NewExperimentClient(instanceId, regionId, accessKeyId, accessKeySecret, environment string, opts ...ClientOption) (*ExperimentClient, error)
func (*ExperimentClient) BackflowFeatureConsistencyCheckJobData ¶ added in v2.0.2
func (e *ExperimentClient) BackflowFeatureConsistencyCheckJobData(backflowData *model.FeatureConsistencyBackflowData) (api.FeatureConsistencyBackflowResponse, error)
func (*ExperimentClient) CheckIfTrafficControlTargetIsEnabled ¶ added in v2.0.6
func (e *ExperimentClient) CheckIfTrafficControlTargetIsEnabled(env string, targetId int, currentTimestamp int64) bool
func (*ExperimentClient) GetSceneParams ¶
func (e *ExperimentClient) GetSceneParams(sceneName string) model.SceneParams
func (*ExperimentClient) GetTrafficControlTargetData ¶ added in v2.0.6
func (e *ExperimentClient) GetTrafficControlTargetData(env, sceneName string, currentTimestamp int64) map[string]model.TrafficControlTarget
func (*ExperimentClient) GetTrafficControlTargetTraffic ¶ added in v2.0.6
func (e *ExperimentClient) GetTrafficControlTargetTraffic(env, sceneName string, idList ...string) []TrafficControlTargetTraffic
func (*ExperimentClient) GetTrafficControlTaskMetaData ¶ added in v2.0.6
func (e *ExperimentClient) GetTrafficControlTaskMetaData(env string, currentTimestamp int64) []model.TrafficControlTask
func (*ExperimentClient) LoadExperimentData ¶
func (e *ExperimentClient) LoadExperimentData()
LoadExperimentData specifies a function to load data from A/B Test Server
func (*ExperimentClient) LoadSceneParamsData ¶
func (e *ExperimentClient) LoadSceneParamsData()
LoadSceneParamsData specifies a function to load param data from A/B Test Server
func (*ExperimentClient) LoadSceneTrafficControlTasksData ¶ added in v2.0.6
func (e *ExperimentClient) LoadSceneTrafficControlTasksData()
func (*ExperimentClient) MatchExperiment ¶
func (e *ExperimentClient) MatchExperiment(sceneName string, experimentContext *model.ExperimentContext) *model.ExperimentResult
MatchExperiment specifies to find match experiment by the ExperimentContext If not find the scene return error or return ExperimentResult
func (*ExperimentClient) SetTrafficControlTraffic ¶ added in v2.0.6
func (e *ExperimentClient) SetTrafficControlTraffic(trafficData model.TrafficControlTaskTrafficData) (string, error)
func (*ExperimentClient) SyncFeatureConsistencyCheckJobReplayLog ¶ added in v2.0.2
func (e *ExperimentClient) SyncFeatureConsistencyCheckJobReplayLog(replyData *model.FeatureConsistencyReplyData) (api.FeatureConsistencyReplyResponse, error)
func (*ExperimentClient) Validate ¶
func (e *ExperimentClient) Validate() error
Validate check the ExperimentClient value
type Logger ¶
type Logger interface {
Printf(string, ...interface{})
}
Logger interface API for log.Logger
type LoggerFunc ¶
type LoggerFunc func(string, ...interface{})
func (LoggerFunc) Printf ¶
func (f LoggerFunc) Printf(msg string, args ...interface{})
type TrafficControlTargetTraffic ¶ added in v2.0.6
type TrafficControlTargetTraffic struct { ItemOrExpId string `json:"item_or_exp_id"` TrafficControlTaskId string `json:"traffic_control_task_id"` TrafficControlTargetId string `json:"traffic_control_target_id"` TargetTraffic float64 `json:"target_traffic"` TaskTraffic float64 `json:"task_traffic"` }
Click to show internal directories.
Click to hide internal directories.