diff --git a/content/en/docs/demo/_index.md b/content/en/docs/demo/_index.md
index c8ae6b40ccfe..cb35886fbb6d 100644
--- a/content/en/docs/demo/_index.md
+++ b/content/en/docs/demo/_index.md
@@ -23,19 +23,18 @@ Want to deploy the demo and see it in action? Start here.
Want to understand how a particular language's instrumentation works? Start
here.
-| Language | Automatic Instrumentation | Instrumentation Libraries | Manual Instrumentation |
-| ------------- | -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
-| .NET | | [Cart Service](services/cart/) | [Cart Service](services/cart/) |
-| C++ | | | [Currency Service](services/currency/) |
-| Erlang/Elixir | | [Feature Flag Service](services/feature-flag/) | [Feature Flag Service](services/feature-flag/) |
-| Go | | [Accounting Service](services/accounting/), [Checkout Service](services/checkout/), [Product Catalog Service](services/product-catalog/) | [Checkout Service](services/checkout/), [Product Catalog Service](services/product-catalog/) |
-| Java | [Ad Service](services/ad/) | | [Ad Service](services/ad/) |
-| JavaScript | | [Frontend](services/frontend/) | [Frontend](services/frontend/), [Payment Service](services/payment/) |
-| Kotlin | | [Fraud Detection Service](services/fraud-detection/) | |
-| PHP | | [Quote Service](services/quote/) | [Quote Service](services/quote/) |
-| Python | [Recommendation Service](services/recommendation/) | | [Recommendation Service](services/recommendation/) |
-| Ruby | | [Email Service](services/email/) | [Email Service](services/email/) |
-| Rust | | [Shipping Service](services/shipping/) | [Shipping Service](services/shipping/) |
+| Language | Automatic Instrumentation | Instrumentation Libraries | Manual Instrumentation |
+| ---------- | -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
+| .NET | | [Cart Service](services/cart/) | [Cart Service](services/cart/) |
+| C++ | | | [Currency Service](services/currency/) |
+| Go | | [Accounting Service](services/accounting/), [Checkout Service](services/checkout/), [Product Catalog Service](services/product-catalog/) | [Checkout Service](services/checkout/), [Product Catalog Service](services/product-catalog/) |
+| Java | [Ad Service](services/ad/) | | [Ad Service](services/ad/) |
+| JavaScript | | [Frontend](services/frontend/) | [Frontend](services/frontend/), [Payment Service](services/payment/) |
+| Kotlin | | [Fraud Detection Service](services/fraud-detection/) | |
+| PHP | | [Quote Service](services/quote/) | [Quote Service](services/quote/) |
+| Python | [Recommendation Service](services/recommendation/) | | [Recommendation Service](services/recommendation/) |
+| Ruby | | [Email Service](services/email/) | [Email Service](services/email/) |
+| Rust | | [Shipping Service](services/shipping/) | [Shipping Service](services/shipping/) |
## Service Documentation
@@ -46,7 +45,6 @@ found here:
- [Cart Service](services/cart/)
- [Checkout Service](services/checkout/)
- [Email Service](services/email/)
-- [Feature Flag Service](services/feature-flag/)
- [Frontend](services/frontend/)
- [Load Generator](services/load-generator/)
- [Payment Service](services/payment/)
diff --git a/content/en/docs/demo/architecture.md b/content/en/docs/demo/architecture.md
index d97b4892ef14..2f679cbd48dc 100644
--- a/content/en/docs/demo/architecture.md
+++ b/content/en/docs/demo/architecture.md
@@ -28,19 +28,14 @@ productcatalogservice(Product Catalog Service):::golang
quoteservice(Quote Service):::php
recommendationservice(Recommendation Service):::python
shippingservice(Shipping Service):::rust
-featureflagservice(Feature Flag Service):::erlang
-featureflagstore[(Feature Flag Store
(PostgreSQL DB))]
queue[(queue
(Kafka))]
Internet -->|HTTP| frontendproxy
frontendproxy -->|HTTP| frontend
-frontendproxy -->|HTTP| featureflagservice
loadgenerator -->|HTTP| frontendproxy
accountingservice -->|TCP| queue
-cartservice --->|gRPC| featureflagservice
-
checkoutservice --->|gRPC| cartservice --> cache
checkoutservice --->|gRPC| productcatalogservice
checkoutservice --->|gRPC| currencyservice
@@ -59,16 +54,6 @@ frontend -->|gRPC| shippingservice -->|HTTP| quoteservice
frauddetectionservice -->|TCP| queue
-adservice --->|gRPC| featureflagservice
-
-productcatalogservice -->|gRPC| featureflagservice
-
-recommendationservice -->|gRPC| featureflagservice
-
-shippingservice -->|gRPC| featureflagservice
-
-featureflagservice --> featureflagstore
-
end
classDef dotnet fill:#178600,color:white;
diff --git a/content/en/docs/demo/development.md b/content/en/docs/demo/development.md
index a9e1524e25cb..34a3045eeb0c 100644
--- a/content/en/docs/demo/development.md
+++ b/content/en/docs/demo/development.md
@@ -33,12 +33,6 @@ receive hints from IDEs such as IntelliJ or VS Code. It may be necessary to run
- pkg-config
- protobuf-compiler
-### Elixir
-
-- Erlang/OTP 23+
-- Elixir 1.13+
-- Rebar3 3.20+
-
### Go
- Go 1.19+
diff --git a/content/en/docs/demo/docker-deployment.md b/content/en/docs/demo/docker-deployment.md
index dcd51ee95f33..e551a2f1ae03 100644
--- a/content/en/docs/demo/docker-deployment.md
+++ b/content/en/docs/demo/docker-deployment.md
@@ -67,7 +67,6 @@ Once the images are built and containers are started you can access:
- Web store:
- Grafana:
-- Feature Flags UI:
- Load Generator UI:
- Jaeger UI:
- Tracetest UI: , only when using `make start-odd`
diff --git a/content/en/docs/demo/feature-flags.md b/content/en/docs/demo/feature-flags.md
index eeca0b01bc74..bc2202648117 100644
--- a/content/en/docs/demo/feature-flags.md
+++ b/content/en/docs/demo/feature-flags.md
@@ -1,13 +1,14 @@
---
title: Feature Flags
aliases: [feature_flags]
-cSpell:ignore: OLJCESPC7Z
+cSpell:ignore: flagd OLJCESPC7Z
---
-This demo comes with several feature flags which can control failure conditions
-in specific services. By default the flags are disabled. Using the Feature Flags
-UI you will be able to control the status of
-these 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 are stored in the `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 |
| ----------------------- | --------------- | -------------------------------------------------------------------------------------------------------- |
@@ -15,3 +16,10 @@ these feature flags.
| `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` |
| `recommendationCache` | Recommendation | Create a memory leak due to an exponentially growing cache. 1.4x growth, 50% of requests trigger growth. |
+
+## Feature Flag Architecture
+
+Please see the [flagd documentation](https://flagd.dev) for more information on
+how flagd works, and the [OpenFeature](https://openfeature.dev) website for more
+information on how OpenFeature works, along with documentation for the
+OpenFeature API.
diff --git a/content/en/docs/demo/kubernetes-deployment.md b/content/en/docs/demo/kubernetes-deployment.md
index c6064f18c4c7..79207c5fc2d5 100644
--- a/content/en/docs/demo/kubernetes-deployment.md
+++ b/content/en/docs/demo/kubernetes-deployment.md
@@ -73,7 +73,6 @@ With the frontendproxy port-forward set up, you can access:
- Web store:
- Grafana:
-- Feature Flags UI:
- Load Generator UI:
- Jaeger UI:
diff --git a/content/en/docs/demo/requirements/architecture.md b/content/en/docs/demo/requirements/architecture.md
index ea13ba700e8d..e2b8400d6e4e 100644
--- a/content/en/docs/demo/requirements/architecture.md
+++ b/content/en/docs/demo/requirements/architecture.md
@@ -68,16 +68,8 @@ application written in Swift.
## Feature Flag Component
-This component should consist of one (or more) services that provides a simple
-feature flag configuration utility for the main application. It is made up of a
-browser-based client/admin interface and a backend service or services. The role
-of the client is to allow an operator to visualize the available feature flags
-and toggle their state. The server should provide a catalog of feature flags
-that main application services can register with and interrogate for their
-current status and targeting rules.
-
-The feature flag component should be implemented as an Erlang+Elixir/Phoenix
-service. The catalog of feature flags should be stored in a Database.
+Feature flagging is a crucial part of cloud native application development. The
+demo uses OpenFeature, a CNCF incubating project, to manage feature flags.
## Orchestration and Deployment
diff --git a/content/en/docs/demo/services/_index.md b/content/en/docs/demo/services/_index.md
index a5fb164022c7..ce9f0392d942 100644
--- a/content/en/docs/demo/services/_index.md
+++ b/content/en/docs/demo/services/_index.md
@@ -6,20 +6,19 @@ cSpell:ignore: loadgenerator
To visualize request flows, see the [Service Diagram](../architecture/).
-| Service | Language | Description |
-| ----------------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
-| [accountingservice](accounting/) | Go | Processes incoming orders and count the sum of all orders (mock/). |
-| [adservice](ad/) | Java | Provides text ads based on given context words. |
-| [cartservice](cart/) | .NET | Stores the items in the user's shopping cart in Redis and retrieves it. |
-| [checkoutservice](checkout/) | Go | Retrieves user cart, prepares order and orchestrates the payment, shipping and the email notification. |
-| [currencyservice](currency/) | C++ | Converts one money amount to another currency. Uses real values fetched from European Central Bank. It's the highest QPS service. |
-| [emailservice](email/) | Ruby | Sends users an order confirmation email (mock/). |
-| [frauddetectionservice](fraud-detection/) | Kotlin | Analyzes incoming orders and detects fraud attempts (mock/). |
-| [featureflagservice](feature-flag/) | Erlang/Elixir | CRUD feature flag service to demonstrate various scenarios like fault injection & how to emit telemetry from a feature flag reliant service. |
-| [frontend](frontend/) | JavaScript | Exposes an HTTP server to serve the website. Does not require sign up / login and generates session IDs for all users automatically. |
-| [loadgenerator](load-generator/) | Python/Locust | Continuously sends requests imitating realistic user shopping flows to the frontend. |
-| [paymentservice](payment/) | JavaScript | Charges the given credit card info (mock/) with the given amount and returns a transaction ID. |
-| [productcatalogservice](product-catalog/) | Go | Provides the list of products from a JSON file and ability to search products and get individual products. |
-| [quoteservice](quote/) | PHP | Calculates the shipping costs, based on the number of items to be shipped. |
-| [recommendationservice](recommendation/) | Python | Recommends other products based on what's given in the cart. |
-| [shippingservice](shipping/) | Rust | Gives shipping cost estimates based on the shopping cart. Ships items to the given address (mock/). |
+| Service | Language | Description |
+| ----------------------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
+| [accountingservice](accounting/) | Go | Processes incoming orders and count the sum of all orders (mock/). |
+| [adservice](ad/) | Java | Provides text ads based on given context words. |
+| [cartservice](cart/) | .NET | Stores the items in the user's shopping cart in Redis and retrieves it. |
+| [checkoutservice](checkout/) | Go | Retrieves user cart, prepares order and orchestrates the payment, shipping and the email notification. |
+| [currencyservice](currency/) | C++ | Converts one money amount to another currency. Uses real values fetched from European Central Bank. It's the highest QPS service. |
+| [emailservice](email/) | Ruby | Sends users an order confirmation email (mock/). |
+| [frauddetectionservice](fraud-detection/) | Kotlin | Analyzes incoming orders and detects fraud attempts (mock/). |
+| [frontend](frontend/) | JavaScript | Exposes an HTTP server to serve the website. Does not require sign up / login and generates session IDs for all users automatically. |
+| [loadgenerator](load-generator/) | Python/Locust | Continuously sends requests imitating realistic user shopping flows to the frontend. |
+| [paymentservice](payment/) | JavaScript | Charges the given credit card info (mock/) with the given amount and returns a transaction ID. |
+| [productcatalogservice](product-catalog/) | Go | Provides the list of products from a JSON file and ability to search products and get individual products. |
+| [quoteservice](quote/) | PHP | Calculates the shipping costs, based on the number of items to be shipped. |
+| [recommendationservice](recommendation/) | Python | Recommends other products based on what's given in the cart. |
+| [shippingservice](shipping/) | Rust | Gives shipping cost estimates based on the shopping cart. Ships items to the given address (mock/). |
diff --git a/content/en/docs/demo/services/feature-flag.md b/content/en/docs/demo/services/feature-flag.md
deleted file mode 100644
index b39bbd900b53..000000000000
--- a/content/en/docs/demo/services/feature-flag.md
+++ /dev/null
@@ -1,113 +0,0 @@
----
-title: Feature Flag Service
-linkTitle: Feature Flag
-aliases: [featureflagservice]
-cSpell:ignore: ecto featureflag grpcbox nanos oteldemo protos struct
----
-
-This service is written in Erlang/Elixir and it is responsible for creating,
-reading, updating and deleting feature flags in a PostgreSQL DB. It is called by
-Product Catalog and Shipping services.
-
-[Feature Flag Service Source](https://github.com/open-telemetry/opentelemetry-demo/blob/main/src/featureflagservice/)
-
-## Traces
-
-### Initializing Tracing
-
-In order to set up OpenTelemetry instrumentation for
-[Phoenix](https://github.com/open-telemetry/opentelemetry-erlang-contrib/tree/main/instrumentation/opentelemetry_phoenix/),
-and
-[Ecto](https://github.com/open-telemetry/opentelemetry-erlang-contrib/tree/main/instrumentation/opentelemetry_ecto/),
-we need to call the setup methods of their instrumentation packages before
-starting the Supervisor.
-
-This is done in the `application.ex` as follows:
-
-```elixir
-@impl true
- def start(_type, _args) do
- OpentelemetryEcto.setup([:featureflagservice, :repo])
- OpentelemetryPhoenix.setup()
-
- children = [
- # Start the Ecto repository
- Featureflagservice.Repo,
- # Start the PubSub system
- {Phoenix.PubSub, name: Featureflagservice.PubSub},
- # Start the Endpoint (http/https)
- FeatureflagserviceWeb.Endpoint
- # Start a worker by calling: Featureflagservice.Worker.start_link(arg)
- # {Featureflagservice.Worker, arg}
- ]
-
- # See https://hexdocs.pm/elixir/Supervisor.html
- # for other strategies and supported options
- opts = [strategy: :one_for_one, name: Featureflagservice.Supervisor]
- Supervisor.start_link(children, opts)
- end
-```
-
-To add tracing to [grpcbox](https://github.com/tsloughter/grpcbox), we need to
-add the appropriate
-[interceptor](https://github.com/open-telemetry/opentelemetry-erlang-contrib/tree/main/instrumentation/opentelemetry_grpcbox).
-
-This is configured in the `runtime.exs` file, as follows:
-
-```elixir
-config :grpcbox,
- servers: [
- %{
- :grpc_opts => %{
- :service_protos => [:ffs_demo_pb],
- :unary_interceptor => {:otel_grpcbox_interceptor, :unary},
- :services => %{:"oteldemo.FeatureFlagService" => :ffs_service}
- },
- :listen_opts => %{:port => grpc_port}
- }
- ]
-```
-
-### Add attributes to auto-instrumented spans
-
-Adding attributes to a span is accomplished by using `?set_attribute` on the
-span object. In the `get_flag` function two attributes are added to the span.
-
-```elixir
--include_lib("grpcbox/include/grpcbox.hrl").
-
--include_lib("opentelemetry_api/include/otel_tracer.hrl").
-
--spec get_flag(ctx:t(), ffs_demo_pb:get_flag_request()) ->
- {ok, ffs_demo_pb:get_flag_response(), ctx:t()} | grpcbox_stream:grpc_error_response().
-get_flag(Ctx, #{name := Name}) ->
- case 'Elixir.Featureflagservice.FeatureFlags':get_feature_flag_by_name(Name) of
- nil ->
- {grpc_error, {?GRPC_STATUS_NOT_FOUND, <<"the requested feature flag does not exist">>}};
- #{'__struct__' := 'Elixir.Featureflagservice.FeatureFlags.FeatureFlag',
- description := Description,
- enabled := Enabled,
- inserted_at := CreatedAt,
- updated_at := UpdatedAt
- } ->
- ?set_attribute('app.featureflag.name', Name),
- ?set_attribute('app.featureflag.enabled', Enabled),
- {ok, Epoch} = 'Elixir.NaiveDateTime':from_erl({{1970, 1, 1}, {0, 0, 0}}),
- CreatedAtSeconds = 'Elixir.NaiveDateTime':diff(CreatedAt, Epoch),
- UpdatedAtSeconds = 'Elixir.NaiveDateTime':diff(UpdatedAt, Epoch),
- Flag = #{name => Name,
- description => Description,
- enabled => Enabled,
- created_at => #{seconds => CreatedAtSeconds, nanos => 0},
- updated_at => #{seconds => UpdatedAtSeconds, nanos => 0}},
- {ok, #{flag => Flag}, Ctx}
- end.
-```
-
-## Metrics
-
-TBD
-
-## Logs
-
-TBD
diff --git a/content/en/docs/demo/telemetry-features/_index.md b/content/en/docs/demo/telemetry-features/_index.md
index ef1571fc9b6a..6f95e568645c 100644
--- a/content/en/docs/demo/telemetry-features/_index.md
+++ b/content/en/docs/demo/telemetry-features/_index.md
@@ -2,6 +2,7 @@
title: Telemetry Features
linkTitle: Telemetry Features
aliases: [demo_features, features]
+cSpell:ignore: flagd
---
## OpenTelemetry
@@ -51,3 +52,7 @@ aliases: [demo_features, features]
flag service.
- **[Locust](https://locust.io)**: a background job that creates realistic usage
patterns on the website using a synthetic load generator.
+- **[OpenFeature](https://openfeature.dev)**: a feature flagging API and SDK
+ that allows for the enabling and disabling of features in the application.
+- **[flagd](https://flagd.dev)**: a feature flagging daemon that is used to
+ manage feature flags in the demo application.
diff --git a/content/en/docs/demo/telemetry-features/log-coverage.md b/content/en/docs/demo/telemetry-features/log-coverage.md
index 4d31bd2a12d1..986dc4bdcc54 100644
--- a/content/en/docs/demo/telemetry-features/log-coverage.md
+++ b/content/en/docs/demo/telemetry-features/log-coverage.md
@@ -4,22 +4,21 @@ linkTitle: Log Coverage
aliases: [log_service_features, logging-features, ../logging-features]
---
-| Service | Language | OTLP Logs |
-| --------------- | --------------- | --------- |
-| Accounting | Go | 🚧 |
-| Ad | Java | ✅ |
-| Cart | .NET | ✅ |
-| Checkout | Go | 🚧 |
-| Currency | C++ | 🚧 |
-| Email | Ruby | 🚧 |
-| Feature Flag | Erlang / Elixir | 🚧 |
-| Fraud Detection | Kotlin | ✅ |
-| Frontend | TypeScript | 🚧 |
-| Payment | JavaScript | 🚧 |
-| Product Catalog | Go | 🚧 |
-| Quote | PHP | ✅ |
-| Recommendation | Python | ✅ |
-| Shipping | Rust | 🚧 |
+| Service | Language | OTLP Logs |
+| --------------- | ---------- | --------- |
+| Accounting | Go | 🚧 |
+| Ad | Java | ✅ |
+| Cart | .NET | ✅ |
+| Checkout | Go | 🚧 |
+| Currency | C++ | 🚧 |
+| Email | Ruby | 🚧 |
+| Fraud Detection | Kotlin | ✅ |
+| Frontend | TypeScript | 🚧 |
+| Payment | JavaScript | 🚧 |
+| Product Catalog | Go | 🚧 |
+| Quote | PHP | ✅ |
+| Recommendation | Python | ✅ |
+| Shipping | Rust | 🚧 |
Emoji Legend:
diff --git a/content/en/docs/demo/telemetry-features/manual-span-attributes.md b/content/en/docs/demo/telemetry-features/manual-span-attributes.md
index 170d28257158..a8a37eaa616e 100644
--- a/content/en/docs/demo/telemetry-features/manual-span-attributes.md
+++ b/content/en/docs/demo/telemetry-features/manual-span-attributes.md
@@ -54,14 +54,6 @@ This page lists the manual Span Attributes used throughout the demo:
| `app.email.recipient` | string | Email used for order confirmation |
| `app.order.id` | string | Order ID |
-## FeatureFlagService
-
-| Name | Type | Description |
-| ----------------------------- | ------- | ------------------------ |
-| `app.featureflag.name` | string | Name of the feature flag |
-| `app.featureflag.description` | string | Admin description |
-| `app.featureflag.enabled` | boolean | The feature flag status |
-
## Frontend
| Name | Type | Description |
diff --git a/content/en/docs/demo/telemetry-features/metric-coverage.md b/content/en/docs/demo/telemetry-features/metric-coverage.md
index 67d6d1d662b6..539c2c371786 100644
--- a/content/en/docs/demo/telemetry-features/metric-coverage.md
+++ b/content/en/docs/demo/telemetry-features/metric-coverage.md
@@ -4,22 +4,21 @@ linkTitle: Metric Coverage
aliases: [metric_service_features, metric-features, ../metric-features]
---
-| Service | Language | Instrumentation Libraries | Manual Instrumentation | Multiple Instruments | Views | Custom Attributes | Resource Detection | Exemplars |
-| --------------- | --------------- | ------------------------- | ---------------------- | -------------------- | ----- | ----------------- | ------------------ | --------- |
-| Accounting | Go | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
-| Ad | Java | ✅ | ✅ | 🚧 | 🚧 | ✅ | ✅ | ✅ |
-| Cart | .NET | ✅ | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
-| Checkout | Go | ✅ | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
-| Currency | C++ | 🔕 | ✅ | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
-| Email | Ruby | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
-| Feature Flag | Erlang / Elixir | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
-| Fraud Detection | Kotlin | ✅ | 🚧 | 🚧 | 🚧 | 🚧 | ✅ | 🚧 |
-| Frontend | TypeScript | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
-| Payment | JavaScript | 🚧 | ✅ | 🚧 | 🚧 | 🚧 | ✅ | 🚧 |
-| Product Catalog | Go | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
-| Quote | PHP | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
-| Recommendation | Python | ✅ | ✅ | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
-| Shipping | Rust | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
+| Service | Language | Instrumentation Libraries | Manual Instrumentation | Multiple Instruments | Views | Custom Attributes | Resource Detection | Exemplars |
+| --------------- | ---------- | ------------------------- | ---------------------- | -------------------- | ----- | ----------------- | ------------------ | --------- |
+| Accounting | Go | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
+| Ad | Java | ✅ | ✅ | 🚧 | 🚧 | ✅ | ✅ | ✅ |
+| Cart | .NET | ✅ | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
+| Checkout | Go | ✅ | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
+| Currency | C++ | 🔕 | ✅ | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
+| Email | Ruby | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
+| Fraud Detection | Kotlin | ✅ | 🚧 | 🚧 | 🚧 | 🚧 | ✅ | 🚧 |
+| Frontend | TypeScript | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
+| Payment | JavaScript | 🚧 | ✅ | 🚧 | 🚧 | 🚧 | ✅ | 🚧 |
+| Product Catalog | Go | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
+| Quote | PHP | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
+| Recommendation | Python | ✅ | ✅ | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
+| Shipping | Rust | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
Emoji Legend:
diff --git a/content/en/docs/demo/telemetry-features/trace-coverage.md b/content/en/docs/demo/telemetry-features/trace-coverage.md
index 2b3dcc6a6151..4fcf56e1b1eb 100644
--- a/content/en/docs/demo/telemetry-features/trace-coverage.md
+++ b/content/en/docs/demo/telemetry-features/trace-coverage.md
@@ -4,22 +4,21 @@ linkTitle: Trace Coverage
aliases: [trace_service_features, trace-features, ../trace-features]
---
-| Service | Language | Instrumentation Libraries | Manual Span Creation | Span Data Enrichment | RPC Context Propagation | Span Links | Baggage | Resource Detection |
-| ------------------ | --------------- | ------------------------- | -------------------- | -------------------- | ----------------------- | ---------- | ------- | ------------------ |
-| Accounting Service | Go | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | ✅ |
-| Ad | Java | ✅ | ✅ | ✅ | 🔕 | 🔕 | 🔕 | 🚧 |
-| Cart | .NET | ✅ | ✅ | ✅ | 🔕 | 🔕 | 🔕 | ✅ |
-| Checkout | Go | ✅ | ✅ | ✅ | 🔕 | 🔕 | 🔕 | ✅ |
-| Currency | C++ | 🔕 | ✅ | ✅ | ✅ | 🔕 | 🔕 | 🚧 |
-| Email | Ruby | ✅ | ✅ | ✅ | 🔕 | 🔕 | 🔕 | 🚧 |
-| Feature Flag | Erlang / Elixir | ✅ | ✅ | ✅ | 🔕 | 🔕 | 🔕 | 🚧 |
-| Fraud Detection | Kotlin | ✅ | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
-| Frontend | JavaScript | ✅ | ✅ | ✅ | 🔕 | ✅ | ✅ | ✅ |
-| Payment | JavaScript | ✅ | ✅ | ✅ | 🔕 | 🔕 | ✅ | ✅ |
-| Product Catalog | Go | ✅ | 🔕 | ✅ | 🔕 | 🔕 | 🔕 | 🚧 |
-| Quote Service | PHP | ✅ | ✅ | ✅ | 🔕 | 🔕 | 🔕 | 🚧 |
-| Recommendation | Python | ✅ | ✅ | ✅ | 🔕 | 🔕 | 🔕 | 🚧 |
-| Shipping | Rust | 🔕 | ✅ | ✅ | ✅ | 🔕 | 🔕 | 🚧 |
+| Service | Language | Instrumentation Libraries | Manual Span Creation | Span Data Enrichment | RPC Context Propagation | Span Links | Baggage | Resource Detection |
+| ------------------ | ---------- | ------------------------- | -------------------- | -------------------- | ----------------------- | ---------- | ------- | ------------------ |
+| Accounting Service | Go | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | ✅ |
+| Ad | Java | ✅ | ✅ | ✅ | 🔕 | 🔕 | 🔕 | 🚧 |
+| Cart | .NET | ✅ | ✅ | ✅ | 🔕 | 🔕 | 🔕 | ✅ |
+| Checkout | Go | ✅ | ✅ | ✅ | 🔕 | 🔕 | 🔕 | ✅ |
+| Currency | C++ | 🔕 | ✅ | ✅ | ✅ | 🔕 | 🔕 | 🚧 |
+| Email | Ruby | ✅ | ✅ | ✅ | 🔕 | 🔕 | 🔕 | 🚧 |
+| Fraud Detection | Kotlin | ✅ | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
+| Frontend | JavaScript | ✅ | ✅ | ✅ | 🔕 | ✅ | ✅ | ✅ |
+| Payment | JavaScript | ✅ | ✅ | ✅ | 🔕 | 🔕 | ✅ | ✅ |
+| Product Catalog | Go | ✅ | 🔕 | ✅ | 🔕 | 🔕 | 🔕 | 🚧 |
+| Quote Service | PHP | ✅ | ✅ | ✅ | 🔕 | 🔕 | 🔕 | 🚧 |
+| Recommendation | Python | ✅ | ✅ | ✅ | 🔕 | 🔕 | 🔕 | 🚧 |
+| Shipping | Rust | 🔕 | ✅ | ✅ | ✅ | 🔕 | 🔕 | 🚧 |
Emoji Legend:
diff --git a/content/en/docs/languages/erlang/getting-started.md b/content/en/docs/languages/erlang/getting-started.md
index a74a0e355b41..85b40f720b6a 100644
--- a/content/en/docs/languages/erlang/getting-started.md
+++ b/content/en/docs/languages/erlang/getting-started.md
@@ -574,7 +574,3 @@ Enrich your instrumentation with more
You'll also want to configure an appropriate exporter to
[export your telemetry data](/docs/languages/erlang/exporters) to one or more
telemetry backends.
-
-If you'd like to explore a more complex example, take a look at the
-[OpenTelemetry Demo](/docs/demo/), which includes the Erlang/Elixir based
-[Feature Flag Service](/docs/demo/services/feature-flag/).
diff --git a/content/en/docs/languages/go/getting-started.md b/content/en/docs/languages/go/getting-started.md
index 592fc0cb0893..768eb94403ad 100644
--- a/content/en/docs/languages/go/getting-started.md
+++ b/content/en/docs/languages/go/getting-started.md
@@ -1035,7 +1035,7 @@ telemetry backends.
If you'd like to explore a more complex example, take a look at the
[OpenTelemetry Demo](/docs/demo/), which includes the Go based
-[Checkout Service](/docs/demo/services/feature-flag/),
+[Checkout Service](/docs/demo/services/checkout/),
[Product Catalog Service](/docs/demo/services/product-catalog/), and
[Accounting Service](/docs/demo/services/accounting/)
diff --git a/data/registry/instrumentation-elixir-ecto.yml b/data/registry/instrumentation-elixir-ecto.yml
index caa059f576bc..05fcf7d8bcbb 100644
--- a/data/registry/instrumentation-elixir-ecto.yml
+++ b/data/registry/instrumentation-elixir-ecto.yml
@@ -13,7 +13,6 @@ authors:
- name: OpenTelemetry Authors
urls:
repo: https://github.com/open-telemetry/opentelemetry-erlang-contrib/tree/main/instrumentation/opentelemetry_ecto
- demo: /docs/demo/services/feature-flag/
createdAt: 2022-03-23
package:
registry: hex
diff --git a/static/refcache.json b/static/refcache.json
index 28ee56952be7..c6643b36e81e 100644
--- a/static/refcache.json
+++ b/static/refcache.json
@@ -1915,6 +1915,10 @@
"StatusCode": 200,
"LastSeen": "2024-01-30T05:18:24.637098-05:00"
},
+ "https://flagd.dev": {
+ "StatusCode": 206,
+ "LastSeen": "2024-03-07T10:30:35.468496-05:00"
+ },
"https://flagd.dev/reference/monitoring/#opentelemetry": {
"StatusCode": 206,
"LastSeen": "2024-01-30T16:06:38.046811-05:00"
@@ -2727,6 +2731,10 @@
"StatusCode": 200,
"LastSeen": "2024-01-18T20:06:18.89171-05:00"
},
+ "https://github.com/open-feature/flagd": {
+ "StatusCode": 200,
+ "LastSeen": "2024-02-27T10:05:21.050757-05:00"
+ },
"https://github.com/open-telemetry": {
"StatusCode": 200,
"LastSeen": "2024-01-18T19:10:19.568632-05:00"
@@ -5351,6 +5359,10 @@
"StatusCode": 206,
"LastSeen": "2024-01-30T16:03:38.301664-05:00"
},
+ "https://openfeature.dev": {
+ "StatusCode": 206,
+ "LastSeen": "2024-02-27T10:05:20.149319-05:00"
+ },
"https://openfeature.dev/": {
"StatusCode": 206,
"LastSeen": "2024-01-30T16:06:32.46557-05:00"