Skip to content

Commit 7a74e78

Browse files
committed
Add fqdn to tags
1 parent 17299e2 commit 7a74e78

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

LiveControlGateway/Program.cs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,24 +16,23 @@
1616
var databaseOptions = builder.RegisterDatabaseOptions();
1717
builder.RegisterMetricsOptions();
1818

19-
// TODO Simplify this
20-
builder.Services.Configure<LcgOptions>(builder.Configuration.GetRequiredSection(LcgOptions.SectionName));
19+
var lcgOptions = builder.Configuration.GetRequiredSection(LcgOptions.SectionName).Get<LcgOptions>();
20+
if (lcgOptions is null)
21+
throw new InvalidOperationException($"Missing or invalid configuration for {LcgOptions.SectionName}.");
22+
2123
builder.Services.AddSingleton<IValidateOptions<LcgOptions>, LcgOptionsValidator>();
22-
builder.Services.AddSingleton<LcgOptions>(sp => sp.GetRequiredService<IOptions<LcgOptions>>().Value);
24+
builder.Services.AddSingleton(lcgOptions);
2325

2426
builder.Services
2527
.AddOpenShockMemDB(redisOptions)
2628
.AddOpenShockDB(databaseOptions)
27-
.AddOpenShockServices(configureMetrics: metricsBuilder =>
28-
{
29-
metricsBuilder.AddMeter("OpenShock.Gateway");
30-
})
29+
.AddOpenShockServices(configureMetrics: metricsBuilder => { metricsBuilder.AddMeter("OpenShock.Gateway"); })
3130
.AddOpenShockSignalR(redisOptions);
3231

3332
builder.Services.AddScoped<IDeviceService, DeviceService>();
3433
builder.Services.AddScoped<IControlSender, ControlSender>();
3534
builder.Services.AddScoped<IOtaService, OtaService>();
36-
builder.Services.AddKeyedSingleton("OpenShock.Gateway.Meter", new Meter("OpenShock.Gateway", "1.0.0"));
35+
builder.Services.AddKeyedSingleton("OpenShock.Gateway.Meter", new Meter("OpenShock.Gateway", "1.0.0", [new KeyValuePair<string, object?>("gateway_fqdn", lcgOptions.Fqdn)]));
3736

3837
builder.AddSwaggerExt<Program>();
3938

0 commit comments

Comments
 (0)