Skip to content

Commit 7b1b3f0

Browse files
authored
Refactor OpenFeature integration and add dependency injection support (open-telemetry#2160)
* Refactor OpenFeature integration and add dependency injection support Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com> * Added change to CHANGELOG.md Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com> * Fix formatting in CHANGELOG.md for OpenFeature integration refactor entry Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com> --------- Signed-off-by: André Silva <2493377+askpt@users.noreply.github.com>
1 parent 58ec219 commit 7b1b3f0

File tree

3 files changed

+11
-7
lines changed

3 files changed

+11
-7
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ the release.
1313
([#2150](https://github.com/open-telemetry/opentelemetry-demo/pull/2150))
1414
* [grafana] configure `traceToLogs` integration
1515
([#2162](https://github.com/open-telemetry/opentelemetry-demo/pull/2162))
16+
* [cartservice] Refactor OpenFeature integration and add Dependency Injection support
17+
([#2160](https://github.com/open-telemetry/opentelemetry-demo/pull/2160))
1618

1719
## 2.0.2
1820

src/cart/src/Program.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,18 @@
3131
.AddOpenTelemetry(options => options.AddOtlpExporter())
3232
.AddConsole();
3333

34-
builder.Services.AddSingleton<ICartStore>(x=>
34+
builder.Services.AddSingleton<ICartStore>(x =>
3535
{
3636
var store = new ValkeyCartStore(x.GetRequiredService<ILogger<ValkeyCartStore>>(), valkeyAddress);
3737
store.Initialize();
3838
return store;
3939
});
4040

41-
builder.Services.AddSingleton<IFeatureClient>(x => {
42-
var flagdProvider = new FlagdProvider();
43-
Api.Instance.SetProviderAsync(flagdProvider).GetAwaiter().GetResult();
44-
var client = Api.Instance.GetClient();
45-
return client;
41+
builder.Services.AddOpenFeature(openFeatureBuilder =>
42+
{
43+
openFeatureBuilder
44+
.AddHostedFeatureLifecycle()
45+
.AddProvider(_ => new FlagdProvider());
4646
});
4747

4848
builder.Services.AddSingleton(x =>
@@ -82,7 +82,7 @@
8282

8383
var app = builder.Build();
8484

85-
var ValkeyCartStore = (ValkeyCartStore) app.Services.GetRequiredService<ICartStore>();
85+
var ValkeyCartStore = (ValkeyCartStore)app.Services.GetRequiredService<ICartStore>();
8686
app.Services.GetRequiredService<StackExchangeRedisInstrumentation>().AddConnection(ValkeyCartStore.GetConnection());
8787

8888
app.MapGrpcService<CartService>();

src/cart/src/cart.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
<PackageReference Include="OpenFeature.Contrib.Providers.Flagd" Version="0.3.2" />
3232
<PackageReference Include="OpenFeature.Contrib.Hooks.Otel" Version="0.2.0" />
3333
<PackageReference Include="OpenFeature" Version="2.4.0" />
34+
<PackageReference Include="OpenFeature.DependencyInjection" Version="2.4.0" />
35+
<PackageReference Include="OpenFeature.Hosting" Version="2.4.0" />
3436
</ItemGroup>
3537

3638
<ItemGroup>

0 commit comments

Comments
 (0)