in src/Epam.Kafka.PubSub/Common/HealthChecks/PubSubSummaryHealthCheck.cs [33:65]
public Task<HealthCheckResult> CheckHealthAsync(HealthCheckContext context,
CancellationToken cancellationToken = new())
{
StringBuilder sb = new();
HashSet<HealthStatus> result = new();
if (context.Registration.Name is Name or SubscriptionMonitor.Prefix)
{
foreach (KeyValuePair<string, SubscriptionMonitor> sub in this._monitors.Subscriptions)
{
HealthStatus status = new SubscriptionHealthCheck(this._subOptions, this._monitors, sub.Key)
.CheckHealthAsync(context, cancellationToken).GetAwaiter().GetResult().Status;
result.Add(status);
AppendStatus(sb, sub.Key, status);
}
}
if (context.Registration.Name is Name or PublicationMonitor.Prefix)
{
foreach (KeyValuePair<string, PublicationMonitor> pub in this._monitors.Publications)
{
HealthStatus status = new PublicationHealthCheck(this._pubOptions, this._monitors, pub.Key)
.CheckHealthAsync(context, cancellationToken).GetAwaiter().GetResult().Status;
result.Add(status);
AppendStatus(sb, pub.Key, status);
}
}
return CreateResult(result, sb);
}