class_docstr: TFWriter uses tensorflow file writers and summary operations to write out
  tfevent files containing scalar batch metrics.
code: def _add_event(
      self, event: event_pb2.Event, step: Optional[int]
  ) -> None:
      # _add_event is vendored from TensorFlow: tensorflow/python/summary/writer/writer.py
      event.wall_time = time.time()
      if step is not None:
          event.step = int(step)
      self.writer.add_event(event)
  
file_path: determined/harness/determined/tensorboard/metric_writers/tensorflow.py
imports: import time
  from typing import Optional, Set, Union
  import numpy
  import tensorflow
  from packaging import version
  from tensorflow.core.framework import summary_pb2
  from tensorflow.core.util import event_pb2
  from tensorflow.python.summary.writer.event_file_writer import EventFileWriter
  from determined import tensorboard
label_desc: Use image node_id 4 for calling the TFWriter obj's underlying member method code with example usage: obj._add_event(event, step) without return types