public override void OnEnd()

in src/Elastic.OpenTelemetry.Core/Processors/SpanCompressionProcessor.cs [29:62]


	public override void OnEnd(Activity data)
	{
		if (data.Parent is null)
		{
			base.OnEnd(data);
			return;
		}

		var property = data.GetCustomProperty("IsExitSpan");

		if (!IsCompressionEligible(data, property) || data.Parent!.IsStopped)
		{
			FlushBuffer(data.Parent!);
			base.OnEnd(data);
			return;
		}

		if (_compressionBuffer.TryGetValue(data.Parent!, out var compressionBuffer))
			if (!compressionBuffer.TryCompress(data))
			{
				FlushBuffer(data.Parent!);
				_compressionBuffer.Add(data.Parent!, data);
			}
			else
			{
				_compressionBuffer.Add(data.Parent!, data);
				data.ActivityTraceFlags &= ~ActivityTraceFlags.Recorded;
			}

		base.OnEnd(data);

		static bool IsCompressionEligible(Activity data, object? property) =>
			property is true && data.Status is ActivityStatusCode.Ok or ActivityStatusCode.Unset;
	}