Statsig (statsig_elixir v0.20.2)

Summary

Functions

check_gate(gate_name, statsig_user, options \\ nil)

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

flush()

get_autotune_list()

get_client_init_response_as_string(statsig_user, options \\ nil)

get_dynamic_config(config_name, statsig_user, options \\ nil)

get_experiment(experiment_name, statsig_user, options \\ nil)

get_experiment_by_group_id_advanced(experiment_name, group_id)

get_experiment_by_group_name(experiment_name, group_name)

get_experiment_groups(experiment_name)

@spec get_experiment_groups(String.t()) ::
  {:ok, Statsig.ExperimentGroupsResult.t()} | {:error, term()}

Returns the experiment's active state and the group name, rule id, id type, and return value for each of its groups, without requiring a user evaluation.

Returns {:ok, %Statsig.ExperimentGroupsResult{}} where is_experiment_active is nil if the name does not refer to an experiment (unknown name or a non-experiment entity like a dynamic config or autotune), and otherwise reflects the experiment's isActive state; groups contains the experiment's groups regardless of that state. Rules that are not experiment groups (e.g. holdout or sizing rules) are excluded.

get_feature_gate(gate_name, statsig_user, options \\ nil)

get_layer(layer_name, statsig_user, options \\ nil)

get_statsig_instance()

get_system_info()

init(arg)

Callback implementation for GenServer.init/1.

initialize()

log_event(statsig_user, event_name, value, metadata)

@spec log_event(
  %Statsig.User{
    app_version: term(),
    country: term(),
    custom: term(),
    custom_ids: term(),
    email: term(),
    ip: term(),
    locale: term(),
    private_attributes: term(),
    user_agent: term(),
    user_id: term()
  },
  String.t(),
  String.t() | number(),
  %{required(String.t()) => String.t()}
) :: any()

override_experiment_by_group_name(experiment_name, group_name, id \\ nil)

shutdown()

start_link(sdk_key, options)