forked from open-telemetry/opentelemetry-demo
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adds a slow span scenario to the recommendation service - add new feature flag - add delay code to service - add scenario description markdown page for cds
- Loading branch information
1 parent
98e85e1
commit 694ccce
Showing
4 changed files
with
72 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
## Course Scenarios | ||
|
||
You can find the original scenario documentation provided by the opentelemetry demo project [here](https://opentelemetry.io/docs/demo/feature-flags/) | ||
|
||
The demo provides several feature flags that you can use to simulate different | ||
scenarios. These flags are managed by [`flagd`](https://flagd.dev), a simple | ||
feature flag service that supports [OpenFeature](https://openfeature.dev). | ||
|
||
Flag values can be changed through the user interface provided at | ||
<http://localhost:8080/feature> when running the demo. Changing the values | ||
through this user interface will be reflected in the flagd service. | ||
|
||
There are two options when it comes to changing the feature flags through the | ||
user interface: | ||
|
||
- **Basic View**: A user friendly view in which default variants (the same | ||
options that need to be changed when configuring through the raw file) can be | ||
selected and saved for each feature flag. Currently, the basic view does not | ||
support fractional targeting. | ||
|
||
- **Advanced View**: A view in which the raw configuration JSON file is loaded | ||
and can be edited within the browser. The view provides the flexibility that | ||
comes with editing a raw JSON file, however it also provides schema checking | ||
to ensure that the JSON is valid and that the provided configuration values | ||
are correct. | ||
|
||
## OpenTelemetry Project Scenarios | ||
|
||
| Scenario | 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 whenever `EmptyCart` is called | | ||
| `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. | | ||
|
||
## Splunk O11y CD Scenarios | ||
|
||
| Scenario | Service(s) | Description | | ||
| ----------------------------------- | ---------------- | --------------------------------------------------------------------------------------------------------- | | ||
| `slowRecommendationSpan` | Recommendation | Create a slow 5sec span in the recommendation service (get_product_list) | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters