/// <inheritdoc /> public async Task <bool> FlushAsync(MetricsDataValueSource metricsData, CancellationToken cancellationToken = default) { Logger.Trace("Flushing metrics snapshot"); using (var stream = new MemoryStream()) { await Formatter.WriteAsync(stream, metricsData, cancellationToken); var output = Encoding.UTF8.GetString(stream.ToArray()); var result = await _httpClient.WriteAsync(output, Formatter.MediaType, cancellationToken); if (result.Success) { Logger.Trace("Flushed metrics snapshot"); return(true); } Logger.Error(result.ErrorMessage); return(false); } }