code: def configure_tracer(self):
      from lightning.pytorch import Trainer
      from lightning.pytorch.callbacks import Callback
  
      tracer = super().configure_tracer()
  
      class TensorboardServerLauncher(Callback):
          def __init__(self, work):
              # The provided `work` is the
              # current ``PyTorchLightningScript`` work.
              self.w = work
  
          def on_train_start(self, trainer, *_):
              # Add `host` and `port` for tensorboard to work in the cloud.
              cmd = f"tensorboard --logdir='{trainer.logger.log_dir}'"
              server_args = f"--host {self.w.host} --port {self.w.port}"
              Popen(cmd + " " + server_args, shell=True)
  
      def trainer_pre_fn(self, *args, work=None, **kwargs):
          # Intercept Trainer __init__ call
          # and inject a ``TensorboardServerLauncher`` component.
          kwargs["callbacks"].append(TensorboardServerLauncher(work))
          return {}, args, kwargs
  
      # 5. Patch the `__init__` method of the Trainer
      # to inject our callback with a reference to the work.
      tracer.add_traced(
          Trainer, "__init__", pre_fn=partial(trainer_pre_fn, work=self)
      )
      return tracer
  
imports: import io
  import os
  import subprocess
  import sys
  from copy import deepcopy
  from functools import partial
  from subprocess import Popen
  from typing import Dict, List, Optional
  from lightning import BuildConfig, CloudCompute, LightningApp, LightningFlow
  from lightning.app import structures
  from lightning.app.components import TracerPythonScript
  from lightning.app.frontend import StreamlitFrontend
  from lightning.app.storage.path import Path
  from lightning.app.utilities.state import AppState
label_desc: Use image node_id 2 for calling the PyTorchLightningGithubRepoRunner obj's underlying member method code with example usage: obj.configure_tracer() and returns: tracer, dict,  args,  kwargs