def _extract_status()

in opentelemetry-exporter-gcp-trace/src/opentelemetry/exporter/cloud_trace/__init__.py [0:0]


def _extract_status(status: trace_api.Status) -> Optional[status_pb2.Status]:
    """Convert a OTel Status to protobuf Status."""
    if status.status_code is StatusCode.UNSET:
        status_proto = None
    elif status.status_code is StatusCode.OK:
        status_proto = status_pb2.Status(code=code_pb2.OK)
    elif status.status_code is StatusCode.ERROR:
        status_proto = status_pb2.Status(
            code=code_pb2.UNKNOWN, message=status.description or ""
        )
    # future added value
    else:
        logger.info(
            "Couldn't handle OTel status code %s, assuming error",
            status.status_code,
        )
        status_proto = status_pb2.Status(
            code=code_pb2.UNKNOWN, message=status.description or ""
        )

    return status_proto