Пример #1
0
        /// <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);
        }