### Apache Airflow version

2.6.2

### What happened

I left this as a TODO and will get t it eventually, but if someone wants to look into it before I get time, this may be an easy one:

We are creating an OTLPMetricExporter endpoint with `http` [here](https://github.com/apache/airflow/blob/main/airflow/metrics/otel_logger.py#L400) and should look into whether we can make this work with `https`.


### Definition of Done:
Either implement HTTPS or replace the TODO with a reference citing why we can not.


I am submitting this as an Issue since I will be a little distracted for the next bit and figured someone may be able to have a look in the meantime. Please do not assign it to me, I'll get it when I can is nobody else does.


### Are you willing to submit PR?

- [X] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

"""
    Given an OpenTelemetry Instrument, returns the type of the instrument as a string.
    :param obj: An OTel Instrument or subclass
    :returns: The type() of the Instrument without all the nested class info
    """
    
    
    return type(obj).__name__[1:]
def _get_otel_safe_name(name: str) -> str:
    """
    Verifies that the provided name does not exceed OpenTelemetry's maximum length for metric names.
    :param name: The original metric name
    :returns: The name, truncated to an OTel-acceptable length if required.
    """
    otel_safe_name = name[:OTEL_NAME_MAX_LENGTH]
    if name != otel_safe_name:
        warnings.warn(
            f"Metric name `{name}` exceeds OpenTelemetry's name length limit of "
            f"{OTEL_NAME_MAX_LENGTH} characters and will be truncated to `{otel_safe_name}`."
        )
    return otel_safe_name
def _skip_due_to_rate(rate: float) -> bool:
    if rate < 0:
        raise ValueError("rate must be a positive value.")
    return rate < 1 and random.random() > rate
class _OtelTimer(Timer):