You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The context associated with the provider has changed, and the provider has [reconciled](/docs/reference/concepts/sdk-paradigms#static-context-paradigms-client-side-sdks) its associated state.
158
+
The context associated with the provider has changed, and the provider has [reconciled](/docs/reference/concepts/sdk-paradigms#static-context-paradigms-client-side-sdks) its associated state.
Copy file name to clipboardExpand all lines: docs/reference/concepts/07-tracking.mdx
+13-7Lines changed: 13 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,16 +17,21 @@ Tracking events associated with flag evaluations serves two primary purposes:
17
17
18
18
### Performance Monitoring
19
19
20
-
When changes are made to an application via feature flags, tracking helps measure their impact on performance. By associating events with flag evaluation contexts
20
+
When changes are made to an application via feature flags, tracking helps measure their impact on performance.
21
+
By associating events with flag evaluation contexts
21
22
and sending this data to telemetry or analytics platforms, teams can determine whether specific flag configurations improve or degrade measured performance,
22
23
whether business metrics or system performance.
23
24
24
25
### Experimentation
25
26
26
-
Tracking creates a crucial link between flag evaluations and business outcomes, enabling robust experimentation. Experimentation differs from generalized
27
-
Performance Monitoring in its execution. The most common form of Experimentation being A/B testing which is when two variations of an application or feature
28
-
are distributed randomly to similar groups and the differences in metrics is evaluated. For example, if a feature flag controls the order
29
-
of items in a menu, tracking events can be emitted when users click on menu items. The feature flag provider can typically be set to distribute the different variations
27
+
Tracking creates a crucial link between flag evaluations and business outcomes, enabling robust experimentation.
28
+
Experimentation differs from generalized
29
+
Performance Monitoring in its execution.
30
+
The most common form of Experimentation being A/B testing which is when two variations of an application or feature
31
+
are distributed randomly to similar groups and the differences in metrics is evaluated.
32
+
For example, if a feature flag controls the order
33
+
of items in a menu, tracking events can be emitted when users click on menu items.
34
+
The feature flag provider can typically be set to distribute the different variations
30
35
equally to your audience, making this an A/B test, helping to validate hypotheses about user behavior in a statistically relevant manner.
31
36
32
37
## Providers, Hooks and Integration
@@ -46,7 +51,8 @@ sequenceDiagram
46
51
47
52
## Track Event Implementation
48
53
49
-
The `track` function requires only a label parameter. You don’t need to pass an identifier or flag evaluation context since the OpenFeature provider already maintains this information.
54
+
The `track` function requires only a label parameter.
55
+
You don’t need to pass an identifier or flag evaluation context since the OpenFeature provider already maintains this information.
50
56
51
57
Optionally, you can associate additional metadata with each track event if your feature flagging tool supports it.
Copy file name to clipboardExpand all lines: docs/tutorials/getting-started/dotnet.mdx
+13-5Lines changed: 13 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,7 +30,8 @@ This walk-through assumes that:
30
30
31
31
### Step 1: Create a .NET 8 Web application
32
32
33
-
To get started you can use the .NET SDK to initialise a web application. Open a terminal (**shell**, **Command Prompt**, or **bash**) and paste the following commands:
33
+
To get started you can use the .NET SDK to initialise a web application.
34
+
Open a terminal (**shell**, **Command Prompt**, or **bash**) and paste the following commands:
34
35
35
36
```shell
36
37
dotnet new webapi -o openfeature-dotnet-sample
@@ -48,7 +49,8 @@ dotnet add package OpenFeature
48
49
49
50
### Step 3: Add code
50
51
51
-
The following will initialise an `InMemoryProvider` for use within the web application. Open a code editor and add the C# code below to the Program.cs.
52
+
The following will initialise an `InMemoryProvider` for use within the web application.
53
+
Open a code editor and add the C# code below to the Program.cs.
52
54
53
55
```csharp
54
56
// diff-add-block-start
@@ -135,9 +137,14 @@ dotnet build
135
137
dotnet run
136
138
```
137
139
138
-
In the logs you should see a line with the following `Now listening on: http://localhost:5251`, although the port number may differ. You can visit the following URL in your browser [http://localhost:5251/hello](http://localhost:5251/hello) (adjust port number as necessary) to view the hello world message. You should see the message "Hello!".
140
+
In the logs you should see a line with the following `Now listening on: http://localhost:5251`, although the port number may differ.
141
+
You can visit the following URL in your browser [http://localhost:5251/hello](http://localhost:5251/hello) (adjust port number as necessary) to view the hello world message.
142
+
You should see the message "Hello!".
139
143
140
-
"Why I'm I seeing that value?", you may ask. Well, it's because a provider hasn't been configured yet. Without a provider to actually evaluate flags, OpenFeature will return the default value. In the next step, you'll learn how to add a provider.
144
+
"Why I'm I seeing that value?", you may ask.
145
+
Well, it's because a provider hasn't been configured yet.
146
+
Without a provider to actually evaluate flags, OpenFeature will return the default value.
147
+
In the next step, you'll learn how to add a provider.
141
148
142
149
### Step 5: Configure a provider (flagd)
143
150
@@ -208,7 +215,8 @@ dotnet build
208
215
dotnet run
209
216
```
210
217
211
-
You can visit the following URL in your browser [http://localhost:5251/hello](http://localhost:5251/hello) (adjust port number as necessary) to view the hello world message. You should see the message "Hello!".
218
+
You can visit the following URL in your browser [http://localhost:5251/hello](http://localhost:5251/hello) (adjust port number as necessary) to view the hello world message.
from openfeature.contrib.provider.flagd import FlagdProvider
@@ -94,6 +94,7 @@ def index():
94
94
```
95
95
96
96
### Step 4: Run the application
97
+
97
98
Let's start the app and see it in action, use the final code below.
98
99
99
100
```python
@@ -114,6 +115,7 @@ def index():
114
115
115
116
return"Flask Server"
116
117
```
118
+
117
119
Run the following command to start the server.
118
120
119
121
```sh
@@ -131,8 +133,9 @@ If all goes as planned, you should see "Flask Server".
131
133
132
134
<FlagdContent />
133
135
134
-
Flagd can be run as a [standalone binary](https://flagd.dev/reference/flagd-cli/flagd/) or [Kubernetes Operator](https://openfeature.dev/docs/tutorials/ofo/)
135
-
as well. If you don't have docker installed, get and install the [Flagd binary](https://github.com/open-feature/flagd/releases).
136
+
Flagd can be run as a [standalone binary](https://flagd.dev/reference/flagd-cli/flagd/) or [Kubernetes Operator](https://openfeature.dev/docs/tutorials/ofo/)
137
+
as well.
138
+
If you don't have docker installed, get and install the [Flagd binary](https://github.com/open-feature/flagd/releases).
136
139
With the flagd configuration in place, start flagd service with the following command.
Copy file name to clipboardExpand all lines: docs/tutorials/getting-started/rust.mdx
+10-6Lines changed: 10 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,8 @@ import FlagdChangeContent from '@site/src/components/custom/tutorial/flagd-chang
10
10
11
11
## Introduction
12
12
13
-
This tutorial explains how to integrate the OpenFeature Rust SDK into an Axum application using the flagd provider. In this guide you will learn how to:
13
+
This tutorial explains how to integrate the OpenFeature Rust SDK into an Axum application using the flagd provider.
14
+
In this guide you will learn how to:
14
15
15
16
- Create a new Rust project with Cargo
16
17
- Update dependencies to include Docker-based flagd configuration
@@ -56,7 +57,9 @@ Adjust version numbers according to the latest releases.
56
57
57
58
### Step 3: Set Up the Application
58
59
59
-
Create or modify your `src/main.rs` with the following code. Notice the diff markers to indicate new additions:
60
+
Create or modify your `src/main.rs` with the following code.
61
+
Notice the diff markers to indicate new additions:
62
+
60
63
```rust
61
64
// diff-remove-block-start
62
65
fnmain() {
@@ -131,8 +134,9 @@ async fn main() {
131
134
132
135
<FlagdContent />
133
136
134
-
Flagd can be run as a [standalone binary](https://flagd.dev/reference/flagd-cli/flagd/) or [Kubernetes Operator](https://openfeature.dev/docs/tutorials/ofo/)
135
-
as well. If you don't have docker installed, get and install the [Flagd binary](https://github.com/open-feature/flagd/releases).
137
+
Flagd can be run as a [standalone binary](https://flagd.dev/reference/flagd-cli/flagd/) or [Kubernetes Operator](https://openfeature.dev/docs/tutorials/ofo/)
138
+
as well.
139
+
If you don't have docker installed, get and install the [Flagd binary](https://github.com/open-feature/flagd/releases).
136
140
With the flagd configuration in place, start flagd service with the following command.
137
141
138
142
```sh
@@ -157,7 +161,7 @@ You should now be greeted with `Hello, welcome to this OpenFeature-enabled websi
157
161
158
162
## Conclusion
159
163
160
-
This tutorial demonstrated how to integrate the OpenFeature Rust SDK with an Axum web server using a custom AppState containing a FlagdProvider. By leveraging flagd service, you can dynamically update feature flags at runtime without needing to redeploy your application.
164
+
This tutorial demonstrated how to integrate the OpenFeature Rust SDK with an Axum web server using a custom AppState containing a FlagdProvider.
165
+
By leveraging flagd service, you can dynamically update feature flags at runtime without needing to redeploy your application.
161
166
162
167
For advanced configuration and more details, refer to the [OpenFeature Rust SDK documentation](https://docs.rs/open-feature-flagd/latest/open_feature_flagd/).
Copy file name to clipboardExpand all lines: docs/tutorials/open-feature-cli.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -349,7 +349,8 @@ generate:
349
349
350
350
## Next Steps
351
351
352
-
Want to dive deeper? Here are some great next steps:
352
+
Want to dive deeper?
353
+
Here are some great next steps:
353
354
354
355
- Explore more generators: Try `openfeature generate` to see all supported languages
355
356
- Set up provider integration: Connect your generated code to a real feature flag service using [OpenFeature providers](/ecosystem?instant_search%5BrefinementList%5D%5Btype%5D%5B0%5D=Provider)
0 commit comments