Feature Flags
The demo provides several feature flags that you can use to simulate different
scenarios. These flags are managed by flagd
, a simple
feature flag service that supports OpenFeature. Flag
values are stored in the src/flagd/demo.flagd.json
file. To enable a flag,
change the defaultVariant
value in the config file for a given flag to “on”.
Feature Flag | Service(s) | Description |
---|---|---|
adServiceFailure | Ad Service | Generate an error for GetAds 1/10th of the time |
adServiceManualGc | Ad Service | Trigger full manual garbage collections in the ad service |
adServiceHighCpu | Ad Service | Trigger high cpu load in the ad service. If you want to demo cpu throttling, set cpu resource limits |
cartServiceFailure | Cart Service | Generate an error for EmptyCart 1/10th of the time |
productCatalogFailure | Product Catalog | Generate an error for GetProduct requests with product ID: OLJCESPC7Z |
recommendationServiceCacheFailure | Recommendation | Create a memory leak due to an exponentially growing cache. 1.4x growth, 50% of requests trigger growth. |
paymentServiceFailure | Payment Service | Generate an error when calling the charge method. |
paymentServiceUnreachable | Checkout Service | Use a bad address when calling the PaymentService to make it seem like the PaymentService is unavailable. |
loadgeneratorFloodHomepage | Loadgenerator | Start flooding the homepage with a huge amount of requests, configurable by changing flagd JSON on state. |
kafkaQueueProblems | Kafka | Overloads Kafka queue while simultaneously introducing a consumer side delay leading to a lag spike. |
imageSlowLoad | Frontend | Utilizes envoy fault injection, produces a delay in loading of product images in the frontend. |
Feature Flag Architecture
Please see the flagd documentation for more information on how flagd works, and the OpenFeature website for more information on how OpenFeature works, along with documentation for the OpenFeature API.
Feedback
Was this page helpful?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!