code: def start(options=None):
      """Start profiling.
  
      Args:
        options: profiler options.
  
      Raises:
        ProfilerAlreadyRunningError: If another profiling session is running.
      """
      global _profiler
      with _profiler_lock:
          if _profiler is not None:
              raise ProfilerAlreadyRunningError(
                  "Another profiler is running."
              )
          if context.default_execution_mode == context.EAGER_MODE:
              context.ensure_initialized()
          _profiler = _pywrap_profiler.ProfilerSession()
          try:
              _profiler.start(
                  "", options if options is not None else {}
              )
          except errors.AlreadyExistsError:
              logging.warning(
                  "Another profiler session is running which is probably "
                  "created by profiler server. Please avoid using profiler "
                  "server and profiler APIs at the same time."
              )
              raise ProfilerAlreadyRunningError(
                  "Another profiler is running."
              )
  
imports: import datetime
  import os
  import threading
  from tensorflow.python.client import _pywrap_events_writer
  from tensorflow.python.eager import context
  from tensorflow.python.framework import errors
  from tensorflow.python.platform import gfile
  from tensorflow.python.platform import tf_logging
  from tensorflow.python.profiler.internal import _pywrap_profiler
  from tensorflow.python.util import compat
  from tensorflow.python.util.deprecation import deprecated
label_desc: Use image node_id 1 for calling a global function with example usage: start(options) without return types