internal string GetErrors()
{
using (StringWriter writer = new StringWriter(CultureInfo.InvariantCulture))
{
lock (metricsLock)
{
if (inFlightTimings.Count > 0)
{
string inFlightTimingsValue = string.Join(", ", inFlightTimings.Keys.Select(k => k.ToString()).ToArray());
writer.Write("Timings are still in flight: {0}.", inFlightTimingsValue);
}
if (errors.Count > 0)
{
writer.Write("Logged {0} metrics errors: ", errors.Count);
foreach (MetricError error in errors)
{
// skip empty errors
if (error.Exception == null && string.IsNullOrEmpty(error.Message))
continue;
writer.Write("{0} - {1} - ",
error.Time.ToString(AWSSDKUtils.ISO8601DateFormat, CultureInfo.InvariantCulture),
error.Metric);
if (!string.IsNullOrEmpty(error.Message))
{
writer.Write(error.Message);
writer.Write(";");
}
if (error.Exception != null)
{
writer.Write(error.Exception);
writer.Write("; ");
}
}
}
}
return writer.ToString();
}
}