public async Task SuccessAsync(Replicatable replicatable, TimeSpan replicatedIn = default, CancellationToken cancellationToken = default) { var queuedTelemetry = new QueuedTelemetry { Name = _telemetryConfiguration.QueuedTelemetryName ?? TelemetryConfigurationDefaults.QueuedTelemetryName, Duration = replicatedIn }; queuedTelemetry.Metrics[_telemetryConfiguration.QueuedTelemetryMetricAggregatedCount ?? TelemetryConfigurationDefaults.QueuedTelemetryMetricAggregatedCount] = 1; queuedTelemetry.Metrics[_telemetryConfiguration.QueuedTelemetryMetricAggregatedDuration ?? TelemetryConfigurationDefaults.QueuedTelemetryMetricAggregatedDuration] = replicatedIn.TotalSeconds; if (replicatable.SizeInBytes.HasValue) { queuedTelemetry.Metrics[_telemetryConfiguration.QueuedTelemetryMetricAggregatedSize ?? TelemetryConfigurationDefaults.QueuedTelemetryMetricAggregatedSize] = (double)replicatable.SizeInBytes; } AddDiagnosticInfo(queuedTelemetry.Properties, replicatable.DiagnosticInfo); _telemetryQueue.Queue(queuedTelemetry); await Task.CompletedTask; }
public void Queue(QueuedTelemetry telemetry) { _telemetry.Enqueue(telemetry); }