Alex
a13xa5.bsky.social
Alex
@a13xa5.bsky.social
Learning & sharing OpenFeature knowledge 🏴

Find more on openfeature.dev
*22d -> #KubeCon & a bit of #OpenFeature a day #12*

#EvaluationDetails are a flag evaluation's returned data structure. It contains data like the #flagKey, #errorCode, #variant, #reason & #metadata, such as #contextId or #flagSetId. These can be mapped to #OpenTelemetry #log #record conventions.
March 10, 2025 at 8:19 AM
*25d -> #KubeCon & a bit of #OpenFeature a day #11*

#Events are state changes of the #provider: ready, configuration changed, error, stale
#Event #handlers can be implemented to react to those. Eg. maybe we want to wait until the provider is 'ready' before evaluating feature flags for rendering UI.
March 7, 2025 at 1:42 PM
*27d -> #KubeCon & a bit of #OpenFeature a day #10*

Looking at actual #code examples makes it obvious what #tracking calls are used for. Calling the #track function via the #OF #client and passing #TrackingEventDetails a numeric value and other optional data can be sent to the backend:
March 5, 2025 at 7:53 AM
*29d -> #KubeCon & a bit of #OpenFeature a day #9*

To support tracking the OpenFeature #provider needs to implement the #Tracking interface, which contains a single function called track. This function performs #side-effects to record the tracking #event (e.g. store a specific metric).
March 3, 2025 at 7:45 AM
*32d -> #KubeCon & a bit of #OpenFeature a day #8*

How does #tracking work?
Calling a #track function stores certain #metrics for a user session (e.g. total purchase amount). #Hooks can be used to store info about #flag #evaluations. Combined, one can see, e.g., how a new feature impacts purchases.
February 28, 2025 at 8:20 AM
*34 days until #KubeCon & a bit of #OpenFeature a day Nr. 6*

The #Flag #Evaluation #Life-Cycle has 4 stages: before, after, error and finally.
In each stage, so-called #Hooks can be implemented to perform certain activities such as changing a context variable, #logging or cleaning up resources.
February 26, 2025 at 7:25 AM
*39 days until #KubeCon & a bit of #OpenFeature a day Nr. 5*

There are #client-side and #server-side OpenFeature #SDKs. The main difference lies in the usage of the #evaluation #context which changes with every server request but usually stays the same for a single user on the client-side.
February 21, 2025 at 7:42 AM
*40 days until #KubeCon & a bit of #OpenFeature a day Nr. 4*

What is an OF evaluation context?
A context is a variable that can be used for #dynamic flag #evaluations. A feature can be toggled for specific users by using e.g. the email address as a context variable.
February 20, 2025 at 7:47 AM
*41 days until KubeCon & a bit of OpenFeature a day Nr. 3*

What is an OpenFeature Provider?
A provider is the adapter between the Evaluation API and the feature flag management system. In other words: if a flag value is requested via Eval API the provider knows where to find the flag configuration.
February 19, 2025 at 7:53 AM
*42 days until KubeCon & a bit of OpenFeature a day Nr. 2*

What is the Evaluation API?
It is part of the OpenFeature SDK and, as the name suggests, a standardized API for evaluating feature flags. The resulting value can be used in code to toggle specific features on and off remotely.
February 18, 2025 at 7:18 AM
*43 days until KubeCon & a bit of OpenFeature a day Nr. 1*

Let's tackle the most obvious question to start this with:

What is OpenFeature?
A standardization of feature flagging.
It's an open-source project, part of the CNCF landscape & and standardizes the look and feel of feature flags.
February 17, 2025 at 7:41 AM