protected string BuildHealthSummaryDescription()

in src/Diagnostics.HealthChecks/Internal/OmexHealthCheckPublisher.cs [49:94]


		protected string BuildHealthSummaryDescription(HealthReport report)
		{
			int entriesCount = report.Entries.Count;
			int healthyEntries = 0;
			int degradedEntries = 0;
			int unhealthyEntries = 0;
			foreach (KeyValuePair<string, HealthReportEntry> entryPair in report.Entries)
			{
				switch (entryPair.Value.Status)
				{
					case HealthStatus.Healthy:
						healthyEntries++;
						break;
					case HealthStatus.Degraded:
						degradedEntries++;
						break;
					case HealthStatus.Unhealthy:
					default:
						unhealthyEntries++;
						break;
				}
			}

			StringBuilder descriptionBuilder = StringBuilderPool.Get();
			string description;

			try
			{
				descriptionBuilder
					.AppendFormat("Health checks executed: {0}. ", entriesCount)
					.AppendFormat("Healthy: {0}/{1}. ", healthyEntries, entriesCount)
					.AppendFormat("Degraded: {0}/{1}. ", degradedEntries, entriesCount)
					.AppendFormat("Unhealthy: {0}/{1}.", unhealthyEntries, entriesCount)
					.AppendLine()
					.AppendFormat("Total duration: {0}.", report.TotalDuration)
					.AppendLine();

				description = descriptionBuilder.ToString();
			}
			finally
			{
				StringBuilderPool.Return(descriptionBuilder);
			}

			return description;
		}