/// <inheritdoc /> public Task WriteAsync( Stream output, MetricsDataValueSource metricsData, CancellationToken cancellationToken = default) { if (output == null) { throw new ArgumentNullException(nameof(output)); } var serializer = new MetricSnapshotSerializer(); using (var streamWriter = new StreamWriter(output, _options.Encoding, bufferSize: 1024, leaveOpen: true)) { using (var textWriter = new MetricSnapshotTextWriter( streamWriter, _options.Separator, _options.Padding, _options.MetricNameFormatter)) { serializer.Serialize(textWriter, metricsData, MetricFields); } } #if NETSTANDARD1_6 return(Task.CompletedTask); #else return(AppMetricsTaskHelper.CompletedTask()); #endif }
/// <inheritdoc /> public async Task WriteAsync( Stream output, MetricsDataValueSource metricsData, CancellationToken cancellationToken = default) { if (output == null) { throw new ArgumentNullException(nameof(output)); } var serializer = new MetricSnapshotSerializer(); using var streamWriter = new StreamWriter(output, _options.Encoding, bufferSize: 1024, leaveOpen: true); await using var textWriter = new MetricSnapshotTextWriter( streamWriter, _options.Separator, _options.Padding, _options.MetricNameFormatter); serializer.Serialize(textWriter, metricsData, MetricFields); }