code: def __init__(
      self,
      interface: "Interface",
      settings: "SettingsStatic",
      shutdown_event: threading.Event,
  ) -> None:
      self.name = self.__class__.__name__.lower()
      self.service_addr = self.get_service_addr()
      self.metrics: List[Metric] = [TPUUtilization(self.service_addr)]
  
      self.metrics_monitor = MetricsMonitor(
          self.name,
          self.metrics,
          interface,
          settings,
          shutdown_event,
      )
  
file_path: wandb/wandb/sdk/internal/system/assets/tpu.py
imports: import logging
  import os
  import threading
  from collections import deque
  from typing import TYPE_CHECKING, List, Optional
  from .aggregators import aggregate_mean
  from .asset_registry import asset_registry
  from .interfaces import Interface, Metric, MetricsMonitor
label_desc: Use image node_id 1 to create a new TPU object  with example: obj = TPU(interface, settings, shutdown_event)