def METHOD_NAME(
    tracer: Tracer,
    channel: Channel,
    properties: BasicProperties,
    task_name: str,
    destination: str,
    span_kind: SpanKind,
    operation: Optional[MessagingOperationValues] = None,
) -> Optional[Span]:
    if context.get_value("suppress_instrumentation") or context.get_value(
        _SUPPRESS_INSTRUMENTATION_KEY
    ):
        return None
    task_name = properties.type if properties.type else task_name
    span = tracer.start_span(
        name=_generate_span_name(destination, operation),
        kind=span_kind,
    )
    if span.is_recording():
        _enrich_span(span, channel, properties, task_name, operation)
    return span