Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions server-core/php-core.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import SharedInstanceIntro from '/snippets/server-core/sharedInstance.mdx'
import StatsigUserIntro from '/snippets/server-core/statsigUser.mdx'
import StatsigOptionsIntro from '/snippets/server-core/statsigOptions.mdx'
import ShutdownIntro from '/snippets/server-core/shutdown.mdx'
import LocalOverridesIntro from '/snippets/server-core/localOverrides.mdx'
import PersistentStorageIntro from '/snippets/server-core/persistentStorage.mdx'
import DataStoreIntro from '/snippets/server-core/dataStore.mdx'
import OutputLoggerIntro from '/snippets/server-core/outputLogger.mdx'
Expand All @@ -37,6 +38,7 @@ import sharedInstance from '/snippets/server-core/php/sharedInstance.mdx'
import statsigOptions from '/snippets/server-core/php/options.mdx'
import flush from '/snippets/server-core/php/flush.mdx'
import shutdown from '/snippets/server-core/php/shutdown.mdx'
import localOverrides from '/snippets/server-core/php/localOverrides.mdx'
import privateAttributes from '/snippets/server-core/php/privateAttributes.mdx'
import customAdapters from '/snippets/server-core/php/customAdapters.mdx'
import persistentStorage from '/snippets/server-core/php/persistentStorage.mdx'
Expand Down Expand Up @@ -134,6 +136,9 @@ $user = new StatsigUser([

<flush/>

<LocalOverridesIntro/>
<localOverrides/>

<PersistentStorageIntro/>
<persistentStorage/>

Expand Down
1 change: 1 addition & 0 deletions server-core/python-core.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,7 @@ import faqs from '/snippets/server-core/python/faqs.mdx'
- `manually_log_dynamic_config_exposure(user: StatsigUser, config_name: str) -> None`
- `manually_log_experiment_exposure(user: StatsigUser, experiment_name: str) -> None`
- `manually_log_layer_parameter_exposure(user: StatsigUser, layer_name: str, parameter_name: str) -> None`
- `override_experiment_by_group_name(experiment_name: str, group_name: str, id: Optional[str] = None) -> None`
- `get_client_initialize_response(user: StatsigUser, options: Optional[ClientInitializeResponseOptions] = None) -> ClientInitializeResponse`
- `shutdown() -> AsyncResult[None]`

Expand Down
8 changes: 8 additions & 0 deletions snippets/server-core/java/localOverrides.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ Map<String, Object> experimentOverride = new HashMap<>();
experimentOverride.put("variant", "test");
statsig.overrideExperiment("my_experiment", experimentOverride);

// Override an experiment to a particular groupname
statsig.overrideExperimentByGroupName("my_experiment", "a_group_name");
statsig.overrideExperimentByGroupName("my_experiment", "a_group_name", "user_123");

// Override a layer
Map<String, Object> layerOverride = new HashMap<>();
layerOverride.put("layer_param", "override_value");
Expand Down Expand Up @@ -49,6 +53,10 @@ val experimentOverride = mapOf(
)
statsig.overrideExperiment("my_experiment", experimentOverride)

// Override an experiment to a particular groupname
statsig.overrideExperimentByGroupName("my_experiment", "a_group_name")
statsig.overrideExperimentByGroupName("my_experiment", "a_group_name", "user_123")

// Override a layer
val layerOverride = mapOf(
"layer_param" to "override_value"
Expand Down
1 change: 1 addition & 0 deletions snippets/server-core/node/reference.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
- `manuallyLogDynamicConfigExposure(user: StatsigUser, configName: string): void`
- `manuallyLogExperimentExposure(user: StatsigUser, experimentName: string): void`
- `manuallyLogLayerParameterExposure(user: StatsigUser, layerName: string, parameterName: string): void`
- `overrideExperimentByGroupName(experimentName: string, groupName: string, id?: string | null): void`
- `getClientInitializeResponse(user: StatsigUser, options?: ClientInitializeResponseOptions): ClientInitializeResponse`
- `shutdown(): Promise<void>`

Expand Down
23 changes: 23 additions & 0 deletions snippets/server-core/php/localOverrides.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
```php
$statsig->overrideGate("a_gate_name", true);

$statsig->overrideDynamicConfig("a_config_name", [
"key" => "value",
]);

$statsig->overrideExperiment("an_experiment_name", [
"key" => "value",
]);

$statsig->overrideExperimentByGroupName("an_experiment_name", "a_group_name");

$statsig->overrideLayer("a_layer_name", [
"key" => "value",
]);
```

You can also pass a third argument to scope an override to a specific ID:

```php
$statsig->overrideExperimentByGroupName("an_experiment_name", "a_group_name", "user_123");
```
5 changes: 4 additions & 1 deletion snippets/server-core/rust/localOverrides.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,13 @@ statsig.override_dynamic_config("test_1", my_map.clone(), None); //my_map is Has
// Overrides the given experiment to the provided value
statsig.override_experiment("test_xp_1", my_map.clone(), None); //my_map is HashMap<String, Value>

// Overrides the given experiment to a particular groupname, available for experiments only
statsig.override_experiment_by_group_name("test_xp_1", "a_group_name", None);

// Overrides the given layer to the provided value
statsig.override_layer("user_promo_experiments", my_map.clone(), None); //my_map is HashMap<String, Value>

//Alternatively, get the Experiment object for a given groupName
let group_exp = statsig.get_experiment_by_group_name("pricing_experiment", "premium_group");
let premium_price = group_exp.get_double("price", 9.99);
```
```