code: def __init__(
      self,
      settings: "SettingsStatic",
      run_proto: "RunRecord",
      interface: "InterfaceQueue",
      force: bool = False,
  ) -> None:
      self._logdirs = {}
      self._consumer: Optional[TBEventConsumer] = None
      self._settings = settings
      self._interface = interface
      self._run_proto = run_proto
      self._force = force
      # TODO(jhr): do we need locking in this queue?
      self._watcher_queue = queue.PriorityQueue()
      wandb.tensorboard.reset_state()
  
imports: import glob
  import logging
  import os
  import queue
  import socket
  import sys
  import threading
  import time
  from typing import TYPE_CHECKING, Any, Dict, List, Optional
  import wandb
  from wandb import util
  from wandb.sdk.interface.interface import GlobStr
  from wandb.sdk.lib import filesystem
  from wandb.viz import CustomChart
  from .None import run
label_desc: Use image node_id 1 to create a new TBWatcher object  with example: obj = TBWatcher(settings, run_proto, interface, force)