code: def debug_async_timeout(option_name: str, msg, *args, **kwargs):
      if _debug_opts is None:
          yield
      else:
          timeout_val = getattr(_debug_opts, option_name, -1)
          timeout_task = None
          if timeout_val and timeout_val > 0:
              timeout_task = asyncio.create_task(
                  _log_timeout(timeout_val, msg, *args, **kwargs)
              )
  
          try:
              yield
          finally:
              if timeout_task is not None:
                  timeout_task.cancel()
  
imports: import asyncio.tasks
  import contextvars
  import json
  import logging
  import os
  import time
  from contextlib import contextmanager
  from dataclasses import dataclass
  from typing import List, Optional
  from ..utils import dataslots
label_desc: Use image node_id 4 for calling a global function with example usage: debug_async_timeout(option_name, msg) without return types