private void FlushBuffer()

in src/Elastic.OpenTelemetry.Core/Processors/SpanCompressionProcessor.cs [64:86]


	private void FlushBuffer(Activity data)
	{
		if (!_compressionBuffer.TryGetValue(data, out var compressionBuffer))
			return;

		// This recreates the initial activity now we know it's final end time and can record it.
		using var activity = compressionBuffer.Source.StartActivity(compressionBuffer.DisplayName, compressionBuffer.Kind, compressionBuffer.Parent!.Context,
			compressionBuffer.TagObjects, compressionBuffer.Links, compressionBuffer.StartTimeUtc);

		var property = compressionBuffer.GetCustomProperty("Composite");

		if (property is Composite composite)
		{
			activity?.SetTag("span_compression.strategy", composite.CompressionStrategy);
			activity?.SetTag("span_compression.count", composite.Count);
			activity?.SetTag("span_compression.duration", composite.DurationSum);
		}

		var endTime = compressionBuffer.StartTimeUtc.Add(compressionBuffer.Duration);
		activity?.SetEndTime(endTime);
		activity?.Stop();
		_compressionBuffer.Remove(data);
	}