code: def run_instruction(
      self, request_iterator, _context
  ) -> tracking_rpc.InstructionResponse:
      try:
          header = next(request_iterator)
          assert header.WhichOneof("instruction") == "header"
  
          resource_handler = header.header.handler
          client_uri = header.header.client_uri
          self._verify_resource_handler(resource_handler, client_uri)
  
          args = decode_tree(utils.unpack_stream(request_iterator))
          checked_args = []
          for arg in args:
              if isinstance(arg, utils.ResourceObject):
                  handler = arg.storage["handler"]
                  self._verify_resource_handler(handler, client_uri)
                  checked_args.append(
                      self.resource_pool[handler][1].ref
                  )
              else:
                  checked_args.append(arg)
  
          method_name = header.header.method_name
  
          resource = self.resource_pool[resource_handler][1].ref
          if method_name.endswith(".setter"):
              attr_name = method_name.split(".")[0]
              setattr(resource, attr_name, checked_args[0])
              result = None
          else:
              attr = getattr(resource, method_name)
              if callable(attr):
                  result = attr(*checked_args)
              else:
                  result = attr
  
          yield tracking_rpc.InstructionResponse(
              header=tracking_rpc.ResponseHeader(
                  version="0.1",
                  status=tracking_rpc.ResponseHeader.Status.OK,
              )
          )
          for chunk in utils.pack_stream(encode_tree(result)):
              yield tracking_rpc.InstructionResponse(message=chunk)
  
      except Exception as e:
          yield tracking_rpc.InstructionResponse(
              header=tracking_rpc.ResponseHeader(
                  version="0.1",
                  status=tracking_rpc.ResponseHeader.Status.ERROR,
                  exception=utils.build_exception(e),
              )
          )
          return
  
file_path: aim/aim/ext/transport/remote_tracking.py
imports: from typing import Dict, Union
  import aim.ext.transport.proto.remote_tracking_pb2
  import aim.ext.transport.proto.remote_tracking_pb2_grpc
  import aim.ext.transport.message_utils
  from aim.ext.transport.handlers import get_handler
  from aim.storage.treeutils import encode_tree, decode_tree
label_desc: Use image node_id 5 for calling the RemoteTrackingServicer obj's underlying member method code with example usage: obj.run_instruction(request_iterator, _context) without return types